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

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

Heads Up! Please make a copy of any documents you plan to share with students.

## Vocabulary

• Loop - The action of doing something over and over again.
• Repeat - To do something again.

# 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!
View on Code Studio

### Student Instructions

View on Code Studio

### 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:

View on Code Studio

### 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

View on Code Studio

### Student Instructions

View on Code Studio

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

View on Code Studio

### 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!

View on Code Studio

### Student Instructions

"Go BB-8!"

View on Code Studio

### Student Instructions

"Can you get it all?"

Loops even work with more than one block inside! Can you loop this sequence?

View on Code Studio

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

View on Code Studio

### Student Instructions

"Keep it up, BB-8."

Challenge: Combine ideas from the last few puzzles to complete this level.

View on Code Studio

### Student Instructions

"Keep going!"

Use what you have learned to pick up all of the scrap metal!

View on Code Studio

### Student Instructions

"Go BB-8!"

You are doing great! Keep it up!

View on Code Studio

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

View on Code Studio

### Student Instructions

"Keep going, BB-8!"

You are almost there! This time, choose any path you like!

View on Code Studio

### Student Instructions

View on Code Studio

### Student Instructions

"Let's hunt for treasure!"

Help the collector get at least 5 pieces of treasure.

## Standards 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.