Complex distributed systems are critical in the modern computing experience, yet many undergraduate computing curricula give students little exposure to the full complexity of these systems. Investigators have developed a prototype gaming environment, called DWORLD, to provide students more realistic experiences with distributed systems. The current project extends the capabilities of this environment. Students compete by addressing a variety of issues in a virtualized distributed system in order to keep the system healthy and operating normally. Game scenarios are designed to enhance student skills and knowledge of key concepts such as scalability, robustness, fault-tolerance and the ability to build a distributed system. Expected outcomes include a software package that can be easily adopted by other faculty and a collection of lab modules and assignments.
The game is being piloted in undergraduate courses at Polytechnic University of New York and CUNY Brooklyn College. Workshops are used to train faculty how and why to use the gaming environment in their courses. As part of a broader context, the project assesses the potential for games as an important tool in STEM education.
We have been working to build a tool for teaching about distributed systems and to evaluate it. This project expanded on another project called DWORLD. Development efforts were focused on expanding the underlying distributed infrastructure and building a novel interface. At the same time we tested the gaming environment in a classroom setting. In addition to the testing done at Polytechnic University, we also tested the gaming environment in a classroom setting at Brooklyn College. Although there is more work to be done, we found a high level of enthusiasm as students participated in group competition using the gaming environment. Students enjoyed learning and applying their knowledge in an environment of administrating a large distributed network that experienced service outages that would be seen in a real environment. We see progress and the potential for more extensive development of this paradigm and have also learnt how to tailor the environment for use in the classroom. In addition to testing this in the classroom for students in Polytechnic University and Brooklyn College, In Summer of 2012 3 high school students participated in a summer experience that involved the use and development of the game. We believe that using a gaming environment such as ours is a good way to impart knowledge. It combines knowledge with hands-on application in a real-world distributed system situation.