Guided Debugging Practices of Game Based Programming for Novice Programmers

—The objective of this study is to use game based programming to facilitate the teaching of debugging for novice programmers. The programing errors which novice programmers frequently committed were involved in the game programs. Worksheets were designed to guide students how to apply debugging strategies to find these errors and correct them. The debugging practices include the programming concepts of variable assignments, boolean statements, if statements and loop statements. Forty-one senior high school students participated in this experiment for six weeks including pre-and post-achievement test. The data including programming achievement test, debugging self-efficacy and questionnaire results were collected and examined. Though students' debugging self-efficacy wasn't significantly enhanced after the experiment, the paired-samples T test results show that this model of debugging practices was effective in improving students' programming concepts. Furthermore, students showed positive attitudes to this learning model and programming learning in the future.

[1]  Mitchel Resnick,et al.  Scratch: A Sneak Preview , 2004 .

[2]  Daniel C. Cliburn,et al.  Games, stories, or something more traditional: the types of assignments college students prefer , 2008, SIGCSE '08.

[3]  Stuart Garner Learning to Program from Scratch , 2009, 2009 Ninth IEEE International Conference on Advanced Learning Technologies.

[4]  Margaret Lynne Perkins West,et al.  Retaining females in computer science: a new look at a persistent problem , 2002 .

[5]  Deborah Compeau,et al.  Computer Self-Efficacy: Development of a Measure and Initial Test , 1995, MIS Q..

[6]  Katrin Becker,et al.  Teaching with games: the Minesweeper and Asteroids experience , 2001 .

[7]  Iris Vessey,et al.  Expertise in Debugging Computer Programs: A Process Analysis , 1984, Int. J. Man Mach. Stud..

[8]  Mitchel Resnick,et al.  Programming by choice: urban youth learning programming with scratch , 2008, SIGCSE '08.

[9]  Jeffrey Edgington,et al.  Using game creation for teaching computer programming to high school students and teachers , 2009, ITiCSE '09.

[10]  Michael Panitz,et al.  Game programming in CS0: a scaffolded approach , 2010 .

[11]  Jeffrey Edgington,et al.  A games first approach to teaching introductory programming , 2007, SIGCSE.

[12]  Kirsti Ala-Mutka,et al.  A study of the difficulties of novice programmers , 2005, ITiCSE '05.

[13]  Katrin Becker,et al.  All I Ever Needed to Know About Programming, I Learned From Re-writing Classic Arcade Games , 2005 .

[14]  Sue Fitzgerald,et al.  Debugging: a review of the literature from an educational perspective , 2008, Comput. Sci. Educ..

[15]  Branko Kaucic,et al.  Improving introductory programming with Scratch? , 2011, 2011 Proceedings of the 34th International Convention MIPRO.

[16]  Orit Hazzan,et al.  Song debugging: merging content and pedagogy in computer science education , 2005, SGCS.

[17]  Alan C. Benander,et al.  An analysis of debugging techniques , 1989 .

[18]  Gary M. Olson,et al.  Comprehension differences in debugging by skilled and novice programmers , 1986 .

[19]  John Maloney,et al.  Starting with scratch in CS 1 , 2009, SIGCSE '09.

[20]  Jessica D. Bayliss,et al.  Games as a "flavor" of CS1 , 2006, SIGCSE '06.

[21]  Paolo A. G. Sivilotti,et al.  Scratching the surface of advanced topics in software engineering: a workshop module for middle school students , 2008, SIGCSE '08.

[22]  Mordechai Ben-Ari,et al.  Learning computer science concepts with Scratch , 2013, Comput. Sci. Educ..

[23]  Brent Hailpern,et al.  Software debugging, testing, and verification , 2002, IBM Syst. J..

[24]  Magy Seif El-Nasr,et al.  Programming, PWNed: using digital game development to enhance learners' competency and self-efficacy in a high school computing science course , 2012, SIGCSE '12.

[25]  Mordechai Ben-Ari,et al.  Learning computer science concepts with scratch , 2010, ICER '10.