Learn CS1/2 by Playing and Building Commercial Grade Casual Games
Designed specifically for educators who are interested in engaging students with videogames in their classrooms for learning programming, and based on our original casual game designs as exemplified in the above figures, this will be a half-day tutorial that involves the participants in:
- Analyzing the familiar game mechanics from the perspective of fundamental programming constructs,
- Understanding and evaluating the design considerations involved in our custom casual game APIs,
- Working in groups to design your own versions of these games that are suitable for demonstrating and teaching programming concepts, and
- Reporting back for group feedback, and examining our existing game-based teaching materials
Participants of this workshop will gain insights into integrating engagement factors of familiar game mechanics into teaching foundation programming constructs, build similar games based on our API, understand approaches to developing teaching materials based on the games and APIs, appreciate the advantages and challenges inherent to this approach, experience firsthand the process of designing and implementing their own teaching materials, and have free access to the source code, art, and audio assets of all materials. Participants will have the unique opportunity to play with commercial-quality game demos while using basic programming constructs to build games that are fun and appropriate for all ages.
Game enthusiasts/educators of introductory programming classes (university and high school) with or without background in graphics or games. Participants: 20.
|1. Introduction and overview||Sung|
|2. Play with existing games||Pace|
|3. Analyze the fun to understand the engaging characteristics||Pace|
|4. Map fun to CS1/2 Programming Constructs||Sung|
|… Break …|
|5. Group work: design own materials||All|
|6. Group present: present designs||All|
|7. Discuss pitfalls: What worked and what to avoid||Nash|
|8. Question and Answer||All|
As shown in the top row of the above figures, our games are innovative twists on popular casual genres (e.g., a Breakout variant using the z-plane, or a Zuma variant with user-movable paths) designed for teaching specific CS1/2 programming concepts. The bottom row of the above figures shows our current efforts in enhancing the corresponding educational versions for commercial release. We have developed custom APIs for each of these games that are readily accessible to new programmers based on the successful Game-Themed CS1/2 project . Our philosophy of engaging and motivating students is similar to recent successes such as Alice  or Media Programming , but unlike those approaches we do not require adopters to replace their entire class materials as our collection of standalone games and APIs allow instructors to pick and choose contents to adopt while keeping the rest of their classes unchanged.
- Kelvin Sung, Michael Panitz, Cinnamon Hillyard, Robin Angotti, David Goldstein, and John Nordlinger. Game-themed programming assignment modules: A pathway for gradual integration of gaming context into existing introductory programming courses. IEEE Transactions on Education, 54(3):416 -427, August 2011.
- W. Dann, S. Cooper, and R. Pausch, Learning to Program with Alice. Upper Saddle River, NJ: Prentice Hall, 2006.
- M. Guzdial and B. Ericson, Introduction to Computing and Programming with Java, A Multimedia Approach. Prentice-Hall,