« Middle School Courses
This course is included with our Coding/STEAM Curriculum - Middle School Plan


Introduce your middle school class to coding. In this course, students get started with visual block coding, then move on to solving text-based coding problems in JavaScript and Python. Each lesson is designed for a class period of 45-60 minutes. Students learn on their own as they progress through interactive tutorials and coding puzzles, following along to build their own projects. In the first three lessons, students solve simple puzzles to learn the basics, build a 2-player game using the Tynker physics engine, and apply their coding knowledge to STEM subject areas. In the final two lessons, they move on to text coding in JavaScript and Python. All student work is automatically tracked and assessed, and with access to the premium offerings, you'll even be able to monitor their individual progress and mastery charts.


  • Sequencing
  • Repetition
  • Events
  • Conditional logic
  • Animation
  • Storytelling
  • Problem solving and debugging
  • Direction and turning

Technical Requirements

* 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.

Lesson Plan

Lesson: Introduction to Tynker

Time: 70+ mins


Welcome to the first lesson in the Programming 300 coding course! In this lesson, students will combine sequencing, conditional logic, and loops as they complete 12 puzzle modules about a dragon. Additionally, students will create and customize a dragon avatar! Below are code blocks you will encounter in this lesson. Read through them before getting started.

New Code Blocks

  • : Move the Actor forward.
  • : Make the Actor move up.
  • : Repeat blocks inside this loop a specified number of times.
  • : If the condition is true, then run the code inside the block.
  • : Make the Actor eat objects.
  • : Make the Actor destroy objects.
  • : Make the Actor move down.
  • : Make the Actor face the opposite direction.
  • : Make the Actor repeat this loop until a true or false condition [boolean value] determines when the block should stop repeating the code inside it. In this lesson, the dragon will repeat blocks inside the loop until it reaches the treasure.


  • Code: The language that tells 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
  • Stage: The background of the project where the Actors are placed
  • 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
  • Condition: A logical expression that evaluates to true or false
  • Conditional statement: A type of statement that executes different parts of the code based on whether a logical expression evaluates to true or false.


Students will...
  • Apply sequencing logic to solve puzzles
  • Use new code blocks to solve puzzles
  • Use conditional logic to solve puzzles


  • Computers (1 per student) with student account access to Tynker.com

Warm-Up (10 minutes)

1. Say, "Today we are going to combine sequencing, conditional logic, and loops to solve puzzle modules in Tynker.”
2. Ask, "Who can remind us what a loop does?" (repeats an action over and over)
3. Ask, "Who can give an example of a counting loop?" (e.g., clap four times)
4. Explain that a conditional statement is a type of statement that executes different parts of the code based on whether a logical expression evaluates to true or false. Model this concept by singing the song “If You're Happy and You Know It."
5. As a class, sing a few verses of the song.
6. Explain "being happy" is a condition and if "you're happy" is true, then clap your hands.
7. Further explain that if the condition isn't true (i.e., you're not happy), then don't clap your hands.
8. Optional: Review “repeat until” loops by acting out the following statements with students:
         - Keep walking until you reach a wall.
         - Keep your eyes open until you need to blink.

Getting Started (10 minutes)

As a class, solve "Module 7: Forward. Fly Up.”:
1. Use your projector and open “Module 7: Forward. Fly Up.”
2. Think out loud through the solution and write the sequence on the classroom board: fly up - forward - fly up - forward - fly up - forward.
3. Circle each pair of “fly up, forward” statements so you have three circles.
4. Ask, “How many times does the ‘fly up, forward’ pattern repeat?” (3 times)
5. As a class, solve the puzzle using the “repeat” code block. Note: You need to change the value of the “repeat” block to “3.”

If this is your students’ first time using Tynker, model how to use Tynker and tell students how to…
  • Grab a code block: Select a code block and drag it to the center coding area. Release the block to drop it.
  • Remove unwanted code blocks: Select a code block from the center coding area and drag it to the far left to make it disappear.
  • Attach code blocks: Say, “Blocks are used to create code in Tynker, and they attach like jigsaw puzzle pieces.” Explain that if you put a code block to the side of another code block, they will not attach.

Activities (50 minutes)

Facilitate as students complete the Introduction to Tynker modules on their own:
1. Introduction (Video)
    • This short video introduces the Programming 300 coding course.
2. Intro Video (Video)
    • Learn about the Tynker Workshop in this short video.
3. Puzzles Intro (Video)
    • This short video introduces the puzzle module.
4. Selector (Video)
    • Students will have 60 seconds to create a dragon.
5. Forward (Puzzle)
    • This puzzle module introduces the “forward” block.
    • Are students using too many “forward” blocks? Explain that the "forward" block in this lesson is different than "walk" blocks. The "forward" block will make the dragon move forward until it reaches an obstacle.
    • Give a hint: Tell students to use only one "forward" block.
