Railway Quest: A Gamified Teaching Platform for Concurrent and Parallel Programming - Babazadeh, Masiar; Frei, Diego; Bortolamei, Massimo; Gelsomini, Mirko; Cicco, Adriano; Bruno, Loris; Leidi, Tiziano (European conference on games based learning, 2025)
Teaching concurrent and parallel programming presents substantial challenges, primarily due to its conceptual complexity and the required paradigm shift from sequential programming. Railway Quest is a gamified digital platform designed to facilitate students' learning of multithreaded programming concepts through an interactive approach. The platform translates abstract programming challenges into train locomotion scenarios, wherein trains represent threads that must move along tracks while avoiding crashes, resource access conflicts, and indefinite delays. By leveraging game-based learning and gamification principles, Railway Quest enhances students’ motivation and engagement through a visual and interactive representation of multithreaded executions and concurrency issues. The platform allows students to develop and execute code-based solutions, immediately observing their impact in real-time simulations presented through a low-poly isometric interface. Such approach significantly helps in conceptualizing threading constructs and synchronization mechanisms. Railway Quest supports both integrated and remote learning environments, making it an effective educational tool, especially for distance learning. The platform has been deployed in a university course in Spring 2025, with the aim to bridge the gap between theoretical knowledge and practical problem-solving in concurrent and parallel programming. Preliminary data from 45 students suggests a positive impact on students' understanding of key concurrency problems such as race conditions, deadlocks, and starvation, as well as their proficiency in utilizing synchronization tools like mutexes and conditional variables.