Introducing programming concepts through video game creation

This paper presents adaptable materials that teach programming fundamentals via game programming with Greenfoot, a free Java based game development platform. The materials consist of five independent modules, each of which focuses on a group of related computing fundamentals. Each module includes the shell of a game, lessons that teach programming fundamentals, hands-on exercises that apply the fundamentals to add functionality to the game, and questionnaires and content-based quizzes that can be used to assess the effectiveness of the lessons. An instructor's guide is also included. These materials were used to teach computing concepts to high school students in two different venues in summer 2011 and 2012. Formal assessments found that the students experienced a significant increase in knowledge in computing and an increased interest in computing and likelihood of taking computing courses in the future. The paper describes the motivation for this work, how it relates to other works, the teaching and assessment materials, the key concepts covered in each module, the venues in which the materials were tested, and the results. It also discusses how the instructional materials can be used in other venues and provides a link to the materials so that others may use them.

[1]  Jeffrey Edgington,et al.  Using Greenfoot and games to teach rising 9th and 10th grade novice programmers , 2008, Sandbox '08.

[2]  Michael Kölling Introduction to Programming with Greenfoot - Object-Oriented Programming in Java with Games and Simulations, Second Edition , 2009 .

[3]  Karen Anewalt,et al.  A snapshot of current practices in teaching the introductory programming sequence , 2011, SIGCSE.

[4]  D. Salman,et al.  Development and learning in animals and man. , 1956, The American journal of psychiatry.

[5]  Simon Egenfeldt-Nielsen Overview of research on the educational use of video games , 2006 .

[6]  L. Vygotsky Interaction between learning and development , 1978 .

[7]  JonasMichael Teaching introductory progamming using multiplayer board game strategies in Greenfoot , 2013 .

[8]  John Maloney,et al.  Alice, Greenfoot, and Scratch -- A Discussion , 2010, TOCE.

[9]  Qusay H. Mahmoud,et al.  Using Greenfoot and a Moon Scenario to teach Java programming in CS1 , 2008, ACM-SE 46.

[10]  Michael Kölling,et al.  The Greenfoot Programming Environment , 2010, TOCE.

[11]  Richard E. Ripple,et al.  PIAGET REDISCOVERED. A REPORT OF THE CONFERENCE ON COGNITIVE STUDIES AND CURRICULUM DEVELOPMENT. , 1964 .

[12]  Stuart Zweben,et al.  Computing Degree and Enrollment Trends , 2012 .

[13]  Luiz Ricardo Begosso,et al.  An approach for teaching algorithms and computer programming using Greenfoot and Python , 2012, 2012 Frontiers in Education Conference Proceedings.

[14]  Peggy Doerschuk,et al.  An INSPIRED game programming academy for high school students , 2012, 2012 Frontiers in Education Conference Proceedings.

[15]  D. Vernon,et al.  Development and Learning , 2014 .

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

[17]  Ela Zur,et al.  Using greenfoot in teaching inheritance in CS1 , 2011, ITiCSE '11.

[18]  Jean Piaget,et al.  Part I: Cognitive development in children: Piaget development and learning , 1964 .

[19]  Michael Jonas Teaching introductory progamming using multiplayer board game strategies in Greenfoot , 2013 .

[20]  Peggy Doerschuk,et al.  Work in progress — A survey of popular game creation platforms used for computing education , 2011, 2011 Frontiers in Education Conference (FIE).

[21]  Fengfeng Ke,et al.  A Qualitative Meta-Analysis of Computer Games as Learning Tools , 2009 .