Aim/Purpose: The key objective of this research is to examine whether fix-and-play educational games improve students' performance in learning programming languages. We also quantified the flow experiences of the students and analyzed how the flow contributes to their academic performances.
Background: Traditionally, learning the first computer programming language is considered challenging, In this study, we propose the fix-and-play gaming approach that utilizes the following three facts to alleviate certain difficulties associated with learning programming: 1. digital games are computer programs, 2. young students are fond of playing digital games, and 3. students are interested in creating their own games.
Methodology: A simple casual game Shoot2Learn was created for learning the fundamentals of branching. A number of errors were intentionally implanted in the game at different levels, and the students were challenged to fix the bugs before continuing the game. During the play, the program keeps records of the student’s academic progress and the time logs at different stages to measure the flow experience of the students. The proposed approach was systematically evaluated using a quasi-experimental design in real classroom settings in two countries, Sri Lanka, and USA.
Contribution: The results derived from this research provide empirical evidence that the fix-and-play educational games ease some challenges in learning programming and motivate the students to play and learn.
Findings: The results show that the first-year programming students who play the fix-and-play game gain statistically significant improvement in their academic performance. However, the result fails to suggest a significant positive correlation between the flow experience and academic performance.
Recommendations for Practitioners: Empowering the students to fix the bugs in the educational games they play will motivate them to stay in the game and learn continuously. However, we have to make sure that the types and timing of bugs do not hinder the flow experience of the players,
Recommendation for Researchers: Students normally play industry-level high-quality games. Experience and interest in game-playing differ significantly between students. Gender difference also plays an important role in selecting game genres. We need to identify how to address these issues when resources are not sufficient to provide an individualized gaming experience.
Impact on Society: Programming is an essential skill for computer science students. The outcome of this research shows that the proposed approach helps to reduce the disenchantment associated with learning the first programming language.
Future Research: Further investigation is necessary to verify whether the AI techniques such as user modeling can be used in educational games to reduce the effects of uncertainty associated with the variations in students' gaming skills and other factors.