Purpose: The purpose of this article is to provide a principled definition of an approach to teaching programming through debugging. This approach is instantiated via an online game called "Gidget". The approach is defined through seven principals drawn from game design, educational technology and learning sciences. Research questions included looking at what programming concepts players struggled with when playing and creating their own puzzle level games.Counterproductive problem-solving strategies were examined as well as types of puzzle levels created by players.
Findings: The debugging game highlighted in the article shows promise in helping learners to create their own programs without a large amount of programming knowledge. The seven design principles used to create the game (Gidget) worked together to productively teach programming concepts in just five hours to learners who were not necessarily interested in learning programming.
Recommendations: The authors recommend other education technologies such as Scratch, Alice and Code Academy incorporate the design principles used in the study as well as a debugging first approach. They highlight that this approach empowers users to learn without the aid of an instructor and that the revision of the communicatioon platofrms provide could susttain learner motivation if users see computers as fallible entitites.
Sample Size: 44
Participant Type: Students
Notes: Two sperate studies occurred. The first was a think-aloud study that included ten college-age teens (5 males and 5 females). The Summer Camp study included teens, ages 13-19. participants were divided into same-gender pairs of similar age for pair programming.