Lesson 5.4: Space Invaders Project

Learning Objectives

Students will be able to…

  • Use cloning to implement a complete version of “Space Invaders”.

  • Exercise good programming practices to produce code that is not only functional but also elegant and well-written.

Pacing Guide

Duration

Description

Day 1

5 minutes

Welcome, attendance, bell work, announcements

30 minutes

Review unit concepts

20 minutes

Introduce project

Days 2-12

5 minutes

Welcome, attendance, bell work, announcements

10-15 minutes

Review

30-35 minutes

Lab time

5 minutes

Exit ticket

Instructor’s Notes

Review/Introduction

  • Play a review game (such as GrudgeBall) to remind students of the skills and concepts have been learned in this unit.

  • Definition of “prototyping”.

  • Creating clones.

  • Using a master sprite.

  • Modifying clone behavior.

  • Passing information from the master to clones.

  • Deleting clones.

  • Remind students that their solutions to previous assignments are an excellent resource when trying to accomplish similar tasks.

Introduce project

  • Walk students through the project specification, pointing out important details, potential pitfalls, and requirements.

  • If students are unfamiliar with Space Invaders, spend a couple minutes demonstrating one for the class. If you have a Snap! or Scratch version, that works best, but an online game will work as well.

  • Remind students that their version of the game does not need to exactly mimic the classic version. In particular, they need not have quite as many invaders, create barriers for the player to hide behind, or duplicate invader movement or firing patterns exactly.

Project

  • This project is a summative assessment for the unit. Students should be demonstrating mastery of all the skills covered.

  • Most students will require roughly 10-15 hours of total work time to complete the project.

  • Assess the progress of your students regularly using such techniques as asking them to demonstrate their incomplete programs, tracking questions asked during lab time, and/or utilizing peer reviews.

  • Adjust the amount of time allowed for the project to fit the needs of your students.

  • It is vital that nearly all students complete the project before moving on.

  • If most students have the ability to work on Snap! assignments at home, the amount of in-class time provided can be reduced if necessary.

  • If this approach is taken, be sure to make accommodations for students who are not able to work at home, such as after school lab hours.

  • Ensure that students are able to ask questions in class throughout the project

  • See the standard Lab Day Lesson for detailed plans for lab days.

Accommodations/Differentiation

  • If any students do not have the ability to work at home, ensure enough in-class time is provided to complete the assignment, offering extensions if necessary.

  • Advanced students can be encouraged to add different types of invaders that behave differently, implement a Galaga-style “swoop” behavior from the invaders, add player power-ups (such as advanced weapons), or any other extension.

  • Struggling students can be exempted from certain features (such as levels or invader firing) or given starter code.

  • If students need significant assistance, focus them on the invaders. Getting a set of invaders created and moving properly will best target the vital objectives from this unit– namely cloning.

Forum discussion

Lesson 5.4: Space Invaders Project (TEALS Discourse account required).