2008Journal of computing sciences in collegesRequires access

A case study approach for teaching design patterns through computer game programming: tutorial presentation

Paul Gestwicki

Open publisher page 0 citations

Abstract

This workshop presents an approach for teaching design patterns through computer game programming. In the workshop, we will begin by discussing the fundamental aspects of game engine software, including rendering models, animation techniques, and collision processing. Then we will explore how design patterns can be applied to manage the complexity of game software development. This case study approach has been successfully used with undergraduate students ranging from sophomore to senior standing. Among these students, none had any formal introduction to game programming, and only one had prior exposure to design patterns. A study conducted eight months after the students completed the course found that, although none of the students were developing games, all of them were using design patterns. These results suggest that our approach positively impacts students' learning; unfortunately, our sample size was too small for statistic significance. The specific case study we will use is EEClone, a simple arcade-style computer game that was designed to demonstrate design patterns for object-oriented programming. The specific patterns reified in EEClone include the State, Facade, Observer, Strategy, Singleton, and Visitor patterns. It is important to note that the design patterns are not forced into this context: they emerge from a disciplined software design process. They complement the domain-specific concepts such as the main game loop, active rendering, sprite animation, collision processing, controller management, and audio playback. The pedagogic motivation and results of this approach have recently been published in the Journal on Educational Resources in Computing [1]. This workshop provides an interactive forum for educators to learn about our approach and its application in the classroom.

About this research paper

What this paper is about

This workshop presents an approach for teaching design patterns through computer game programming. In the workshop, we will begin by discussing the fundamental aspects of game engine software, including rendering models, animation techniques, and collision processing. Then we will explore how design patterns can be applied to manage the complexity of game software development. This case study approach has been successfully used with undergraduate students ranging from sophomore to senior standing. Among these students, none had any formal introduction to game programming, and only one had prior exposure to design patterns. A study conducted eight months after the students completed the course found that, although none of the students were developing games, all of them were using design patterns. These results suggest that our approach positively impacts students' learning; unfortunately, our sample size was too small for statistic significance. The specific case study we will use is EEClone, a simple arcade-style computer game that was designed to demonstrate design patterns for object-oriented programming. The specific patterns reified in EEClone include the State, Facade, Observer, Strategy, Singleton, and Visitor patterns. It is important to note that the design patterns are not forced into this context: they emerge from a disciplined software design process. They complement the domain-specific concepts such as the main game loop, active rendering, sprite animation, collision processing, controller management, and audio playback. The pedagogic motivation and results of this approach have recently been published in the Journal on Educational Resources in Computing [1]. This workshop provides an interactive forum for educators to learn about our approach and its application in the classroom.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

This workshop presents an approach for teaching design patterns through computer game programming. In the workshop, we will begin by discussing the fundamental aspects of game engine software, including rendering models, animation techniques, and collision processing. Then we will explore how design patterns can be applied to manage the complexity of game software development. This case study approach has been successfully used with undergraduate students ranging from sophomore to senior standing. Among these students, none had any formal introduction to game programming, and only one had prior exposure to design patterns. A study conducted eight months after the students completed the course found that, although none of the students were developing games, all of them were using design patterns. These results suggest that our approach positively impacts students' learning; unfortunately, our sample size was too small for statistic significance. The specific case study we will use is EEClone, a simple arcade-style computer game that was designed to demonstrate design patterns for object-oriented programming. The specific patterns reified in EEClone include the State, Facade, Observer, Strategy, Singleton, and Visitor patterns. It is important to note that the design patterns are not forced into this context: they emerge from a disciplined software design process. They complement the domain-specific concepts such as the main game loop, active rendering, sprite animation, collision processing, controller management, and audio playback. The pedagogic motivation and results of this approach have recently been published in the Journal on Educational Resources in Computing [1]. This workshop provides an interactive forum for educators to learn about our approach and its application in the classroom.

Key concepts: Computer science, Game design, Rendering (computer graphics), Animation, Video game development, Game programming, Multimedia, Game Developer

Related papers

Back to paper searchBrowse research topicsOriginal source
A case study approach for teaching design patterns through computer game programming: tutorial presentation — Research Paper | ScholarLens