

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. These materials were used to teach computing concepts to high school students in two different venues in summer 20. 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. Programming games in computer science (CS) classes creates high levels of excitement and motivation. Although there are potential pitfalls and it has been argued that gender biasedgames can further alienate under-represented groups, it has also been shown that with careful design and articulation, combining CS classes with games at the introductory level can help recruit and retain.

The focus of this panel is not the debate about whether games should be used in introductory computer science, but rather if they are going to be used what are some possible ways to do so.

This panel presents four recent approaches at integrating computer gaming into introductory programming courses. At their core, these approaches can be broadly classified as either: experiences in which students create complete games of their own or experiences in which students implement fundamental CS concepts to complete "skeleton" games that have been provided by the instructor. These approaches are based on different pedagogical philosophies and implementation platforms, yet all are designed to teach fundamental concepts via programming computer games. In all cases, the panelists will present examples and results from their recent work where CS concepts are learned while programming games. Faculty members who are interested in finding out more about gaming, or considering/interested-in adapting gaming related approaches/materials in their classes will find this panel especially relevant.
