Topic: Discovering Inheritance through a Popular Video Game
Department(s) or Field(s): Computer Science, Mathematics, Statistics
Authors: Terry Mason, Diane Christie, Radi Teleb, Bruce Johnson, University of Wisconsin – Stout
Submission Date: Spring 2007
Executive Summary – The lesson topic is inheritance in Computer Science 1 (CS1) courses. Inheritance is a powerful tool which is generally not fully understood by beginning students in computer science. They may understand the mechanics of making inheritance work, but do not always comprehend the utility and power of it. A deeper understanding of the topic is a learning goal that all teachers strive for in their students. This topic has a broad application as the introduction to programming is a course that is taught by many instructors in colleges and high schools throughout the world.
Learning Goals – The goal of this lesson is to illustrate the power and utility of inheritance as a tool in computer science with the graphics and engagement experienced by students playing video games. The lesson is designed using a familiar Mario game implemented in Java. The students were engaged in the project by first playing the game to identify the sprite objects. This set up a class discussion on how these objects are organized into an inheritance hierarchy through shared characteristics and functionality. The students complete the project by using inheritance to complete the functionality of the game.
Lesson Evaluations – The results of surveys and quizzes compare the results of one section of students that completed the older inheritance laboratory with two sections of students that completed the new video game based laboratory. Student engagement in the new laboratory ranked close to exciting versus a ranking between marginally interesting and interesting for the older lesson. Student surveys show that students believe that the new lesson was exciting and it increased their understanding of inheritance hierarchies, the power of inheritance, and the usefulness of the lab. Student grades on a quiz administered four days after the laboratories show that student scored slightly higher after completing the new lesson compared to students completing the older lesson.
Observations and Exit Interviews – The lessons were observed by members of the lesson study team. Students showed a high level of engagement in the game and identifying the objects for missing functionality. They expressed a sense of accomplishment in extending the functionality of the game. In addition they showed a sense of accomplishment. Two different groups shouted “Yes!” when their new code provided the expected functionality of the game. In addition, students were engaged enough in the lesson to spend extra time to further investigate the code.
Computer Science Lesson Study: Discovering Inheritance through a Popular Video Game (Final Report)
Links to materials used to teach the lesson and data generated by the study.
- Handout of Lesson for Students
The handout provided to students to complete the lesson. - Evaluation of the Inheritance Lesson based on Mario
Evaluation of the results for the quiz and survey administered to students participating in the new laboratory compared to students completing the older laboratory. - Quiz Administered 4 Days after Lesson
The quiz given to all students after completing their lessons. - Survey of Student Engagement
Survey given to students at the completion of laboratory lesson for both the new and old lesson.