Lesson 6: Loops with Rey and BB-8
Overview
Building on the concept of repeating instructions from "Getting Loopy," this stage will have students using loops to help BB-8 traverse a maze more efficiently than before.
Purpose
In this lesson, students will be learning more about loops and how to implement them in Blockly code. Using loops is an important skill in programming because manually repeating commands is tedious and inefficient. With the Code.org puzzles, students will learn to add instructions to existing loops, gather repeated code into loops, and recognize patterns that need to be looped. It should be noted that students will face puzzles with many different solutions. This will open up discussions on the various ways to solve puzzles with advantages and disadvantages to each approach.
Agenda
Bridging Activity - Loops (10 min)
Main Activity (30 min)
Wrap Up (5 - 10 min)
Extended Learning
View on Code Studio
Objectives
Students will be able to:
- Identify the benefits of using a loop structure instead of manual repetition.
- Break down a long sequence of instructions into the largest repeatable sequence.
- Employ a combination of sequential and looped commands to reach the end of a maze.
Preparation
- Play through the lesson to determine if there will be any problem areas for your class.
- Make sure every student has a journal.
Links
Heads Up! Please make a copy of any documents you plan to share with students.
For the Students
- Think Spot Journal - Reflection Journal
Vocabulary
- Loop - The action of doing something over and over again.
- Repeat - To do something again.
Support
Report a Bug
Teaching Guide
Bridging Activity - Loops (10 min)
Content Corner
Teaching this course as a class?
Our grade-aligned CS Fundamentals courses use unplugged lessons to build community and introduce tricky computer science concepts, including loops. Check out the lesson My Loopy Robotic Friends from Course C!
Previewing Online Puzzles as a Class
Pull up the online puzzles and choose a puzzle to do in front of the class. We recommend puzzle 8 for its staircase pattern. Ask the students to write a program to solve the puzzle on paper.
Main Activity (30 min)
Online Puzzes
As students work through the puzzles, see if they can figure out how many blocks they use with a loop vs. not using a loop. Pair Programming - Student Video works really well with this set of puzzles because there are a few ways to fill the loops. Push for friendly discussion between pairs in instances of disagreement on how to solve the puzzle. Have the students ask each other questions like:
- How did you come up with that solution?
- What are some benefits of solving the puzzle that way?
We also recommend having paper on hand for students to write out their code and find any repetition to use in loops.
Wrap Up (5 - 10 min)
Journaling
Having students write about what they learned, why it’s useful, and how they feel about it can help solidify any knowledge they obtained today and build a review sheet for them to look to in the future.
Journal Prompts:
- What was today’s lesson about?
- How did you feel during today’s lesson?
- How did loops make your program easier to write?
- Think of something that repeats over and over again. What might the program for that look like?
Extended Learning
Use these activities to enhance student learning. They can be used as outside of class activities or other enrichment.
So Moving
- Give the students pictures of actions or dance moves that they can do.
- Have students arrange moves and add loops to choreograph their own dance.
- Share the dances with the rest of the class.
Connect It Back
- Find some YouTube videos of popular dances that repeat themselves.
- Can your class find the loops?
- Try the same thing with songs!
Student Instructions
"Go get the scrap metal, BB-8!"
Use five of the same blocks to get the scrap metal. Scrap metal glows like this:
Student Instructions
What do you think will happen when you click "Run"?
BB-8 will not move.
BB-8 will move only one space
BB-8 will move 5 times and get all of the scrap metal
I don't know
Student Instructions
"Go BB-8!"
To get all the scrap metal, try creating a loop that uses only one block inside of a repeat
block.
Student Instructions
"Keep it up, BB-8."
In this puzzle, two repeat
loops will help you get BB-8 to all of the scrap metal with the fewest number of blocks!
Student Instructions
"Go BB-8!"
Student Instructions
"Can you get it all?"
Loops even work with more than one block inside! Can you loop this sequence?
Student Instructions
"You can do it!"
Can you try to get all the scrap metal using just one loop? Try programming it all out then finding the repeating code to put in a loop.
Student Instructions
"Keep it up, BB-8."
Challenge: Combine ideas from the last few puzzles to complete this level.
Student Instructions
"Keep going!"
Use what you have learned to pick up all of the scrap metal!
Student Instructions
"Go BB-8!"
You are doing great! Keep it up!
Student Instructions
Look closely at the code below. What will happen when you click "Run"?
BB-8 will travel too far in the first loop.
BB-8 will not travel far enough in the first loop in order to get all of the scrap metal.
BB-8 will collect all of the scrap metal with no problems.
I don't know.
Student Instructions
"Keep going, BB-8!"
You are almost there! This time, choose any path you like!
Student Instructions
Student Instructions
"Let's hunt for treasure!"
Help the collector get at least 5 pieces of treasure.
Standards Alignment
View full course alignment
CSTA K-12 Computer Science Standards (2017)
AP - Algorithms & Programming
- 1A-AP-09 - Model the way programs store and manipulate data by using numbers or other symbols to represent information.
- 1A-AP-10 - Develop programs with sequences and simple loops, to express ideas or address a problem.
- 1A-AP-11 - Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions.
- 1A-AP-14 - Debug (identify and fix) errors in an algorithm or program that includes sequences and simple loops.