Learning Parallel Programming Concepts Through an Adaptive Game


Game Overview

Parallel is a 2D puzzle game where players manipulate arrows by placing sempahores and buttons in order to achieve the map objectives. The game uses metaphors to represent abstract programming concepts in the game. Parallel is designed for teaching parallel programming education for CS undergraduate curricula, as well as for gathering insights into how students learn, and solve parallel programming problems.

Project Overview

This research project “Learning Parallel Programming Concepts Through an Adaptive Game” is a collaboration between Drs. Santiago Ontañón (Computer Science, PI), Brian Smith (School of Education), Jichen Zhu (Digital Media) and Bruce Char (Computer Science).


The Cyberlearning and Future Learning Technologies Program funds efforts that will help envision the next generation of learning technologies and advance what we know about how people learn in technology-rich environments. Cyberlearning Exploration (EXP) Projects explore the viability of new kinds of learning technologies by designing and building new kinds of learning technologies and studying their possibilities for fostering learning and challenges to using them effectively. This particular 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.






Conference Proceedings 

  • K. Alderfer, J. Zhu, E. Freed, B. Smith, B. Char and S. Ontañón, “Parallel: Facilitate Learning Concurrent and Parallel Programming,” in Learning, Education & Games: 100 Games to Use in the Classroom, (Vol. 3), K. Schrier, Eds., Pittsburgh, The ETC Press, forthcoming
  • B. Char, K. Aldefer, B. Smith, S. Ontanon, J. Nebolsky and J. Zhu, “Lessons Learned from an Interactive Educational Computer Game About Concurrent Programming,” in Proceedings of the 2018 Special Interest Group in Computer Science Education of the Association for Computing Machinery Symposium (ACM SIGCSE 2018), pp. 1077-1077.
  • J. Valls-Vargas, J. Zhu and S. Ontañón, “Graph Grammar-based Controllable Generation of Puzzles for a Learning Game about Parallel Programming”. in Proceedings of the 12th International Conference on the Foundations of Digital Games (FDG ’17), Hyannis, MA, 2017, Article No. 7 [Link]
  • S. Ontañón, J. Zhu, B. Smith, B. Char, E. Freed, An. Furqan, M. Howard, An Nguyen, J. Patterson, and J. Valls-Vargas,  “Designing Visual Metaphors for an Educational Game for Parallel Programming,” in Proceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems (CHI EA ’17), Denver, CO, 2017, pp. 2818-2824. [PDF]