Lesson 3.6: Pong Project

Learning Objectives

Students will be able to...

  • Use custom blocks to implement a well-written version of Pong
  • Practice good style and conventions to create readable and maintainable code

Materials/Preparation

Pacing Guide

Duration Description
Day 1
5 minutes Welcome, attendance, bell work, announcements
30 minutes Review unit concepts
20 minutes Introduce project
Days 2-9
5 minutes Welcome, attendance, bell work, announcements
10-15 minutes Review
30-35 minutes Lab time
5 minutes Exit ticket

Instructor's Notes

  1. Review/Introduction
    • Play a review game (such as GrudgeBall) to remind students of the skills and concepts have been learned in this unit.
      • Variables
      • Operators
      • Procedural decomposition/abstraction
      • Custom command blocks
      • Custom reporter/predicate blocks
      • Custom blocks with arguments
    • Remind students that their solutions to previous assignments are an excellent resource when trying to accomplish similar tasks.
  2. Introduce project
    • Walk students through the project specification, pointing out important details, potential pitfalls, and requirements.
      • If students are unfamiliar with the concept of a platform game, spend a couple minutes demonstrating one for the class. If you have a SNAP or Scratch version, that works best, but an online game (such as http://www.ponggame.org/) will work as well.
      • Discourage students from simply recreating a game they are already familiar with (and using copyrighted assets) and encourage them to be creative and design their own characters and world instead.
      • Static screens are somewhat easier to implement than smooth scrolling, but scrolling is doable with some scaffolding.
  3. 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 6-10 hours of total work time to complete the project
      • Assess the progress of your students regularly using such techniques as asking them to demonstate 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.

    • Sample project solution

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 a single-player mode with a computer-controlled opponent, recreate the original mechanic in which the ball’s angle depends on where it hit the paddle, add different “levels” with obstacles or differently shaped fields, or any other extension.
  • Struggling students can be exempted from certain features (such as ball speed or scoring) or given starter code
    • If students need significant assistance, focus them on the ball’s movement, as it is both the most computationally interesting part of the assignment as well as the area in which they are most likely to be able to use custom blocks.

results matching ""

    No results matching ""