GidgetML: An Adaptive Serious Game for Enhancing First Year Programming Labs

Serious games have become a popular alternative learning tool for computer programming education. Research has shown that serious games provide benefits including the development of problem solving skills and increased engagement in the learning process. Despite the benefits, a major challenge of developing serious games is their ability to accommodate students with different educational backgrounds and levels of competency. Learners with a high-level of competence may find a serious games to be too easy or boring, while learners with low-level competence may be frequently frustrated or find it difficult to progress through the game. One solution to this challenge is to use automated adaptation that can alter game content and adjust game tasks to a level appropriate for the learner. The use of adaptation has been successfully utilized in educational domains outside of Software Engineering, but has not been applied to serious programming games. This paper presents GidgetML, an adaptive version of the Gidget programming game, that uses machine learning to modify game tasks based on assessing and predicting learners' competencies. To assess the benefits of adaptation, we have conducted a study involving 100 students in a first-year university programming course. Our study compared the use of Gidget (non-adaptive) with GidgetML (adaptive) and found that students who played Gidget during lab sessions varied significantly in their performance while this variance was significantly reduced for students who played GidgetML.

[1]  Amy J. Ko,et al.  Investigating the role of purposeful goals on novices' engagement in a programming game , 2012, 2012 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[2]  Amy J. Ko,et al.  In-game assessments increase novice programmers' engagement and level completion speed , 2013, ICER.

[3]  Alessandro De Gloria,et al.  Adaptive Experience Engine for Serious Games , 2009, IEEE Transactions on Computational Intelligence and AI in Games.

[4]  Jeremy S. Bradbury,et al.  Making Serious Programming Games Adaptive , 2018, JCSG.

[5]  Viktor Wendel,et al.  Adaptive Digital Storytelling for Digital Educational Games , 2012 .

[6]  Ian Dunwell,et al.  Implementing Adaptive Game Difficulty Balancing in Serious Games , 2019, IEEE Transactions on Games.

[7]  Amy J. Ko,et al.  Personifying programming tool feedback improves novice programmers' learning , 2011, ICER.

[8]  Maria José Marcelino,et al.  A review of games designed to improve introductory computer programming competencies , 2014, 2014 IEEE Frontiers in Education Conference (FIE) Proceedings.

[9]  Dietrich Albert,et al.  Micro-adaptivity: protecting immersion in didactically adaptive digital educational games , 2010, J. Comput. Assist. Learn..

[10]  Jeanne H. Brockmyer,et al.  The Development of the Game Engagement Questionnaire: A Measure of Engagement in Video Game Playing: Response to Reviews , 2009, Interacting with computers.

[11]  Jeremy S. Bradbury,et al.  A Review of Serious Games for Programming , 2018, JCSG.

[12]  W. Moran,et al.  Competency-based learning , 2004, Journal of General Internal Medicine.

[13]  Gabriel-Miro Muntean,et al.  A LARGE-SCALE PILOT STUDY ON GAME-BASED LEARNING AND BLENDED LEARNING METHODOLOGIES IN UNDERGRADUATE PROGRAMMING COURSES , 2018, EDULEARN18 Proceedings.

[14]  Margaret M. Burnett,et al.  Principles of a debugging-first puzzle game for computing education , 2014, 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[15]  M. Csíkszentmihályi Finding Flow: The Psychology of Engagement with Everyday Life , 1997 .

[16]  Jitender S. Deogun,et al.  Towards Missing Data Imputation: A Study of Fuzzy K-means Clustering Method , 2004, Rough Sets and Current Trends in Computing.

[17]  Stefan Göbel,et al.  80Days: Adaptive Digital Storytelling for Digital Educational Games , 2009, STEG@ICWL.