Parallel is a 2d Puzzle game made to help students understand the core concepts of Concurrent and Parallel Programming. Students have been found to struggle with a transition from learning standard programming techniques to the more complex ones required to write code that accounts for parallelism and concurrency issues that arise in modern computer system architecture. Working with professors of the subject, this game was made to mitigate this struggle by creating an abstracted version of the concepts students need to understand so they can more directly engage with them, then apply this knowledge to actual programming tasks.

As seen in the trailer below, Parallel is a game about coordinating the movements of arrows along tracks. Players can place semaphores to control the movement of arrows in certain areas and signals to trigger events around the level to prevent arrows from interfering with the tasks of others. This game has existed in many states during its lifecycle since 2016. At the beginning of the project, I aided in designing the game and then moved on to designing all of the puzzles present in the experience. As work on this project has ramped up again I have contributed to the design of a new gameplay tutorial as well as data visualizations meant to help players reflect on their performance in the game compared to other players so they can improve in the future.

Download Parallel from itch.io

Playing Parallel requires an installation of Java 10.0.2 or higher, and JDK 8 or higher

Below you can take a look at some of the publications related to this project that I am a co-author on:

Parallel: Facilitate Learning Concurrent and Parallel Programming
K. Alderfer, J. Zhu, E. Freed, B. Smith, B. Char and S. Ontañón.
Nov 15, 2019. Learning, Education & Games: 100 Games to Use in the Classroom, (Vol. 3), K. Schrier, Eds., Pittsburgh, The ETC Press

Lessons Learned from an Interactive Educational Computer Game About Concurrent Programming
K. Alderfer, B. Smith, S. Ontanon, B. Char, J. Nebolsky, J. Zhu, A. Furqan, E. Freed, J. Patterson, J. Valls-Vargas.
2018. Proceedings of the 2018 Special Interest Group in Computer Science Education of the Association for Computing Machinery Symposium (ACM SIGCSE 2018)

Designing Visual Metaphors for an Educational Game for Parallel Programming
S. Ontañón, J. Zhu, B. Smith, B. Char, E. Freed, An. Furqan, M. Howard, An Nguyen, J. Patterson, and J. Valls-Vargas.
2017. Proceedings of the 2017 CHI Conference Extended Abstracts on Human Factors in Computing Systems (CHI EA ’17)