6. Fly Up (Puzzle)
    • This puzzle module introduces the “fly up” block.
    • Similar to the “forward" block, the "fly up" block will make the dragon keep flying up until it runs into an obstacle.
7. Forward. Fly Up. (Puzzle)
    • Students can solve this puzzle using only “fly up” and “forward” blocks, but encourage them to reduce their lines of code by using the “repeat” block.
    • Are students struggling with the “repeat” block?
      • Tell them to write down the steps, work together, and identify the pattern before using any code blocks.
      • Remind students the "repeat" block will repeat code blocks for a specified number of times, which is shown in the number inside the "repeat" block.
      • Note that the value of the “repeat” block is set to the incorrect value of "2." Tell students to change the “repeat” block to the correct value of "3."
8. Eat and Blast (Puzzle)
    • This puzzle module is more challenging than previous puzzles in this lesson, and introduces the “eat” and “blast” blocks.
    • Tell students the "eat" block will make the dragon eat the fly in front of it and the "blast" block will make the dragon breathe fire (or ice) on the enemy.
    • Tell students the two “if” blocks will run the code inside it if there is a firefly or fire knight in front of the dragon. Note: The dragon must eat a firefly in order to blast a knight.
9. Drop Down, Turn Around (Puzzle)
    • This puzzle introduces the “go down” and “turn around” blocks.
    • Tell students the "go down" block will make the dragon move down until it hits an obstacle and the "turn around" block will make the dragon face the opposite direction.
    • Give students a hint: Tell students to run their code and then watch each code block get highlighted in green as the program runs. Tell students to check each step their dragon takes and make sure that the correct action is happening at the time that they want it to happen.
10. Defeat the Knight (Puzzle)
    • To defeat the knight, students must program their dragon to eat a firebug then “blast” it at the fire knight.
    • Remind students that the dragon needs to eat the bug four times and to check the number next to the bug to see how many bugs are available to eat.
11. Spiral Up (Puzzle)
    • Students can complete this puzzle without using the "repeat" block, but encourage them to think through the steps that could be repeated to get the dragon to the treasure.
    • If students are using a “repeat” block, tell them the pattern does not repeat perfectly and it is okay for the dragon to turn around when it gets to the treasure.
12. Ziggurat (Puzzle)
    • This puzzle uses the “repeat until” block. Remind students that the “repeat until” block tells the character to do everything inside the loop again and again until a condition is met. In this case, the condition is the dragon reaching the treasure.
    • Your students can solve this puzzle without the “repeat until” block, but encourage them to write down their steps and identify a repeating pattern.
13. Fly. Fly. Fly Up. (Puzzle)
    • This puzzle uses the "if" block conditionals with the "repeat until" blocks.
    • Encourage students to think out loud through their solution and write down the steps the dragon needs to take.
    • Remind students the dragon needs to eat a bug before blasting a knight.
14. Get the Knights! (Puzzle)
    • This puzzle uses all of the new blocks from this lesson.
    • Give a hint: Tell students the dragon needs to eat a bug, turn around, then blast the knight.
15. Flags (Puzzle)
    • Students need to code the dragon to complete a specified task at each flag in order to reach the treasure.
    • Give a hint: Tell students to attach one “forward” block below the “on start” block.
    • Are students still struggling? Tell them the dragon must do something different at each flag. For example, the dragon needs to “go down” at the first red flag and move forward at the second red flag
16. Power Up (Puzzle)
    • Encourage students to think out loud through their solution and write down steps before adding code blocks.
    • Give a hint: Tell students to attach one “fly up” block below the “on start” block. To move the dragon to the treasure, tell students to attach the “eat,” “blast,” “forward,” and “if” blocks inside one “repeat until” block.
    • Remind students to eat flies before blasting the knight.
    • Remind students that they can change the value inside the “repeat” block.

Optional Activities (20 minutes)

K-W-L Chart: Programming
Create a class K-W-L chart, which tracks what the class knows (K), wants to know (W), and has learned (L) about programming. Ask students what they know about coding, programmers, and different programming languages. Write their responses in the “K” column of the chart. Next, ask students what they want to know, and write their responses in the “W” column of the chart. Add to the “L” column of the chart after each Tynker lesson.


  • CCSS-ELA: RI.6.4, RI.6.7, SL.6.1, SL.7.1, SL.8.1
  • CCSS-Math: MP.1
  • CSTA: 2-AP-12, 2-AP-13, 2-AP-15, 2-AP-17
  • CS CA: 6-8.AP.12, 6-8.AP.13, 6-8.AP.15, 6-8.AP.17
  • ISTE: 1.c, 1.d, 4.d, 5.c, 5.d, 7.c

Class Presentations

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..
Lesson 1
Intro to Tynker
37 Slides
Lesson 2
Intro to Game Design
20 Slides
Lesson 3
24 Slides
Lesson 4
Intro to JavaScript
25 Slides
Lesson 5
Intro to Python
23 Slides