Programming 201 Lesson Plan
Lesson: Obstacle Course
Time: 60+ mins
IntroductionIn this lesson, students will create cool projects that highlight the “pick random,” “point toward,” and “if on edge, bounce” code blocks while reinforcing coding concepts from previous lessons. Additionally, students will create a project that simulates a car chase and will create their own obstacle course game!
New Code Blocks
- Use code blocks to program Actors to move randomly across the Stage and bounce off the edge
- Use code blocks to program Actors to follow a mouse pointer (web) or touch location (mobile)
- Create an obstacle course game
- Computers, laptops, or mobile devices (1 per student) with student account access to Tynker.com
Warm-Up (15 minutes)
- Ask students to raise their hand if they’ve experienced or seen an obstacle course. What obstacles (e.g., bridge, tires, cones, walls) did the course use? Point out that the more challenging an obstacle course is, the more fun it can be!
- Tell your students that they’re going to use Tynker to create their own obstacle course game in today’s lesson!
Activities (45 minutes)Facilitate as students complete all Obstacle Course modules on their own:
1. Bouncing Ship Example (Example)
- Students will view a project of a ship that moves across the screen, but bounces when it hits the edge of the Stage.
- In this DIY (do-it-yourself) project, students will program a spaceship to bounce back and forth between the left and right sides of the screen!
- Explain to your students that the “forever” loop is needed to ensure that the “if on edge, bounce” block will trigger every time the spaceship hits an edge.
- Optional: Encourage students to experiment with different values for the “wait” block and “move pixels” block. How fast can they make the spaceship bounce around?
- Bonus: Encourage students to experiment with the “pick random” code block to make the spaceship move randomly.
- Students will view a project of a ship that moves randomly across the Stage and will point in a random direction between 1 and 360 degrees.
- In this DIY project, students will program a spaceship to move randomly and bounce when it hits an edge.
- Notice that the “wait” block now says “0.2” seconds rather than “0.1” seconds. This is why the ship’s motion seems more choppy and sluggish than before!
- Explain to your students that the “pick random” block is currently set to the widest possible set of angles--360 degrees. Have them try a smaller range of angles to see what happens.
- Bonus: Encourage students to program the spaceship to move faster, farther, and more unpredictably.
- To solve this puzzle module, students will need to program the spaceship Actors to point towards the mouse pointer (web) or touch location (mobile), then move to the power cells.
- Ask students, “How can we make the spaceships follow the mouse pointer (web) or touch location (mobile) to the power cell without crashing into an asteroid or each other?” (Use a “forever” loop and have the first spaceship continually point towards the mouse pointer or touch location. The second spaceship should point towards “Ship 1” and the third spaceship should point towards “Ship 2.”)
- Give a hint: Ask students to practice changing the values of the move blocks to see if they can keep the spaceships from crashing into one another.
- Students will view a project of three different cars following the mouse pointer (web) or touch location (mobile).
- In this DIY project, students will program three cars to move in a row as if they are in a car chase!
- Did students finish early? Encourage them to program the cars to run smoother by adjusting the move distance or “wait” value of each car.
- Students will view an obstacle course game where they will need to navigate a toy car across a floor of obstacles!
- In this DIY project, students will program an obstacle course game. The goal is to successfully navigate over, around, and through objects that block the path.
- Encourage students to increase the size of the obstacles or reposition them to change the difficulty of the finished game.
- Did students finish early? Direct their attention to the bonus section in “Step 7/7” of the tutorial, which encourages students to play each others’ obstacle games and brainstorm ways to improve them!
Extended Activities (20 minutes)Reflection
Ask students to write down their answers to these short-response questions:
- What do you enjoy most about coding using Tynker?
- What do you feel you need to improve on as a coder?
- What do you feel is your strongest programming skill?
- CCSS-Math: 5.G.A.1, 5.G.A.2, 6.NS.C.6, MP.1
- CCSS-ELA: RF.5.4.A, 6-8.RST.3, 6-8.RST.4, 6-8.RST.7
- CSTA: 1B-AP-11, 1B-AP-12, 1B-AP-15, 2-AP-13, 2-AP-16, 2-AP-17
- CS CA: 3-5.AP.10, 3-5.AP.13, 3-5.AP.14, 3-5.AP.17, 6-8.AP.13, 6-8.AP.16, 6-8.AP.17
- ISTE: 1.c, 1.d, 4.d, 5.c, 5.d, 6.b
U.K. StandardsNational Curriculum of England (Computing)
Key Stage 2:
- Design, write and debug programs that accomplish specific goals, including controlling or simulating physical systems; solve problems by decomposing them into smaller parts
- Use sequence, selection, and repetition in programs; work with variables and various forms of input and output
- Use logical reasoning to explain how some simple algorithms work and to detect and correct errors in algorithms and programs
- Design, use, and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems
- Understand several key algorithms that reflect computational thinking (for example, ones for sorting and searching); use logical reasoning to compare the utility of alternative algorithms for the same problem
- Use two or more programming languages, at least one of which is textual, to solve a variety of computational problems; make appropriate use of data structures (for example, lists, tables, or arrays); design and develop modular programs that use procedures or functions
- Understand simple Boolean logic (for example, AND, OR, and NOT) and some of its uses in circuits and programming; understand how numbers can be represented in binary, and be able to carry out simple operations on binary numbers (for example, binary addition, and conversion between binary and decimal)
- Understand how instructions are stored and executed within a computer system; understand how data of various types (including text, sounds, and pictures) can be represented and manipulated digitally, in the form of binary digits
These student-facing slide presentations help educators seamlessly run Tynker lessons in a virtual or physical classroom setting. Each lesson has its own set of slides that introduce the big ideas, suggest unplugged activities, and include a section for each activity module. While running lesson slides, you can switch back and forth between the activity, the slides, answer keys and other lesson materials.
A sample slide presentation is available for your review. Please log in to view all the class presentations available with your plan..
Loops and Animation
Creating a Scene
Jumping over Obstacles
Music and Animation
Instruments and Tempo
Message Driven Programming
Pop the Balloon
Animation with Movement