David Xiao
MIT EECS - Quanta Computer Undergraduate Research and Innovation Scholar
Games and Puzzles for Teaching Software Engineering
2013–2014
Robert C. Miller
More and more people are learning how to code using free online courses provided by edX, Coursera, Udacity, Codecademy, etc. These resources give practice with syntax, semantics, and writing code that seems to work, but not with writing beautiful code — programs that are easy to understand, safe from bugs, and ready for change. How can we provide online experiences that help transform nascent coders into great software engineers? My project is to develop exciting and engaging programming puzzles and games — including single-player and multiplayer, cooperative and competitive, with automatic or human-powered judging — that give exposure to and practice with software engineering principles, embodied in both low-level coding style and high-level design patterns.
I have previously been a lab assistant for 6.01, 6.004, and 8.02. I had an internship at Microsoft improving the desktop browser experience for users of Visual Studio LightSwitch. I’ve also worked at Palantir creating a web application for presenting rich graphical data, and improving conflict resolution within distributed server networks.