About
I work in the area of programming languages and software engineering in MSR’s Redmond Lab (opens in new tab), as a member of the RiSE (opens in new tab) group. Over the past five years, I’ve turned my attention from problems plaguing professional software developers to focus on simplifying the creation of physical computing systems for the rest of society. I led the team from Microsoft that helped to deliver the BBC micro:bit (opens in new tab) to over 800,000 year-seven students in the UK, and then started Microsoft MakeCode (opens in new tab), a web-based platform to support CS education. Working with the Micro:bit Education Foundation, over nine million micro:bits have been distributed worldwide to over 60 countries. More recently, I’ve worked on Jacdac (opens in new tab), a plug-and-play system for microcontollers, and MicroCode (opens in new tab), a portable programming environment for the micro:bit.
Recent Activities
- Jacdac: Service-Based Prototyping of Embedded Systems (opens in new tab), PLDI 2024 (opens in new tab)
- Meet MicroCode: a Live and Portable Programming Tool for the BBC micro:bit (opens in new tab), IDC 2024 (opens in new tab)
- Inclusive Digital Maker Futures for Children via Physical Computing (opens in new tab), June 17 2024
- Plug-and-play Physical Computing with Jacdac (opens in new tab), Ubicomp 2022 (opens in new tab), September 2022
Awards
- ICSE 2017 Most Influential Paper Award (opens in new tab) – Feedback-Directed Random Test Generation (opens in new tab), ICSE 2007
- PLDI 2011 Most Influential Paper Award (opens in new tab): Automatic predicate abstraction of C programs (opens in new tab), PLDI 2001
- CAV 2011 Award (opens in new tab): SLAM (opens in new tab) software model checker
- 2011 ACM Fellow (opens in new tab)
- PLDI 2007 Most Influential Paper Award (opens in new tab): Exploiting Hardware Performance Counters with Flow and Context Sensitive Profiling (opens in new tab), PLDI 1997
Other Papers
- How families design and program games: a qualitative analysis of a 4-week online in-home study (opens in new tab). IDC 2022 (opens in new tab), June 2022
- Web-based Programming for Low-cost Gaming Handhelds (opens in new tab), FDG 2021 (opens in new tab), August 2021 (Best paper (opens in new tab))
- TileCode: Creation of Video Games on Gaming Handhelds (opens in new tab), UIST 2020 (opens in new tab), October 2020.
- Physical Computing: A Key Element of Modern Computer Science Education (opens in new tab), IEEE Computer, April 2020
- The BBC micro:bit – From the U.K. to the World (opens in new tab), Communications of the ACM, March 2020.
- Static TypeScript: an implementation of a static compiler for the TypeScript language (opens in new tab), MPLR, June 2019.
- MakerArcade: Using Gaming and Physical Computing for Playful Making, Learning, and Creativity (opens in new tab), CHI, May 2019.
- MakeCode and CODAL: Intuitive and Efficient Embedded Systems Programming for Education, (opens in new tab) LCTES 2018, (opens in new tab) June 2018.
- See my papers (opens in new tab) for more details.
Microsoft Research Podcast
From player to creator: Designing video games on gaming handhelds with Microsoft TileCode
In this webinar, led by Dr. Thomas Ball, Partner Researcher at Microsoft Research, and Stefania Druga, a PhD student at the University of Washington, learn how children and families are using TileCode to create retro video games on handheld gaming devices. You’ll gain an understanding of programming language design and the connections between video game mechanics and computational concepts. You’ll also learn how jointly designing new experiences benefits children and parents.
Hacking the runway with MakeCode with Dr. Thomas Ball and Dr. Teddy Seyed
Episode 98 | November 13, 2019 - Computer programming has often been perceived as the exclusive domain of computer scientists and software engineers. But that’s changing, thanks to the work of people like Dr. Thomas Ball, a Partner Researcher in the RiSE group at Microsoft Research, and Dr. Teddy Seyed, a post-doctoral researcher in the same group. Their goal is to make programming accessible to non-programmers in places like the classroom, the workshop… and even the runway! On the podcast, Tom and Teddy talk about physical computing through platforms like MakeCode, a simplified programming environment that makes it easier for young people – and other computer science neophytes – to start coding with programmable microcontrollers. They also tell us all about Project Brookdale, where they did a collaborative fashion show that gave emerging designers the tools to embed technology in their garments and produce wearables you’d actually want to be seen in!