ACM Distinguished Speakers Program:  talks by and with technology leaders and innovators

Teaching and Learning Programming and Software Engineering via Interactive Gaming

Speakers: Tao Xie
Topic(s): Artificial Language/Machine Learning,Cloud and Infomation Retrieval,Computer Graphics, Visualization and Interactive Techniques,Game Development,Human Computer Interaction,Mobile Computing,Software Engineering,Web Topics


Pex4Fun ( and Code Hunt (, released by Microsoft Research, offer a web-based educational gaming platform for teaching and learning programming and software engineering. Such platform can be used to teach and learn programming and software engineering at many levels, from high school all the way through graduate courses. With such platform, a student edits code in any browser -- with Intellisense -- and the platform executes it and analyzes it in the cloud. The platform connects teachers, curriculum authors, and students in a unique social experience, tracking and streaming progress updates in real time. In particular, the platform nds interesting and unexpected input values (with Pex,, an advanced test-generation tool) that help students understand what their code is actually doing. The real fun starts with coding duels where a student writes code to implement a teacher's secret specication (in the form of sample-solution code not visible to the student). The platform nds any discrepancies in behavior between the student’s code and the secret specication. Such discrepancies are given as feedback to the student to guide how to x the student's code to match the behavior of the secret specication. 


About this Lecture

Number of Slides: 50
Duration: 60 minutes
Languages Available: English
Last Updated: 06-10-2014
Request this Lecture

To request this particular lecture, please complete this online form.
Request a Tour

To request a tour with this speaker, please complete this online form.

All requests will be sent to ACM headquarters for review.
Featured Speaker

Keith Cheverst
Lancaster University

Get Involved!
Help improve the DSP by nominating a speaker or providing feedback to ACM.