PIs: Santiago Ontanon, Brian Smith, Jichen Zhu, Bruce Char
This project will develop educational games that adapt to the skill level of the user and will conduct research on using them to teach concepts from computer programming.
Modern computing is increasingly handled in a parallel fashion and despite the growing body of work on how to teach parallel programming, little is understood about the learning of this subject. This project will shed light on the challenge of learning parallel programming and gather initial data on ways to scaffold it in college-level courses. We propose to develop a genre of adaptive learning games in which we will gather data on how experts and novices address parallel programming problems and study ways to scaffold learning. Our research will advance understandings of how people learn concepts associated with parallel programming, as well as investigating which activities enhance the learning process in this domain. We will generate content tailored to specific students through a method entitled procedural content generation. This work will transform the transition from sequential programming to parallel programming in undergraduate computer science curricula and advance personalized learning. We will disseminate our prototype and results via the CSinParallel network, an NSF-funded national organization that works to introduce concurrent, parallel, and distributed computing concepts into a greater percentage of computer science curricula. The research will further our understanding of how students learn parallel programming concepts and contribute to training a competitive workforce that is better prepared for today’s parallel computing world.