An advanced introduction to programming for middle school. Introduce programming fundamentals to your class as they build two arcade-inspired games from start to finish. The Adventure Game features a knight who has to defeat enemies to reach treasure. Students program arrow keys, fluid motion, hero and enemy behavior, and winning conditions. In Dragon Attack, they define multiple levels and lives, and program a boss enemy, while learning about variables and cloning.
- Keyboard and mouse interaction
- Conditional loops
- Nested loops
- Sending and receiving messages
- Fluid motion
- Parallax scrolling
- Local and global variables
- Object cloning
* Online courses require a modern desktop computer, laptop computer, Chromebook, or Netbook with Internet access and a Chrome (29+), Firefox (30+), Safari (7+), or Edge (20+) browser. No downloads required.
Programming 301 Lesson Plan
Time: 60+ mins
IntroductionWelcome to the first lesson in the Programming 301 course! In this lesson, students will create a fun chasing game where a valkyrie needs to collect her tools while a troll is chasing her. Students will also solve different puzzle modules while reinforcing their understanding of sequencing and counting loops.
New Code Blocks
: Run code attached to this block when you press a specified key. : Point the Actor at the specified degree. : Move the Actor a specified number of units. : Change the costume of the Actor. : Detect if one Actor is touching a specified Actor, the mouse-pointer (web) or touch location (mobile), or the edge of the Stage. : React when the specified condition is happening. : Make the Actor disappear on the Stage. : Play the specified sound file and wait until it is finished playing. : Keep repeating the blocks inside this loop forever. : Point the Actor towards the specified parameter. : Pause the current script for a specific number of seconds. : Move the Actor one unit forward. : Turn the Actor to the right. : Turn the Actor to the left.
- Coding: Using a computer language to tell the computer what to do
- Sequence: The order in which steps or events happen
- Actors: Tynker characters and objects that can talk and interact with each other
- Command: A specific action or instruction that tells the computer to do something
- Loop: An action that repeats one or more commands over and over
- Counting loop: A loop that repeats one or more commands a specific number of times
- Infinite loop: A loop that repeats forever and does not end until the program stops
- Use code blocks to solve puzzle modules
- Create a chasing game
- Computers, laptops, or mobile devices (1 per student) with student account access to Tynker.com
Warm-Up (15 minutes)Ask students to answer these short-response questions:
- What would you like to learn in the Programming 301 course? What is a concern or question you have about the Programming 301 course?
Activities (45 minutes)Facilitate as students complete all Introduction modules on their own:
1. Introduction (Video)
- Students will watch a short video of a valkyrie introducing different projects and games that your students can create using Tynker.
- In this DIY (do-it-yourself) project, students will follow step-by-step directions to program a valkyrie to walk around the Stage.
- The valkyrie responds to arrow keys (web) or tilt controls (mobile).
- In this DIY project, students will expand on their previous project by adding game elements.
- Activities include programming a bow to play a sound and disappear when the valkyrie touches it, and programming a troll to chase the valkyrie around the Stage.
- If students finish early, see if they can make the valkyrie pick up the axe and bow before the troll touches the valkyrie.
- Students will watch a short video of a valkyrie introducing the puzzle modules.
- To solve this puzzle module, students will need to program a plane to fly forward across the desert sky to reach a medal.
- Give a hint: Tell students to count how many squares the plane needs to move forward in order to reach the medal. That is how many “forward” blocks they will need.
- To solve this puzzle module, students will need to program a plane to move forward, turn left, and turn right to reach a medal.
- Ask students to think out loud through the necessary steps (i.e, forward - turn left - forward…) before adding any code blocks.
- To solve this puzzle module, students will need to program a plane to fly forward using a repeat loop.
- Check that students understand why they only need to place one “forward” block inside the repeat loop.
- Students will need to manually change the “repeat” block value to “5.”
- Students will answer multiple-choice questions to review concepts from this lesson.
- In this DIY project, students will customize a troll chasing game.
- The coding is complete, so students will need to improve the game by adding customizations such as adding a hero, changing the background, adding background music, adding more Actors, and animating Actors.
- Are students struggling to execute their modifications? Tell students to check out the Tynker support videos: https://www.tynker.com/support/videos, which provide helpful information on topics such as drawing Actors, adding a scene, and adding music.
Extended Activities (10 minutes)Show and Tell
- Encourage students to share their troll chase games with the class! Have students share their coding challenges, and what they learned from them. Also share other challenges you saw students dealing with and the solutions you noticed they came up with.
- CCSS-Math: MP.1
- CCSS-ELA: RI.7.4, RI.8.4, 6-8.RST.3, 6-8.RST.4, 6-8.RST.7
- CSTA: 2-AP-10, 2-AP-13, 2-AP-16, 2-AP-17
- CS CA: 6-8.AP.10, 6-8.AP.13, 6-8.AP.17
- ISTE: 1.c, 1.d, 4.d, 5.c, 5.d, 6.b
U.k. StandardsKey Stage 3 (Years 7-9)
- 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.
- Create, re-use, revise and re-purpose digital artefacts for a given audience, with attention to trustworthiness, design and usability.
- Understand a range of ways to use technology safely, respectfully, responsibly and securely, including protecting their online identity and privacy; recognise inappropriate content, contact and conduct and know how to report concerns.