|
|
Course Description Computer Science 1 is the introductory course for computer science. It introduces problem solving and algorithm development using Java as the high-level programming language. The course uses an objects first approach to programming. The majority of students are freshman in the Applied Math and Computer Science program. The lesson targets these students for developing a deeper understanding of inheritance.
|
|
|
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.
|
|
|
|
Printer Friendly Version of Complete Report The final report includes an appendix with the lesson plan, lesson handout, engagement survey, and follow up quiz.
Final Report
|
|
|
The Lesson Below are links to the lesson plan and the materials used to teach it. The handout is supplied to students at the start of the two hour laboratory. The code for the lesson may be requested via e-mail to the contact for this report.
The Lesson Plan
Description of Lesson Preparation as well as Administration of the Lesson
The Laboratory Lesson
Overview of each step in the laboratory lesson including times and solutions.
Handout of Lesson for Students
The handout provided to students to complete the lesson.
|
|
|