Make a Pong Video Game

Version 2

    Pong.png

    Created by Oliver Chen, Cheryl Daisin, Shammi Jayaraj, Luis Avitia, Raad Hashim, and Jesus Espinoza on on August 30, 2014. Last modified by Tom Seaman on September 25, 2015.

     

    Unit Summary

    Video games entertain us and challenge us.  But who makes video games and how do they do it?  This unit offers curious middle school and high school students a chance to create a simple video game, while exposing them to the interactions between computer hardware and software.  Using the Intel® Galileo 2 board and a PC, students can create and play their own video game, and then make adjustments to make the game harder or easier to play.  This unit is suitable for students with no previous experience with programming or with Galileo, but can also be enjoyed by those who know some programming or have some experience with Arduino or Galileo.

     

    At a Glance

    • Grade: 6-8, 9-12
    • Subjects:  Science, technology & engineering, visual arts
    • Topics:  Computers, electronics
    • Higher-order thinking skills:  Analysis, experimental Inquiry
    • Key Learnings:  Coding, making, design thinking, types and uses of electronic components
    • Content type:  Unit plan
    • Time needed:  1-2 hours
    • Prerequisites:  No prior knowledge or experience is necessary to complete the activities.
    • License:  Creative Commons Attribution-ShareAlike (CC BY SA).  Read about the license and what you can do with this material here.

     

    Learning Outcomes

    • Students gain a hands-on understanding of some of the basic concepts of coding and computer hardware.
    • Students gain experience with scientific inquiry thought processes.
    • Students get a glimpse of the type of work engineers and computer scientists do.

     

    Things You Need

    We suggest students work in groups of 2-4.  This list represents the

    • The Intel® Galileo 2 board
    • The Galileo’s power cable
    • A USB cable
    • A Grove Starter Kit Plus – Intel IoT Edition for Intel Galileo Gen 2 and Edison
      • See figure 1 below for the list of items we’ll be using from the kit
    • A PC (with the Galileo and Processing IDEs, both free and downloadable from the Web)

    PongFigure1.png

     

    Standards Alignment

    This unit is aligned to Common Core National and Next Generation Science Standards.

    • Engineering Design:  define design problem, generate solutions, carry out tests and analyze resulting data
      • 3-5-ETS1-1, 3-5-ETS1-2, 3-5-ETS1-3
      • MS-ETS1-1, MS-ETS1-2, MS-ETS1-3, MS-ETS1-4
    • ELA/Literacy:  conduct short research projects, build knowledge through investigation
      • W.5.7
      • WHST.6-8..7
    • Mathematics:  operations and algebraic thinking; reason abstractly and quantitatively
      • 3.0A
      • MP.2

     

    Inquiry Process

    The unit encourages students to engage in scientific inquiry.  They will be challenged to figure out how the sketch (computer program) works and interacts with the inputs and outputs.  They will explore their own ideas to make changes to the program to have the desired effect, and then see if their idea works.  If it does not work, they must investigate why not and try another approach.

     

    Assessment Processes

    An opening discussion about prior exposure to computers, electronics, and programming can be helpful in pacing the activities and grouping students who can provide leadership.  Short wrap-up discussions after each activity and after completing the entire unit are helpful to assess progress and revisit key learnings.

     

    Instructional Procedures

    Introduce the Key Concepts

    Introduce the Intel® Galileo board.  Explain to students that Galileo is a computer, but unlike a PC, it has no keyboard.  This computer is designed to have a wide range of things connected to it.  For example, you might connect some type of device to sense input.  This might be a microphone to sense sound.  It might be a button to sense a human decision, or a device that can sense motion or the amount of light in the room.

     

    You can also connect other types of devices to allow the computer to output something.  This might be a display to show information from the computer, or speaker to provide a sound from the computer.  It could be a simple light that the computer turns on and off based on something it’s doing, or a signal that tells a motor how fast to run.

     

    With so many options for connecting inputs, connecting outputs, and instructing the computer how to think and act, the possibilities for creating cool things are truly endless.

    Instruct students to unpack the Grove Starter Kit Plus - Intel IoT Edition for Intel Galileo Gen 2 and Edison.  Allow the students to explore the kit and identify its pieces.  Have them set aside the parts they will need for the activity.

     

    Explain that in the following activity, they’ll be connecting a device called a “potentiometer” to the Intel Galileo board as an input.  A potentiometer is a variable resistor.  Many knobs on electronic equipment are actually connected directly to potentiometers.  In this activity, the potentiometer will serve as a joystick to move he pong paddle.

     

    Set-up for the Activity

    Note about set-up:  You may elect to allow the students to connect up their Galileo boards, or you may elect to perform this set-up yourself prior to the start of class. The set-up involves connecting the Galileo to the PCs the students will be using, as well as pre-loading the Arduino (Galileo Gen 2 version) IDE onto the PCs.

     

    If the students will be performing the set-up themselves, allow for 15-20 minutes to the amount of time required for the first session.  In addition, make sure the students are responsible and take care to follow the instructions below very carefully as performing the steps in the wrong order can result in permanent damage to the Galileo board.

     

    Step-by-step instructions for connecting Galileo are found here:

    https://software.intel.com/en-us/iot/library/galileo-getting-started.

     

    Within the step-by-step instructions, when prompted to choose a development environment, choose Arduino.  Have the students proceed all the way through the getting started exercise to the point where they blink the LED on the Galileo board. This affirms the set-up was done correctly.  If they cannot blink the LED, have them start over and/or seek your help.

     

    Install the Sketches

    Instructions for Windows or Mac:

    1. Download to the PC’s or Mac’s desktop the file called IESC.zip.  (The file is attached to the bottom of this unit plan.)
    2. Unzip the file.  This will unpack the zip file and place all the relevant files in a folder called IESC it creates for you on the desktop.
    3. Remember to tell your students that the sketches they will need to run for the activities are located inside this IESC folder.

     

    Install the Processing IDE

    Instructions for Windows or Mac:

    You will need to download the Processing IDE to run the Processing sketch.

    1. Processing can be downloaded here: https://processing.org/download/?processing
    2. Extract to the desktop

     

    For Windows users,

    1. Navigate to the file you just downloaded
    2. Right click on processing.exe and select create a short cut
    3. Drag processing.exe shortcut to Desktop.

     

    Build a Pong Game

    Students will learn how to interface with Processing.  Processing is an integrated development environment (IDE) for building interactive graphics with JAVA quickly and easily.

     

    Share with the class the steps and diagrams as laid out in the Pong Teacher’s Presentation (attached) to help them build the circuit and load the sketches for both Arduino and Processing.

     

    Allow the students to play the game to see whether it works and they’ve done everything correctly.  They will use the dials to bat the ball back and forth.

     

    For an additional challenge, see if the students can change the interface to use Ethernet?

     

    Conclude the Unit

    Lead the class in a discussion about the unit.  How could the game be improved?  What other games could be designed with these components?  What kinds of careers are available to people who enjoy this kind of activities?

     

    Differential Instruction

    Resource Student

    • Allow more time as needed.
    • Skip the challenge question and focus on how each component plays a role in the integrated project.

     

    Gifted Student

    • Give students additional challenges that force them to go deeper into modifying the sketch.
    • Have students learn the Processing programming language and try writing their own games from scratch.

     

    English Language Learner

    • Pair the student with a peer in groups
    • Allow more time on the visuals in the presentations
    • Provide the student with Internet access and relevant sites in the student’s first language beforehand

     

    Additional Resources

    For an introduction to the benefits of teaching making and coding, and tips for bringing hands-on activities to your classroom, see Gary Stager’s paper, “Guide to Creating and Inventing with Technology in the Classroom.”

    Students create a video game with Intel® Galileo board while learning about interactions between computer hardware and software. No programming experience required.