Teaching Design Patterns Through Computer Game Development

We present an approach for teaching design patterns that emphasizes object-orientation and patterns integration. The context of computer game development is used to engage and motivate students, and it is additionally rich with design patterns. A case study is presented based on EEClone, an arcade-style computer game implemented in Java. Our students analyzed various design patterns within EEClone, and from this experience, learned how to apply design patterns in their own game software. The six principal patterns of EEClone are described in detail, followed by a description of our teaching methodology, assessment techniques, and results.

[1]  G. Boulton‐Lewis Teaching for quality learning at university , 2008 .

[2]  Staffan Björk,et al.  Patterns In Game Design , 2004 .

[3]  Katie Salen,et al.  Rules of play: game design fundamentals , 2003 .

[4]  Michael R. Wick Teaching design patterns in CS1: a closed laboratory sequence based on the game of life , 2005, SIGCSE.

[5]  Wim H. Gijselaers,et al.  Bringing Problem-Based Learning To Higher Education: Theory And Practice , 1996 .

[6]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[7]  D. Prozesky,et al.  Assessment of Learning , 2020, The SAGE Encyclopedia of Higher Education.

[8]  Jeffrey J. McConnell,et al.  Active learning and its use in computer science , 1996, ITiCSE.

[9]  G A Morgan,et al.  A tale of two paradigms. , 1999, Journal of the American Academy of Child and Adolescent Psychiatry.

[10]  J. Paul Gibson,et al.  Software engineering as a model of understanding for learning and problem solving , 2005, ICER '05.

[11]  Kajal T. Claypool,et al.  Teaching software engineering through game design , 2005, ITiCSE '05.

[12]  Paul V. Gestwicki,et al.  Computer games as motivation for design patterns , 2007, SIGCSE.

[13]  Stuart A. Hansen The game of set®: an ideal example for introducing polymorphism and design patterns , 2004, SIGCSE.

[14]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[15]  GestwickiPaul,et al.  Teaching Design Patterns Through Computer Game Development , 2008 .

[16]  Judy Kay,et al.  Problem-Based Learning for Foundation Computer Science Courses , 2000, Comput. Sci. Educ..

[17]  Prasun Dewan,et al.  Teaching inter-object design patterns to freshmen , 2005, SIGCSE '05.

[18]  C. Bonwell,et al.  Active learning : creating excitement in the classroom , 1991 .

[19]  Allen Holub Holub on Patterns: Learning Design Patterns by Looking at Code , 2004, Apress.

[20]  Stuart Hansen The game of set®: an ideal example for introducing polymorphism and design patterns , 2004 .

[21]  Prasun Dewan Teaching inter-object design patterns to freshmen , 2005 .

[22]  Ivar Jacobson,et al.  Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series) , 2005 .

[23]  Tom Briggs Techniques for active learning in CS courses , 2005 .

[24]  J. Biggs,et al.  Teaching For Quality Learning At University , 1999 .

[25]  Andrew Davison Killer Game Programming in Java , 2005 .

[26]  L. Earl Assessment as Learning , 2007 .

[27]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[28]  Ian Warren Teaching Patterns and Software Design , 2005, ACE.

[29]  Dung Zung Nguyen,et al.  Design patterns for games , 2002, SIGCSE '02.

[30]  Bharat Jayaraman,et al.  Methodology and architecture of JIVE , 2005, SoftVis '05.

[31]  Dean Sanders,et al.  Using Scrum to manage student projects , 2007 .

[32]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..