Lesson 4: Programming with Rey and BB-8

Overview

In this lesson, students will use their newfound programming skills in more complicated ways to navigate a tricky course with BB-8.

Purpose

With transfer of knowledge in mind, this lesson gives students a new environment to practice the skills that they have been cultivating. Star Wars fans will jump for joy when they see these puzzles. Each puzzle in this series has been added to provide a deeper understanding of the basic concepts that they will be using throughout the rest of this course.

Agenda

Warm Up (15 min)

Main Activity (30 min)

Wrap Up (15 min)

View on Code Studio

Objectives

Students will be able to:

  • Sequence commands in a logical order.
  • Recognize problems or "bugs" in a program and develop a plan to resolve the issues.

Preparation

  • Play through the lesson to find any potential 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

Vocabulary

  • Algorithm - A list of steps to finish a task.
  • Bug - Part of a program that does not work correctly.
  • Debugging - Finding and fixing problems in an algorithm or program.
  • Program - An algorithm that has been coded into something that can be run by a machine.
  • Programming - The art of creating a program.

Support

Report a Bug

Teaching Guide

Warm Up (15 min)

Introduction

Ask the students how they felt about the last lesson.

  • Which puzzles were too hard or too easy?
  • Which puzzles were frustrating or a lot of fun?
  • If they were to teach the lesson to a friend, which part of the lesson would they want to review?

Use these questions to form a brief review of programming and debugging. If you think the class could benefit from it, you can go over the vocabulary words and definitions from the last lesson.

If you feel comfortable, also give a brief introduction to BB-8 from Star Wars. Many students may already be familiar with the lovable robot, but the introduction will surely build excitement.

Main Activity (30 min)

Online Puzzles

As we mentioned in the last lesson, we highly recommend viewing and using Pair Programming - Student Video as a class. Pair programming stimulates a discussion that can answer questions, review basic concepts, and build confidence with the subject.

Wrap Up (15 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?
  • Draw one of the Feeling Faces - Emotion Images that shows how you felt about today's lesson in the corner of your journal page.
  • Draw a picture of BB-8 you guided through the maze today and add a list of the commands that you used.
View on Code Studio

Student Instructions

View on Code Studio

Student Instructions

View on Code Studio

Student Instructions

View on Code Studio

Student Instructions

View on Code Studio

Student Instructions

View on Code Studio

Student Instructions

Behind the bushes there is a beautiful vine full of flowers. Can you climb the vine and see where it goes?

View on Code Studio

Student Instructions

Challenge: It's a hidden garden! Let's walk around.

View on Code Studio

Student Instructions

View on Code Studio

Student Instructions

View on Code Studio

Student Instructions

Use what you have learned to draw a picture of what you think the artist saw when he got home.


Ideas

View on Code Studio

Student Instructions

"It's time to toss the dice! Can you help me draw these?"

View on Code Studio

Student Instructions

Draw as many X's as you can. Can you get 3 in a row?

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-11 - Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions.