Abstract
In this paper we argue for using a "Game First" approach to teaching introductory programming. We believe that concerns over whether an OO approach or a procedural approach should be used first are secondary to the course assignment and example content. If examples are not compelling, student interest often lags thus making the OO versus procedural argument moot. We believe that game programming motivates most new programmers. Compelling assignments mean that students are far more likely to learn because they are interested, and the visual component allows students to see mistakes in their code as manifested in the resultant graphics. We describe our experiences after redesigning and offering a new introductory computer science sequence using 2D game development as a unifying theme. We teach fundamental programming concepts via two dimensional game development in Flash and ActionScript during the first quarter, transition to C++ to solidify concepts and add pointers during the second quarter, then teach a multi-phase project based game approach using C++ and openGL (2D graphics only) during the third quarter. Our surveys show that this approach improved student understanding of all seven basic topics examined.
- Adams, J.C., Chance-it: an OO capstone project for cs-1, SIGCSE'98, 10--14, 1998. Google ScholarDigital Library
- Argent, L., Depper, B., Fajardo, R., Ghertson, S., Leutenegger, S., Lopez, M. and Rutenbeck, J, Building a Game Development Program, IEEE Computer, Vol 39, no 2, 52--61, 2006. Google ScholarDigital Library
- Becker, K., Teaching with games: the minesweeper and asteroids experience, J. Comput. Small Coll, 17(2), 23--33, 2001. Google ScholarDigital Library
- Crawford, S., Boese, E. ActionScript: A Gentle Introduction to Programming. Journal of Computing Sciences in Colleges, Volume 21, Issue 3 (February 2006), pp. 156--168. Google ScholarDigital Library
- Coleman, R., Krembs, M., Labouseur, A., and Weir, J., Game design & programming concentration within the computer science curriculum, SIGCSE'05, 545--550, 2005. Google ScholarDigital Library
- ESA, "Essential Facts About the Computer and Video Game Industry. Entertainment Software Association, 2005. http://www.theesa.com/files/2005EssentialFacts.pdfGoogle Scholar
- Fullerton, T., Play-Centric Games Education, IEEE Computer, Vol 39, no 2, 36--42, 2006. Google ScholarDigital Library
- Guzdial, M. A Media Computation Course for Non-Majors, ITiCSE'03, June 30 - July 2, 2003, Thessaloniki, Greece, pp. 104--108. Google ScholarDigital Library
- Horswill, I., and Noval, M., Evolving the Artist-Technologist, IEEE Computer, Vol 39, no 2, 53--62, 2006. Google ScholarDigital Library
- International Game Developers Association Education Committee, The curriculum framework, 2003.Google Scholar
- Lorenzen, T., Heilman, W., Cs1 and cs2: write computer games in java! SIGCSE Bull., 34(4), 99--100, 2002. Google ScholarDigital Library
- Murray, J., Bogost, I., Mataes, M., and Nitsche, M., Game Design Education: Integrating Computation and Culture, IEEE Computer, Vol 39, no 2, 3--51, 2006. Google ScholarDigital Library
- Parberry, I., Roden, T., Kazemzadeh, M.B., Experience with an industry-driven capstone course on game programming, SIGCSE'05, 91--95, 2005. Google ScholarDigital Library
- Ranum, D., Miller, B., Zelle, J., Guzdial, M. Successful Approaches to Teaching Introductory Computer Science Courses with Python, Special Session, SIGCSE'06, March 1-5, 2006, Houston, Texas, USA. Google ScholarDigital Library
- Roumani, H. Practice What You Preach: Full Separation of Concerns in CS1/CS2. SIGCSE'06, March 1-5, 2006, Houston, Texas, USA. Google ScholarDigital Library
- Sweedyk, E., deLaet, M., Slattery, M.C., Kuffner, J., Computer games and cs education: why and how. SIGCSE'05, 256--257, 2005. Google ScholarDigital Library
- Trono, J.A., Taxman revisited, SIGCSE Bull., 26(4), 56--58, 1994. Google ScholarDigital Library
- Vegso, J, Drop in CS Bachelor's Degree Production. Computing Research News, Vol 18, No 2, March 2006, http://www.cra.org/CRN/articles/march06/vegso.htmlGoogle Scholar
- Zyda, M., Educating the Next Generation of Game Developers, IEEE Computer, Vol 39, no 2, 30--35, 2006. Google ScholarDigital Library
Index Terms
- A games first approach to teaching introductory programming
Recommendations
A games-based approach for teaching the introductory programming course
Introductory programming courses in computer science aim at building an effective foundation for the development of programming skills. A prudent way to develop these skills is by emphasizing problem solving and logical thinking. This paper proposes a ...
A games first approach to teaching introductory programming
SIGCSE '07: Proceedings of the 38th SIGCSE technical symposium on Computer science educationIn this paper we argue for using a "Game First" approach to teaching introductory programming. We believe that concerns over whether an OO approach or a procedural approach should be used first are secondary to the course assignment and example content. ...
Using Greenfoot and games to teach rising 9th and 10th grade novice programmers
Sandbox '08: Proceedings of the 2008 ACM SIGGRAPH symposium on Video gamesIn a two-week residential game camp we used the Greenfoot IDE to teach java programming to rising 9th and 10th graders. Students created their own computer games which required learning how to write java programs, create a game design, and create art ...
Comments