1. Games as a Mode of Instruction in Object-Oriented Concepts
- Author
-
Krish Pillai and Marcia Lovas
- Abstract
A typical first computer science course (CS1) introduces the student to coding conventions, variables, methods, control structures, conditionals, and the semantics of classes and objects. Advanced concepts of inheritance, polymorphism, abstract classes, interfaces, and their use in the design process, are covered in a second-level course (CS2). CS2 concepts are abstract, requiring reinforcement through considerable practice. It has been observed that traditional CS2 projects fail to capture the imagination and enthusiasm of students and are seldom useful past the end of the semester, yet interesting projects drawn from the natural sciences may be either too complex or too algorithmic to facilitate the required design experience. Game programming, in contrast, is purpose-driven and has great appeal. Unfortunately, popular game engines hide the engine's complexity and provide too much built-in functionality, relegating the user to writing glue logic in a scripting language. What is needed instead is a challenge that will provide transferable skills for solving generic problems using a statically typed language. The authors of this paper describe a Java game engine and lesson plan they developed for one semester of object-oriented instruction for students who have completed CS2. Early anecdotal results demonstrate that students find the approach challenging, informative, and incentivizing. [For the full proceedings, see ED656038.]
- Published
- 2023