I work in the area of programming languages and software engineering in MSR’s Redmond Lab, as a member of the RiSE 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 to over 800,000 year-seven students in the UK, and then started Microsoft MakeCode, a web-based platform to support CS education. Working with the Micro:bit Education Foundation, over six million micro:bits have been distributed worldwide. More recently, I’ve worked on Jacdac, a new platform for creating electronic devices.
- Plug-and-play Physical Computing with Jacdac, Ubicomp 2022, September 2022
- How families design and program games: a qualitative analysis of a 4-week online in-home study. IDC 2022, June 2022
- Web-based Programming for Low-cost Gaming Handhelds, FDG 2021, August 2021 (Best paper)
- TileCode: Creation of Video Games on Gaming Handhelds, UIST 2020, October 2020.
- Physical Computing: A Key Element of Modern Computer Science Education, IEEE Computer, April 2020
- The BBC micro:bit – From the U.K. to the World, Communications of the ACM, March 2020.
- ICSE 2017 Most Influential Paper Award – Feedback-Directed Random Test Generation, ICSE 2007
- PLDI 2011 Most Influential Paper Award: Automatic predicate abstraction of C programs, PLDI 2001
- CAV 2011 Award: SLAM software model checker
- 2011 ACM Fellow
- PLDI 2007 Most Influential Paper Award: Exploiting Hardware Performance Counters with Flow and Context Sensitive Profiling, PLDI 1997
- Static TypeScript: an implementation of a static compiler for the TypeScript language, MPLR, June 2019.
- MakerArcade: Using Gaming and Physical Computing for Playful Making, Learning, and Creativity, CHI, May 2019.
- MakeCode and CODAL: Intuitive and Efficient Embedded Systems Programming for Education, LCTES 2018, June 2018.
- See my papers 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!