0% found this document useful (0 votes)
27 views135 pages

Express Course

The Express Course for 2024 offers a comprehensive curriculum in computer science, featuring lessons that teach programming, debugging, and creative project development through engaging activities. Students will progress through various lessons, including creating games, art, and music, while learning essential coding concepts such as loops, conditionals, and functions. The course is designed for self-paced learning, allowing students to build problem-solving skills and share their projects with others.

Uploaded by

toyib.aryanto14
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views135 pages

Express Course

The Express Course for 2024 offers a comprehensive curriculum in computer science, featuring lessons that teach programming, debugging, and creative project development through engaging activities. Students will progress through various lessons, including creating games, art, and music, while learning essential coding concepts such as loops, conditionals, and functions. The course is designed for self-paced learning, allowing students to build problem-solving skills and share their projects with others.

Uploaded by

toyib.aryanto14
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 135

Express Course (2024)

 Teacher resources  Printing Options


Learn computer science by trying the lessons below at your own pace! Learn to create computer programs,
develop problem-solving skills, and work through fun challenges! Make games and creative projects to share with
friends, family, and teachers.

Lesson 1: Lesson 2: Lesson 4:


Lesson 3: Collecting
Week 1 Programming with Debugging in Creating Art with
Treasure with Laurel
Angry Birds Maze Code

Lesson 5:
Lesson 9:
Swimming Lesson 6: Lesson 7: Sprites in Lesson 8: Mini-
Week 2 Dance
Fish with Making Sprites Action Project: Virtual Pet
Party
Sprite Lab

Lesson 13:
Lesson 10: Music Lab Lesson 11: Loops Lesson 12: Mini-
Week 3 Nested Loops
Intro Tutorial with Rey and BB-8 Project: Sticker Art
in Maze

Lesson 15:
Lesson 14: Snowflakes Lesson 16: If/Else Lesson 17: While
Week 4 Looking Ahead
with Anna and Elsa with Bee Loops in Farmer
with Minecraft

Lesson 18:
Lesson 20: Lesson 21:
Conditionals in Lesson 19: Until
Week 5 Harvesting with Functions in
Minecraft: Voyage Loops in Maze
Conditionals Minecraft
Aquatic

Lesson 22: Lesson 25:


Lesson 23: Functions Lesson 24: Text
Week 6 Functions with Counting with
with Artist and Prompts
Harvester Variables

Lesson 26:
Using Lesson 27: Variables Lesson 28: For Loops Lesson 29: For Loops
Week 7
Variables with with the Bee with Bee with Artist
the Artist

Lesson 30: End


Week 8 of Course
Project

Key ■ Instructional Lesson  Assessment ✀ Unplugged Lesson

 View calendar  Show All Lessons  Hide All Lessons 

 Sequencing
 Lesson 1: Programming with Angry Birds

In this skill-building lesson, students will develop sequential algorithms to move a bird from one side
of a maze to the pig at the other side. To do this they will stack code blocks together in a linear
sequence, making them move straight, turn left, or turn right.

 1 Video: Maze Intro - Programming with Blocks

 2-7 Skill Building

2 3 4 5 6 7

 8 Challenge

 9 Practice

 10 Prediction

 11 Practice

 Lesson 2: Debugging in Maze

In this skill-building lesson, students will encounter pre-written code that contains mistakes. They
will need to step through the existing code to identify errors.

 1 Video: Debugging with the Step Button

 2-7 Skill Building

2 3 4 5 6 7

 8 Challenge

 9 Prediction

 10 Practice

 Lesson 3: Collecting Treasure with Laurel


In this skill-building lesson, students will continue to develop their understanding of algorithms and
debugging. With a new character, Laurel the Adventurer, students will create sequential algorithms
to get Laurel to pick up treasure as she walks along a path.

 1 Video: The Collector

 2-7 Skill Building

2 3 4 5 6 7

 8 Challenge

 9-11 Practice

9 10 11

 12 Prediction

 13 Practice

 Lesson 4: Creating Art with Code

In this skill-building lesson, students will take control of the Artist to complete drawings on the
screen.

 1 Video: Artist Intro with JR Hildebrand

 2-7 Skill Building

2 3 4 5 6 7

 8 Challenge

 9 Practice

 10 Prediction

 Sprites
 Lesson 5: Swimming Fish with Sprite Lab

Students will program a simple animated underwater scene in this skill-building lesson.

 1 Video: Introducing Sprite Lab

 2 Prediction

 3-5 Skill Building

3 4 5

 6 Video: How to Make a Sprite

 7-8 Practice

7 8

 9 Free Play

 Lesson 6: Making Sprites

In this skill-building lesson, students will work through a series of programming levels on the
computer, finishing with an open-ended “free play” task where they can build whatever they like.
Students will write programs and learn about the two concepts at the heart of Sprite Lab: sprites and
behaviors.

 1-7 Exploration: Sample Apps

1 2 3 4 5 6 7

 8-12 Skill Building

8 9 10 11 12

 13-16 Practice

13 14 15 16

 17-22 Free Play: Make a Scene


17 18 19 20 21 22

 Events

 Lesson 7: Sprites in Action

In this skill-building lesson, students will work through a series of programming levels on the
computer, finishing with an open-ended “free play” task where they can build whatever they like.
Students will write programs that respond to timed events and user input.

 1 Prediction

 2 Video: Sprites in Action

 3-7 Skill Building

3 4 5 6 7

 8 Practice

 9 Free Play: Make an Interactive Scene

 Lesson 8: Mini-Project: Virtual Pet

Students will create an interactive Virtual Pet that looks and behaves how they wish in this mini-
project lesson. Students will use Sprite Lab's "Costumes" tool to customize their pet's appearance.
They will then use events, behaviors, and other concepts they have learned to bring their project to
life.

 1 Exploration

 2-6 Mini-Project: Create a Virtual Pet

2 3 4 5 6

 7 Free Play
 Lesson 9: Dance Party

In this skill-building lesson, students will program an interactive dance party.

 1 Video: Warm Up

 2 Practice

 3 Video: Events

 4-5 Events

4 5

 6 Video: Measures

 7-9 Measures

7 8 9

 10 Video: Properties

 11-13 Properties

11 12 13

 14 Video: Wrap-up

 15 Free Play

 Lesson 10: Music Lab Intro Tutorial

In this engaging and interactive lesson, students will dive into the world of music creation through
coding. Using Music Lab, a block-based integrated development environment (IDE), learners will
discover the power of programming to make their own unique sounds, compose songs, and perform
live music. By the end of this lesson, students will not only have developed foundational coding skills
but also an appreciation for the interdisciplinary connection between music and technology. All the
skills they learn in this tutorial will set them up for success when they get to the Music Lab project,
which is an open space for students to create any song they'd like!

 1 Introduction
 2 Play a sound

 3 Play more sounds

 4-5 Repeat

4 5

 6-7 Play together

6 7

 8-9 Functions

8 9

 10-11 Triggers

10 11

 12-14 Custom notes & beats

12 13 14

 15-16 Project

15 16

 Loops

 Lesson 11: Loops with Rey and BB-8


This skill-building lesson has students using loops to help BB-8 efficiently traverse a maze.

 1 Video: Programming with Rey and BB-8

 2 Skill Building

 3 Prediction
 4 Video: Repeat Blocks with BB-8

 5-9 Skill Building

5 6 7 8 9

 10 Challenge

 11-12 Practice

11 12

 13 Prediction

 14 Practice

 Lesson 12: Mini-Project: Sticker Art

This mini-project lesson builds on the understanding of loops from previous lessons. Students will
create unique artwork with the Artist.

 1-8 Mini-Project: Sticker Art

1 2 3 4 5 6 7 8

 9 Free Play

 Lesson 13: Nested Loops in Maze

In this skill-building lesson, students will learn how to program a loop inside of another loop.

 1-2 Skill Building

1 2

 3 Video: Nested Loops with the Bee

 4 Prediction

 5-9 Skill Building


5 6 7 8 9

 10 Challenge

 11-12 Practice

11 12

 13 Prediction

 Lesson 14: Snowflakes with Anna and Elsa

This mini-project lesson takes students through a series of exercises to create snowflake images
using characters from the Frozen movies.

 1-4 Skill Building

1 2 3 4

 5-6 Practice

5 6

 Conditionals

 Lesson 15: Looking Ahead with Minecraft

This skill-building lesson gives students the chance to practice concepts that they have learned up
to this point and get their first experience with conditionals!

 1-10 Skill Building

1 2 3 4 5 6 7 8 9 10

 11-13 Challenge

11 12 13
 14 Free Play

 Lesson 16: If/Else with Bee


In this skill-building lesson, your class will continue to code with conditionals, allowing them to write
code that functions differently depending on the specific conditions the program encounters.

 1 Video: Conditionals: If Statements

 2 Prediction

 3-7 Skill Building

3 4 5 6 7

 8 Video: Conditionals: If and If/Else Statements

 9 Skill Building

 10 Prediction

 11 Challenge

 12-13 Practice

12 13

 14-15 Challenge

14 15

 Lesson 17: While Loops in Farmer

In this skill-building lesson, students will be working to fill holes and dig dirt in Farmer, but they will
not know the size of the holes or the height of the mounds of dirt. To solve these puzzles, students
will use a new kind of loop.

 1-3 Skill Building

1 2 3
 4 Video: While Loops with the Farmer

 5 Prediction

 6-9 Skill Building

6 7 8 9

 10 Challenge

 11-12 Practice

11 12

 13 Prediction

 14 Challenge

 Lesson 18: Conditionals in Minecraft: Voyage Aquatic

In this skill-building/context-setting lesson, students will get the chance to practice content that
they have learned up to this point, as well as getting a sneak peek at conditionals!

 1 Video: Minecraft: Voyage Aquatic Introduction

 2-4 Skill Building

2 3 4

 5 Video: Minecraft: Voyage Aquatic Repeat Until

 6-8 Skill Building

6 7 8

 9 Video: Minecraft: Voyage Aquatic Conditionals

 10-14 Skill Building

10 11 12 13 14
 15 Video: Minecraft: Voyage Aquatic Congratulations

 16 Free Play

 Lesson 19: Until Loops in Maze

In this skill-building lesson, students will learn about "until" loops. Students will build programs that
have the main character repeat actions "until" they reach their desired stopping point.

 1 Skill Building

 2 Video: Repeat Until Statements

 3 Prediction

 4-8 Skill Building

4 5 6 7 8

 9 Challenge

 10 Practice

 11 Prediction

 Lesson 20: Harvesting with Conditionals


Students will practice while loops, until loops, and if / else statements. All of these blocks use
conditionals. By practicing all three, students will learn to write complex and flexible code.

 1 Video: Harvesting with Conditionals

 2-5 Skill Building

2 3 4 5

 6-7 Practice

6 7
 8 Challenge

 9-10 Practice

9 10

 11 Prediction

 Functions

 Lesson 21: Functions in Minecraft

In this skill-building lesson, students will begin to understand how functions can be helpful!

 1 Video: Minecraft - The Agent

 2-3 Skill Building

2 3

 4 Video: Minecraft - Repeat Loops

 5-9 Skill Building

5 6 7 8 9

 10 Video: Minecraft - Functions

 11-14 Skill Building

11 12 13 14

 15 Video: Minecraft - Congratulations

 16 Free Play

 Lesson 22: Functions with Harvester


In this skill-building lesson, students will use conditionals with functions to harvest crops in
Harvester.

 1 Video: The Harvester

 2-10 Skill Building

2 3 4 5 6 7 8 9 10

 11 Challenge

 12 Practice

 13 Prediction

 Lesson 23: Functions with Artist

In this skill-building lesson, students will use functions with the Artist.

 1 Prediction

 2-9 Practice

2 3 4 5 6 7 8 9

 10 Challenge

 11 Practice

 12 Prediction

 13 Free Play

 Variables

 Lesson 24: Text and Prompts

In this skill-building lesson, students will get practice with variables in Sprite Lab.
 1 Prediction

 2 Video: Text and Prompts

 3-8 Skill Building

3 4 5 6 7 8

 9 Practice

 Lesson 25: Counting with Variables


In this skill-building lesson, students will use variables to track a value that changes over time, like a
counter. This lesson also includes a short mini-project in which students create a simple game.

 1-2 Prediction

1 2

 3-5 Skill Building

3 4 5

 6 Exploration: Clicker Game

 7-11 Mini-Project: Clicker Game

7 8 9 10 11

 Lesson 26: Using Variables with the Artist

In this skill-building lesson, students will explore the creation of repetitive designs using variables in
the Artist environment. Students will learn how variables make code easier to write and easier to
read. After guided puzzles, students will end in a free play level to show what they have learned and
create new designs.

 1 Prediction

 2 Video: Variables in Artist


 3-6 Skill Building

3 4 5 6

 7 Free Play

 Lesson 27: Variables with the Bee

This skill-building lesson will help illustrate how variables can make programs more dynamic by
allowing values to change while the code is running.

 1-7 Skill Building

1 2 3 4 5 6 7

 8-10 Practice

8 9 10

 For Loops

 Lesson 28: For Loops with Bee

This skill-building lesson focuses on for loops and using an incrementing variable to solve more
complicated puzzles.

 1-2 Review

1 2

 3 Exploration: For Loops

 4 Video: For Loops

 5 Prediction

 6-8 Skill Building


6 7 8

 9-13 Practice

9 10 11 12 13

 Lesson 29: For Loops with Artist

In this skill-building lesson, students practice “for” loops with Artist. Students will complete puzzles
to create complex designs and unique art.

 1 Video: For Loops

 2 Exploration

 3-7 Skill Building

3 4 5 6 7

 8 Free Play

 End of Course Project

 Lesson 30: End of Course Project

This project lesson takes students through the process of designing, developing, and showcasing
new projects!

 1 Example Projects

 2 Create your project


Lesson 1: Programming with Angry Birds
50 minutes

Overview Objectives
In this skill-building lesson, students will develop sequential Students will be able to:
algorithms to move a bird from one side of a maze to the pig at
the other side. To do this they will stack code blocks together in Identify and locate bugs in a program.
a linear sequence, making them move straight, turn left, or turn Translate movements into a series of
right. commands.

Purpose Preparation
In this lesson, students will develop programming and Play through the puzzles to find any
debugging skills on a computer platform. The block-based potential problem areas for your class.
format of these puzzles help students learn about sequence (Optional) Pick a couple of puzzles to
and concepts, without having to worry about perfecting syntax.
do as a group with your class.

Standards Full Course Alignment


Links
CSTA K-12 Computer Science Standards (2017)
Heads Up! Please make a copy of any
AP - Algorithms & Programming documents you plan to share with
students.

Agenda For the teachers


Warm Up (10 minutes)
CSF - Express - Slides 2024-2025 -
Reflect
Slides (Download)  Make a Copy
Vocabulary
Persistence and Debugging For the students

Previewing Online Puzzles as a Class (5 minutes) Maze Bridging Page


Unplugged Maze Blocks -
Main Activity (30 minutes)
Manipulatives  Make a Copy
Programming with Angry Birds

Wrap Up (5 minutes) Vocabulary


Reflection
Algorithm - A list of steps to finish a
Extended Learning task.
Bug - Part of a program that does not
Cross-Curricular Opportunity
work correctly.
Debugging - Finding and fixing
problems in an algorithm or program.
Sequencing - Putting commands in
correct order so computers can read
the commands.
Teaching Guide

Warm Up (10 minutes)

Reflect

 Display: Show “Reflect” slide

Reflect: Why is it important to give a robot specific instructions when you “program” it?

Vocabulary

 Display: Show “Vocabulary” slide

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.
Sequencing - Putting commands in correct order so computers can read the commands.

Persistence and Debugging

 Display: Show “Bridging Activity” slide

This short activity will help students relate the ideas of persistence and debugging to the puzzles that they are
about to complete online.

 Display: Show “Maze Bridging” slide

Display: Project a copy of the *Maze Bridging Page for the class to see. Make sure that you have pre-placed the
movement blocks in the workspace using *Maze Blocks in a configuration like the one below (this is already
configured for you on the slide):

Model: Tell students that you have this workspace on display that looks just like the area that they will see when
they start to do the Code.org puzzles online. As the teacher, let them know that you are SO SMART that you
already put all of the code in that you are going to need to solve this puzzle, then ask them to watch you "Run" it by
moving your finger (or a penny, or some other indicator) along the path.

It won't be long before you run into a block of TNT. Feign frustration.

Discuss:

What am I feeling right now, do you think?


Should I quit?
Should I throw all of the code away and start over?
Think: How can I fix this program so that I don't run into the TNT?

Use the blocks provided on the slide and drag them into the work area to demonstrate student solutions.

Pair: Have students work on solutions to get the bird around the TNT. Depending on your classroom, you might
want to either have them fix each mistake one at a time (with demos in between) or students might feel
comfortable working together to fix the entire program.

Share: Have volunteers come up to help move the blocks into the right location. "Run" the program over and over
as a class, fixing bugs, until the bird does what it is supposed to. Continue to point out experiences that relate to
persistence, frustration, and debugging.

When your class reaches the pig, celebrate not only their achievements, but their persistence!

Previewing Online Puzzles as a Class (5 minutes)


Students should now be ready to see a real puzzle in action!

 Teaching Tip 

Some students may struggle with turning their bird in the correct direction, particularly when the bird isn't
facing up. Remind students that when we say turn left or right, we're giving directions from the bird's point of
view.

 Display: Show “Preview Online Puzzle” slide

Model: Pull up Puzzle 5 to do in front of the class. This will be the same puzzle that they just saw in the bridging
activity. While working through this puzzle with the class, remind students that making mistakes is okay and remind
them that the only way to be successful is to be persistent.

Discuss: Does anyone remember how to solve this puzzle?

As the teacher, you should decide if you will have the students remind you how to solve it from their seats, or come
to the computer to drag the actual blocks in one-by-one.

Transition: Now that students have seen an online puzzle in practice, they should be ready to start solving puzzles
of their own. Continue to the lab or bring out their classroom computers.

Main Activity (30 minutes)

Programming with Angry Birds

 Teaching Tip 

Show the students the right way to help classmates:

Don’t sit in the classmate’s chair


Don’t use the classmate’s keyboard
Don’t touch the classmate’s mouse
Make sure the classmate can describe the solution to you out loud before you walk away

 Display: Show “Maze Intro: Programming with Blocks” video


 1 Video: Maze Intro - Programming with Blocks

 Display: Show “Decompose it!” slide

Remind students to break each puzzle down into smaller steps.

 Display: Show “Level 2-7 - Skill Building” slide

 2-7 Skill Building

2 3 4 5 6 7

 Display: Show “Level 8 - Challenge” slide

 8 Challenge

 Display: Show “Level 9 - Practice” slide

 9 Practice

 Display: Show “Level 10 - Prediction” slide

 10 Prediction

 Display: Show “Level 11 - Practice” slide

 11 Practice

 Display: Show “Lesson Extras” slide

 12-13 Lesson Extras

 

Circulate: Teachers play a vital role in computer science education and supporting a collaborative and vibrant
classroom environment. During online activities, the role of the teacher is primarily one of encouragement and
support. Online lessons are meant to be student-centered, so teachers should avoid stepping in when students get
stuck. Some ideas on how to do this are:

Utilize pair programming whenever possible during the activity.


Encourage students with questions/challenges to start by asking their partner.
Unanswered questions can be escalated to a nearby group, who might already know the solution.
Remind students to use the debugging process before you approach.
Have students describe the problem that they’re seeing. What is it supposed to do? What does it do? What
does that tell you?
Remind frustrated students that frustration is a step on the path to learning, and that persistence will pay off.
If a student is still stuck after all of this, ask leading questions to get the student to spot an error on their own.

 Display: Show “Discuss” slide

Discuss: After providing students with end-of-class warnings, grab everyone's attention and get them to reflect on
the experiences that they just had.

Did anyone feel frustrated during any of the puzzles?


Did anyone notice the need to be persistent?

Transition: Have students take a moment to reflect on the lesson for themselves.

Wrap Up (5 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect: Why is it important to program your blocks in a specific order?

Extended Learning
Use these activities to enhance student learning. They can be used as outside of class activities or other
enrichment.

Create Your Own

In small groups, let students design their own mazes and challenge each other to write programs to solve them. For
added fun, make life-size mazes with students as the pig and bird.

Cross-Curricular Opportunity

Bugs, Bugs & More Bugs (45-60 minutes)

Computer Science + English Language Arts + Math

Bugs, Bugs & More Bugs is an optional activity aligned to Common Core ELA and Math standards, written by our
teacher community. Students will practice debugging as they fix code, correct a math problem and proofread
writing samples.

Standards Addressed:

CCSS.ELA-LITERACY.L.2.1.B: Form and use frequently occurring irregular plural nouns (e.g., feet, children,
teeth, mice, fish).

CCSS.ELA-LITERACY.L.2.2.A: Capitalize holidays, product names, and geographic names.

CCSS.ELA-LITERACY.L.2.2.C: Use an apostrophe to form contractions and frequently occurring possessives.

CCSS.MATH.CONTENT.2.OA.B.2: Fluently add and subtract within 20 using mental strategies.

CCSS.MATH.CONTENT.2.NBT.A.4: Compare two three-digit numbers based on meanings of the hundreds,


tens, and ones digits, using >, =, and < symbols to record the results of comparisons.
This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 2: Debugging in Maze
50 minutes

Overview Objectives
In this skill-building lesson, students will encounter pre-written Students will be able to:
code that contains mistakes. They will need to step through the
existing code to identify errors. Modify an existing program to solve
errors.
Predict where a program will fail.
Purpose Reflect on the debugging process in
an age-appropriate way.
Students in your class might become frustrated with this lesson
because of the essence of debugging. Debugging is a concept
that is very important to computer programming. Computer
scientists have to get really good at facing the bugs in their
Preparation
own programs. Debugging forces the students to recognize Play through the puzzles to find any
problems and overcome them while building critical thinking
potential problem areas for your class.
and problem solving skills.
(Optional) Pick a couple of puzzles to
do as a group with your class.
Review *CS Fundamentals Main
Standards Full Course Alignment
Activity Tips - Lesson
CSTA K-12 Computer Science Standards (2017) Recommendations.

AP - Algorithms & Programming Review the *Debugging Guide from


this course's curriculum overview
CS - Computing Systems
page with the class.

Agenda Links
Warm Up (15 minutes)
Reflect Heads Up! Please make a copy of any
Vocabulary documents you plan to share with
students.
Introduction

Main Activity (30 minutes) For the teachers


Debugging in Maze
CS Fundamentals Main Activity Tips
Wrap Up (5 minutes) - Lesson Recommendations
Reflection  Make a Copy

Extended Learning CSF - Express - Slides 2024-2025 -


Slides (Download)  Make a Copy
Debugging Guide - Resource
 Make a Copy

For the students

Pair Programming - Video


Vocabulary
Bug - Part of a program that does not
work correctly.
Debugging - Finding and fixing
problems in an algorithm or program.
Persistence - Not giving up.

Teaching Guide

Warm Up (15 minutes)

Reflect

 Display: Show “Reflect” slide

Ask students to think about problems they have to solve in everyday life.

Reflect:

How do you fix something in your everyday life that isn't working?
Do you follow a specific series of steps?

Vocabulary

 Display: Show “Vocabulary” slide

This lesson has three new and important vocabulary words:

Bug - Part of a program that does not work correctly.

Debugging - Finding and fixing problems in an algorithm or program.

Persistence - Not giving up.

Persistence works best when you try things many different ways, many different times.

Introduction

 Display: Show “Debugging in Maze” slide

 Remarks
The puzzles in this unit have already been solved for you (yay!), but they don't seem to be working (boo!) We call
the problems in these programs "bugs," and it will be your job to "debug" them.

 Display: Show “Debugging” slide

Say: Do you see an error in your program?

Work through the program step by step to find the error.


Try the first step, did it work?
Then the second, how about now?
 Remarks
If you make sure that everything is working line by line, then when you get to the place that your code isn't doing
what it's supposed to, you know that you've found a bug. Once you've discovered your bug, you can work to fix
(or "debug") it!

If you think it will build excitement in the class you can introduce the character of today's puzzles, Scrat from "Ice
Age". If students aren't familiar with Scrat, show some video clips of the quirky squirrel running into trouble.

Main Activity (30 minutes)

Debugging in Maze

Before letting the students start on the computer, remind them of the advantages of pair programming and asking
their peers for help. Sit students in pairs and recommend they ask at least two peers for help before they come to a
teacher.

 Display: Show “Debugging with the Step Button” video

 1 Video: Debugging with the Step Button

 Display: Show “Decompose it!” slide

Remind students to break each puzzle down into smaller steps.

 Display: Show “Level 2-7 - Skill Building” slide

 2-7 Skill Building

2 3 4 5 6 7

 Display: Show “Level 8 - Challenge” slide

 8 Challenge

 Display: Show “Level 9 - Predict” slide

 9 Prediction

 Display: Show “Level 10 - Practice” slide

 10 Practice

 Display: Show “Lesson Extras” slide


 11-12 Lesson Extras

 

As mentioned in the purpose of this lesson, make sure the students are aware that they will face frustrating
puzzles. Tell them it is okay to feel frustrated, but it is important to work through the problem and ask for help. As
the students work through the puzzles, walk around to make sure no student is feeling so stuck that they aren't
willing to continue anymore.

Wrap Up (5 minutes)

Reflection

 **Display: Show “Reflect” slide

Reflect: Draw a bug you found in one of the puzzles today. What did you do to "debug" the program?

Extended Learning
Use these activities to enhance student learning. They can be used as outside of class activities or other
enrichment.

Planting bugs

Have students go back through previous levels, purposefully adding bugs to their solutions. They can then ask
other students to debug their work. This can also be done with paper puzzles.

When other students are debugging, make sure that the criticisms are constructive. If this could be a problem for
your class, go over respectful debugging before this activity by role playing with another student.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 3: Collecting Treasure with Laurel
55 minutes

Overview Objectives
In this skill-building lesson, students will continue to develop Students will be able to:
their understanding of algorithms and debugging. With a new
character, Laurel the Adventurer, students will create Develop problem solving and critical
sequential algorithms to get Laurel to pick up treasure as she thinking skills by reviewing debugging
walks along a path. practices.
Order movement commands as
sequential steps in a program.
Purpose Represent an algorithm as a computer
In this lesson, students will be practicing their programming program.
skills using a new character, Laurel the Adventurer. When
someone starts programming they piece together instructions
in a specific order using something that a machine can read. Preparation
Through the use of programming, students will develop an
Play through the puzzles to find
understanding of how a computer navigates instructions and
potential problem areas for your class.
order. Using a new character with a different puzzle objective
will help students widen their scope of experience with
sequencing and algorithms in programming.
Links
Heads Up! Please make a copy of any
Standards Full Course Alignment
documents you plan to share with
CSTA K-12 Computer Science Standards (2017) students.

AP - Algorithms & Programming


For the teachers

CSF - Express - Slides 2024-2025 -


Agenda Slides (Download)  Make a Copy
Warm Up (10 minutes)
For the students
Reflect
Vocabulary Unplugged Blocks (Courses C-F)
Introduction  Make a Copy

Bridging Activity (10 minutes)


Vocabulary
Previewing Online Puzzles as a Class
Algorithm - A list of steps to finish a
Main Activity (30 minutes)
task.
Collecting Treasure with Laurel
Program - An algorithm that has been
Wrap Up (5 minutes) coded into something that can be run
Reflection by a machine.
Programming - The art of creating a
program.
Teaching Guide

Warm Up (10 minutes)

Reflect

Reflect: When is it important to be persistent in your everyday life?

Vocabulary

 Display: Show “Vocabulary” slide

Algorithm - A list of steps to finish a task.


Program - An algorithm that has been coded into something that can be run by a machine.
Programming - The art of creating a program.

Introduction

 Display: Show “New Block” slide

Say: Laurel the Adventurer will need to pick up the treasure that she is standing over. Our new block, collect ,
will allow her to do that.

This new block will be discussed more in the bridging activity.

Bridging Activity (10 minutes)

Previewing Online Puzzles as a Class

 Display: Show “Bridging Activity” slide

Say: Describe the algorithm that you think will get Laurel the Adventurer to collect all the treasure.

Ask the students to share. See how many other students had the same answer!

 Display: Show “Sample Answer” slide


Main Activity (30 minutes)

Collecting Treasure with Laurel

Laurel the Adventurer is looking to collect as much treasure as she can. Instruct the students to traverse the puzzle
to collect whatever they can. Some levels will require you to only pick up one piece of treasure, but others will
require you to pick up every piece of treasure. Pay attention to the instructions to know what to do!

 Display: Show “The Collector” video

 1 Video: The Collector

 Display: Show “Decompose it!” slide

Remind students to break each puzzle down into smaller steps.

 Display: Show “Level 2-7 - Skill Building” slide

 2-7 Skill Building

2 3 4 5 6 7

 Display: Show “Level 8 - Challenge” slide

 8 Challenge

 Display: Show “Level 9-11 - Practice” slide

 9-11 Practice
9 10 11

 Display: Show “Level 12 - Prediction” slide

 12 Prediction

 Display: Show “Level 13 - Practice” slide

 13 Practice

 Display: Show “Lesson Extras slide

 14-15 Lesson Extras

 

Wrap Up (5 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect: When did you use persistence in solving the puzzles today?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 4: Creating Art with Code
50 minutes

Overview Objectives
In this skill-building lesson, students will take control of the Students will be able to:
Artist to complete drawings on the screen.
Break complex shapes into simple
parts.
Purpose Create a program to complete an
image using sequential steps.
Building off of the students' previous experience with
Use numbers as angle measurements
sequencing, this lesson will work to inspire more creativity with
coding. The purpose of this lesson is to solidify knowledge on and distances.
sequencing by introducing new blocks and goals. In this case,
students learn more about pixels and angles using the new
blocks, while still practicing their sequencing skills. Also,
Preparation
students will be able to visualize new goals such as coding the
Play through the puzzles to find any
Artist to draw a square.
potential problem areas for your class.
(Optional) Obtain protractors for your
class to visualize the angles they must
Standards Full Course Alignment
use to complete the puzzles.
CSTA K-12 Computer Science Standards (2017) Print one *Student Handout for each

AP - Algorithms & Programming student.

Agenda Links
Warm Up (10 minutes) Heads Up! Please make a copy of any
Reflect documents you plan to share with
Vocabulary students.
Introduction
For the teachers
Main Activity (30 minutes)
Creating Art with Code CSF - Express - Slides 2024-2025 -
Slides (Download)  Make a Copy
Wrap Up (10 minutes)
Reflection For the students

Extended Learning Artist Introduction - Video


Turns & Angles - Video
Cross-Curricular Opportunity
Turns & Angles - Handout
 Make a Copy

Vocabulary
Angle - Where two sides of a shape
come together, measured in degrees.
Bug - Part of a program that does not
work correctly.
Loop - The action of doing something
over and over again.

Teaching Guide

Warm Up (10 minutes)

Reflect

 Display: Show “Reflect” slide

Reflect: Why is it important to go through your code, block by block, when debugging?

Vocabulary

Angle - Where two sides of a shape come together, measured in degrees.

Introduction

Show the students the following video as an introduction to angles:

 Display: Show “Turns & Angles: Drawing with Degrees” video

Turns and Angles - student video (2 minutes long)

 Display: Show “Student Handout” slide

Use *student handout to show the students interior versus exterior angles for different shapes. This document can
be used as a hand out or you can choose to print it out as a poster for students to refer to.

Discuss the shapes from the document.

How would you code a computer to draw that shape?


What order do the instructions need to be in?

Tell the students that in these puzzles they will be moving a character who leaves a line everywhere he goes. The
students will be writing code that gets the character to draw various shapes.

Main Activity (30 minutes)

Creating Art with Code

In this set of puzzles, the artist will no longer be constrained to 90 degree angles. Having physical protractors
available can help students better visualize the angles they need. Otherwise, the stage provides images of the
angles as the student selects which angle to use. (Please note: Angle choices are limited to two inside of the
dropdown menu, reducing the number of options students have to work through.)

 Display: Show “Protractor Online” slide


Before sending the students to the computers to work on the puzzles, it might be beneficial to give a brief
presentation of how to use the tools in this level. We recommend puzzle 5 as a good puzzle to show how to use the
protractor online.

 Display: Show “Artist Intro with JR Hildebrand” video

 1 Video: Artist Intro with JR Hildebrand

 Display: Show “Decompose it!” slide

Remind students to break each puzzle down into smaller steps.

 Display: Show “Level 2-7 - Skill Building” slide

 2-7 Skill Building

2 3 4 5 6 7

 Display: Show “Level 8 - Challenge” slide

 8 Challenge

 Teaching Tip 

The eighth puzzle asks the students to draw a 6 sided polygon. This might be challenging for some students.
We recommend getting the students to try a few times, ask a peer, then ask the teacher for help. Below is an
image that might be helpful for the students.

 Display: Show “Level 9 - Practice” slide

 9 Practice

 Display: Show “Level 10 - Prediction” slide

 10 Prediction

 Display: Show “Lesson Extras” slide


 11-12 Lesson Extras

 

Wrap Up (10 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect: Sketch a simple shape on your paper and imagine the code used to draw it. Can you write that code out
next to the shape?

Extended Learning
Use this activity to enhance student learning. It can be used as an outside of class activity or other enrichment.

The Copy Machine

Give students two pieces of paper


On one sheet draw a simple image, using straight lines only.
On the second sheet draw instructions for recreating that image commands to move straight and turn at
various angles.
Trade instruction sheets and attempt to recreate the image using only the provided instructions.

Cross-Curricular Opportunity

Shapes & Landscapes (45-60 minutes)

Computer Science + English Language Arts + Math + Science

Shapes & Landscapes is an optional activity aligned to Common Core ELA, Common Core Math and Next
Generation Science Standards, written by our teacher community. Students are asked to design a dam to prevent
future flooding. Using code, you will create a blueprint to show the local town council how your dam will look.

Standards Addressed:

CCSS.ELA-LITERACY.W.2.8: Recall information from experiences or gather information from provided sources
to answer a question.

CCSS.MATH.CONTENT.2.MD.A.3: Estimate lengths using units of inches, feet, centimeters, and meters.

NGSS.2-ESS2-1: Compare multiple solutions designed to slow or prevent wind or water from changing the
shape of the land.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 5: Swimming Fish with Sprite Lab
55 minutes

Overview Objectives
Students will program a simple animated underwater scene in Students will be able to:
this skill-building lesson.
Create new sprites and assign them
costumes and behaviors.
Purpose Define “sprite” as a character or
object on the screen that can be
This lesson is designed to introduce students to the core
moved and changed.
vocabulary of Sprite Lab, and allow them to apply concepts
they learned in other environments to this tool. By creating a Modify an existing program in order
fish tank, students will begin to form an understanding of the add more advanced features.
programming model of this tool, and explore ways they can use
it to express themselves.
Preparation
Play through the puzzles to find any
Standards Full Course Alignment
potential problem areas for your class.
Make sure every student has a
CSTA K-12 Computer Science Standards (2017)
reflection journal.
AP - Algorithms & Programming

NI - Networks & the Internet


Links
Agenda Heads Up! Please make a copy of any
documents you plan to share with
Warm Up (10 minutes)
students.
Introduction

Bridging Activity (10 minutes) For the teachers

Main Activity (20 minutes) CSF - Express - Slides 2024-2025 -


Swimming Fish with Sprite Lab Slides (Download)  Make a Copy
Sprite Lab Documentation -
Wrap Up (15 minutes)
Resource
Reflection
Swimming Fish Teacher Sandbox

Vocabulary
Behavior - An action that a sprite
performs continuously until it’s told to
stop.
Modify - make partial or minor
changes to something, typically so as
to improve it
Sprite - A graphic on the screen with
a location, size, and appearance.

Teaching Guide

Warm Up (10 minutes)

Introduction

 Display: Show "Reflect" slide

Reflect: How can we safely present ourselves online?

Do this: Ask students to reflect on previous two lessons. Students should know the difference between personal
and private information. Students should also understand how to be an upstander.

 Teaching Tip 

Reflection prompts like these can be completed in a variety of styles. Journaling or discussion (with groups or
partners) are great options!

Vocabulary
 Display: Show "Vocabulary" slide

Before heading into the Main Activity, introduce or review today's lesson vocabulary.

Behavior - An action that a sprite performs continuously until it’s told to stop.

Sprite - A graphic on the screen with a location, size, and appearance.

Bridging Activity (10 minutes)


Today students will learn how to work with sprites in Sprite Lab.

 Display: Show “Bridging Activity” slide

Discuss: Let the students know that this character on the screen is a sprite. It is a graphic that is controlled by a
program. In this lesson, students will have the opportunity to choose their own sprites to control.

Swimming Fish Teacher Sandbox


Using a projector, show the sandbox level to your students. The goal is to make connections to the previous lesson
and show them some of the unique ways that Sprite Lab works. Model writing a few programs and ask students to
share their observations.

 Teaching Tip 

Sprite Lab works differently in some ways from the other online tools in the course. Most importantly, all code
runs in order and immediately unless attached to an event block. This is different from tools where one line of
code runs at a time with an observable wait in between.

What blocks would we need to connect to make the tumbleweed spin?


What would happen if we told the sprite to begin two behaviors at once?
Will the sprite ever stop these behaviors on its own?
If we want the sprite to stop a behavior when we click it, how might we do that?

Main Activity (20 minutes)

Swimming Fish with Sprite Lab

Goal: Today, students will be programming their own Fish Tank. They’ll begin by learning how to put some sprites on
the screen, then they will make them move. Finally, they’ll customize their fish tank to add whatever creatures and
objects they want.

 Display: Show “Introducing Sprite Lab” video

Transition: Move students to their computers. Encourage students to follow the instructions for each puzzle. Help
them realize that this is a creative activity, intended to help them learn Sprite Lab. It is not an assessment activity
of any sort.

 Teaching Tip 

Encourage students with questions/challenges to start by asking their partner. Unanswered questions can be
escalated to a nearby group, who might already know the solution. Have students describe the problem that
they’re seeing:

What is it supposed to do?


What does it do?
What does that tell you?

 1 Video: Introducing Sprite Lab

 Display: Show “Level 2 - Predict” slide

 2 Prediction

 Display: Show “Level 3-5 - Skill Building” slide

 3-5 Skill Building

3 4 5

 Display: Show “How to Make a Sprite” video

 6 Video: How to Make a Sprite

 Display: Show “Level 7-8 - Practice” slide


 7-8 Practice

7 8

 Display: Show “Level 9 - Free Play” slide

 9 Free Play

Wrap Up (15 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect:

What was today's lesson about?


Was it difficult to finish a lesson where there was no clear "right" and "wrong"?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 6: Making Sprites
45 minutes

Overview Objectives
In this skill-building lesson, students will work through a series Students will be able to:
of programming levels on the computer, finishing with an open-
ended “free play” task where they can build whatever they like. Create an animation using sprites, and
Students will write programs and learn about the two concepts behaviors.
at the heart of Sprite Lab: sprites and behaviors. Create new sprites and assign them
costumes and behaviors.

Purpose
Preparation
This lesson is designed to introduce students to programming
in Sprite Lab. Students will begin to form an understanding of Play through the levels and review the
the programming model of this tool, and explore ways they can *lesson slides.
use it to express themselves.

Links
Standards Full Course Alignment

Heads Up! Please make a copy of any


CSTA K-12 Computer Science Standards (2017) documents you plan to share with
AP - Algorithms & Programming students.

For the teachers


Agenda
CSF - Express - Slides 2024-2025 -
Warm Up (10 minutes) Slides (Download)  Make a Copy
Exploring Apps Sprite Lab Documentation -

Main Activity (30 minutes) Resource

Wrap Up (5 minutes) Vocabulary


Reflection
Algorithm - A list of steps to finish a
task.
Behavior - An action that a sprite
performs continuously until it’s told to
stop.
Program - An algorithm that has been
coded into something that can be run
by a machine.
Sprite - A graphic on the screen with
a location, size, and appearance.
Teaching Guide

Warm Up (10 minutes)

Exploring Apps (10 minutes)

Do This: Have students read the provided code and make a prediction about what will happen. After pressing “Run”,
provide time for students to reflect on anything they found interesting or that surprised them.

 1-7 Exploration: Sample Apps

1 2 3 4 5 6 7

Discuss: What were the most interesting choices you were able to make with these apps? Was there ever a time
you wished you could change something in the app but were not given the choice?

Prompt: Think about an app you have used, and come up with a way to make it better by giving the user more
choices.

As time allows, have students consider the prompt above through one or more of the following methods:

Have volunteers offer ideas in a whole-group discussion.


Engage in a small discussion with pairs or small groups.

Main Activity (30 minutes)

Skill Building and Practice (20 mins)


These activities are suitable for independent learning or pair programming.

Students should complete the Skill Building levels and then spend any remaining time choosing from the various
Practice activities.

 8-12 Skill Building

8 9 10 11 12

 13-16 Practice

13 14 15 16

Free Play (10 mins)


In the final level in the lesson, students will be able to make their own project.

 17-22 Free Play: Make a Scene


17 18 19 20 21 22

Wrap Up (5 minutes)

Reflection

Today you learned how to write code to create programs in Sprite Lab.

Program - An algorithm that has been coded into something that can be run by a machine.

Algorithm - A list of steps to complete a task.

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.

Prompts: What advice would you have for a friend who is interested in creating their own programs in Sprite Lab?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 7: Sprites in Action
55 minutes

Overview Objectives
In this skill-building lesson, students will work through a series Students will be able to:
of programming levels on the computer, finishing with an open-
ended “free play” task where they can build whatever they like. Create an interactive animation using
Students will write programs that respond to timed events and events.
user input. Develop programs that respond to
timed events.
Develop programs that respond to
Purpose user input.
This lesson is designed to reinforce skills from the previous
lesson and introduce students to programming with events.
Throughout this course, events will be the primary way students
Preparation
change how their programs run over time or in response to the Play through the levels and review the
user. lesson slides.

Standards Full Course Alignment Links


CSTA K-12 Computer Science Standards (2017)
Heads Up! Please make a copy of any
AP - Algorithms & Programming documents you plan to share with
students.

Agenda For the teachers


Warm Up (15 minutes) CSF - Express - Slides 2024-2025 -
Follow the Algorithm Slides (Download)  Make a Copy
Main Activity (35 minutes)
Sprites in Action Vocabulary
Wrap Up (5 minutes) Algorithm - A list of steps to finish a
Reflect task.
Event - An action that causes
something to happen.

Teaching Guide

Warm Up (15 minutes)


Do this: Review or introduce the word algorithm: a list of steps to complete a task.
Follow the Algorithm

 Display: Show “Follow the Algorithm” slide

 Remarks
Today we’re going to start with a quick game. In this game, I will be giving you all commands to follow and your
job is to follow the algorithm. The commands will always start with “begin” or “stop”. If I tell you to begin doing
something, you need to start that behavior and keep it going until I tell you to stop. I might also tell you to “stop
everything” which means you can end all of the behaviors I’ve given you so far. We’ll play 3 rounds and after each
round I’ll ask you all a couple questions.

 Teaching Tip 

Be sure to give a little space between commands. For each of these sections, consider running through the
entire sequence without any discussion and later repeating it again after everyone has had a chance to debrief
and process any confusion.

 Display: Show “Round 1 - Basic” slide

Round 1 (Basic):
Begin marching in place.
Stop marching in place.
Begin clapping.
Stop clapping.
Begin marching in place.
Begin clapping.
Stop everything.

 Display: Show “Debrief” slide

Debrief:

What happened when you were told to clap but you were already marching in place?
What happens if you are told to begin two different behaviors at once?

Students should understand that multiple behaviors can happen simultaneously.

 Display: Show “Round 2 - Intermediate” slide

Round 2 (Intermediate):
Begin waving your arms in the air.
Begin bobbing your head.
Stop waving your arms in the air.
Stop bobbing your head.
Begin shaking your knees.
Begin flapping your arms like a bird.
Stop shaking your knees.
Begin bobbing your head.
Begin marching in place.
Stop flapping your arms like a bird.
Stop everything.

 Display: Show “Debrief” slide


Debrief:

What kinds of instructions caused people to make mistakes?


What strategies do you think are helpful for making sure you follow instructions correctly?
Why is it important to keep track of each behavior separately?

Students should understand that each behavior needs to be stopped individually. They need to keep track of each
one separately.

 Display: Show “Round 3 - Challenging” slide

Round 3 (Challenging):
Begin crouching.
Begin tapping your head.
Stop crouching.
Stop tapping your head.
Begin jumping up and down.
Begin tapping your head.
Stop everything.
Begin clapping.
Begin flapping your arms like a bird.
Stop everything.
Begin crouching.
Begin jumping up and down.
Stop everything.
Begin tapping your knees.
Begin tapping your head.
Stop everything.
Begin spinning to the left.
Begin spinning to the right.
Stop spinning to the left.
Stop spinning to the right.

 Display: Show “Reflect” slide

Reflect: What happens if two behaviors seem to conflict with each other?

Discussion Goal: Students should understand that some behaviors conflict with each other which can result in
unexpected outcomes. It’s possible for two opposite behaviors to effectively cancel each other out.

Additional prompts:

What should you do when told to clap your hands and flap your arms at the same time?

How can you jump up and down while crouching?

What happens if you need to tap your knees and your head at the same time?

When you were told to spin in two opposite directions what did you see people do?

What would happen if you were told to spin left and right at the exact same time?

Vocabulary
 Display: Show “Vocabulary” slide

Algorithm - A list of steps to complete a task.


Event - An action that causes something to happen.
Main Activity (35 minutes)

Sprites in Action

Prediction (2 mins)
 Display: Show “Level 1 - Predict” slide

Do This: This level should be completed as a class. Have students read the provided code and make a prediction
about what will happen. After pressing “Run”, provide time for students to reflect on anything they found
interesting or that surprised them.

 1 Prediction

Video: Sprites in Action (3 mins)


 Display: Show “Sprites in Action” video

 2 Video: Sprites in Action

 Display: Show "How do events work?" slide

 Remarks
How do events work?

. The user presses a key on the keyboard.


. The keyboard sends a signal to the computer.
. The computer makes a decision based on the code.
. The computer updates the display.

Skill Building and Practice (20 mins)


 Display: Show “Level 3 - 7 - Skill Building” slide

Transition: Have students move to their computer and sign in. These activities are suitable for independent learning
or pair programming.

Students should complete the Skill Building levels and then spend any remaining time choosing from the various
Practice activities.

 3-7 Skill Building

3 4 5 6 7

 Display: Show “Level 8 - Practice” slide

 8 Practice
Free Play (10 mins)
 Display: Show “Level 9 - Free Play” slide

Transition: Students should now skip to the final level in the lesson where they will see the same free play choices
as the previous lessons. Encourage students to add events to their projects from last time, or begin a new project.

 9 Free Play: Make an Interactive Scene

 Teaching Tip 

The free play choices in this lesson mirror those from the previous lesson. In fact, any student code from the
last lesson will carry over to today. The main difference is that now students have additional blocks in their
toolbox which they should use to make their programs more interesting or complex.

Wrap Up (5 minutes)

Reflect

 Display: Show “Reflect” slide

Reflect: Arrow keys are one way to make a program more interactive.

What other ways could we give a user control over what happens in an app or game?

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.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 8: Mini-Project: Virtual Pet
60 minutes

Overview Objectives
Students will create an interactive Virtual Pet that looks and Students will be able to:
behaves how they wish in this mini-project lesson. Students will
use Sprite Lab's "Costumes" tool to customize their pet's Create an interactive virtual pet using
appearance. They will then use events, behaviors, and other events, behaviors, and custom art.
concepts they have learned to bring their project to life. Program solutions to problems that
arise when designing a virtual pet, like
feeding it.
Purpose
This lesson allows students to apply programming concepts
from prior lessons in another creative context.
Preparation
Play through the puzzles to find any
potential problem areas for your class.
Standards Full Course Alignment
Make sure every student has a
reflection journal.
CSTA K-12 Computer Science Standards (2017)
AP - Algorithms & Programming
Links
Agenda Heads Up! Please make a copy of any
Warm Up (15 minutes) documents you plan to share with
students.
Introduction

Main Activity (30 minutes) For the teachers


Virtual Pet with Sprite Lab
CSF - Express - Slides 2024-2025 -
Wrap Up (15 minutes) Slides (Download)  Make a Copy
Reflection Sprite Lab Documentation -

Cross-Curricular Opportunity Resource

Vocabulary
Behavior - An action that a sprite
performs continuously until it’s told to
stop.
Event - An action that causes
something to happen.
Teaching Guide

Warm Up (15 minutes)

Introduction

 Display: Show “Reflect” slide

Review:

Do you remember what an event is?

Do you remember what a behavior is?

Can you remember some of the behaviors you have used? What do they do?

"patrolling"
"jittering"
"spinning right/left"

Vocabulary
 Display: Show “Vocabulary” slide

Behavior - An action in Sprite Lab that a sprite performs continuously until it’s told to stop.
Event - An action that causes something to happen.

Do This: Revisit events and behaviors in programming. Additionally, introduce the Sprite Lab "Costumes" tool that
allows students to draw their own costumes.

 Display: Show “Level 1 - Exploration” slide

Display: Begin by showing Level 1 of today's lesson to your students.

Think/Pair: Ask students to predict what will happen when the code is run, and to discuss with their neighbors. Run
the code, and discuss the outcome.

 Display: Show “Level 2 - Skill Building” slide

Display: Show Level 2. Briefly demonstrate how to do the following:

Navigate between the Code and Costumes tabs.


Draw a costume.
Choose a costume from the costume library.
Change the virtual pet's sprite's costume to a custom one.

Main Activity (30 minutes)

Virtual Pet with Sprite Lab

Goal: Today, students will be creating their own virtual pet! They will begin by drawing or selecting a new costume
for a sprite. Then they will create events that cause actions and behaviors upon interaction.

Online Puzzles
Transition: Move students to their machines. Encourage students to follow the instructions for each puzzle. Help
them realize that this is a creative activity, intended to help them learn Sprite Lab.
 Teaching Tip 

Encourage students with questions/challenges to start by asking their partner. Unanswered questions can be
escalated to a nearby group, who might already know the solution. Have students describe the problem that
they’re seeing:

What is it supposed to do?


What does it do?
What does that tell you?

Reminder: If puzzles are sharable, remind the students to only share their work with their close friends or family.

 1 Exploration

 Display: Show “Level 3-6 - Create a Virtual Pet” slide

 2-6 Mini-Project: Create a Virtual Pet

2 3 4 5 6

 Display: Show “Give credit!” slide

Say: Sometimes when we create our own projects we find inspiration from other people’s projects.

If you have gotten permission to remix a project, make sure to give credit to the original coder.

If you remix a Code.org project:

. Add a comment block that explains where you remixed from.


. You might also keep the word “Remix” in the title of your project to tell others that this project originally came
from someone else.

If you want to remix a friend’s project:

Make sure you get their permission first. Once you get permission, follow the steps above to give them credit.

When you don’t have direct permission to remix someone’s project or upload their images into your project, look for
publicly available materials instead.

 Display: Show “Level 6 - Project Feedback” slide

Do This: Have students meet in pairs to share their Virtual Pet project. Guide them to ask the questions on the slide
and then reflect on modifications they will make based on the feedback they receive.

 Display: Show “Level 7 - Free Play” slide

 7 Free Play
Wrap Up (15 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect:

What was today's lesson about?


What other options would you like to be able to have your pet do?

Cross-Curricular Opportunity

Providing Energy for your Virtual Pet (60-90 minutes)

Computer Science + English Language Arts + Science

Providing Energy for your Virtual Pet is an optional activity aligned to Common Core ELA and Next Generation
Science Standards, written by our teacher community. Students will create a scientific model that shows how their
virtual pet will receive the energy it needs to survive.

Standards Addressed:

CCSS.ELA.RI.5.7: Draw on information from multiple print or digital sources, demonstrating the ability to locate
an answer to a question quickly or to solve a problem efficiently.

CCSS.ELA.RI.5.9: Integrate information from several texts on the same topic in order to write or speak about
the subject knowledgeably.

5- PS3-1: Use models to describe that energy in animals’ food (used for body repair, growth, motion, and to
maintain body warmth) was once energy from the sun.

5-LS2-1: Develop a model to describe the movement of matter among plants, animals, decomposers, and the
environment

SL.5.5: Include multimedia components (e.g., graphics, sound) and visual displays in presentations when
appropriate to enhance the development of main ideas or themes.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 9: Dance Party
45 minutes

Overview Objectives
In this skill-building lesson, students will program an interactive Students will be able to:
dance party.
Apply sequences and loops in an
algorithm.
Purpose Create dance animations with code
Develop programs that respond to
This lesson introduces the core CS concepts of coding and
timed events
event programming (using blocks).
Develop programs that respond to
user input

Standards Full Course Alignment

CSTA K-12 Computer Science Standards (2017)


Preparation
AP - Algorithms & Programming Play through the puzzles to find any
potential problem areas for your class.
Consider the need for headphones.
Agenda This activity relies on sound.

Getting Started (10 minutes)


Setting the Stage
Links
Reflect
Vocabulary
Heads Up! Please make a copy of any
Introduction
documents you plan to share with
Activity (30 minutes) students.
Code Your Own Dance Party
Level by Level Support For the teachers

Wrap Up (5 minutes) CSF - Express - Slides 2024-2025 -


Reflection Slides (Download)  Make a Copy
Open-ended Programming Levels -
Optional Assessment
Answer Key  Make a Copy
Cross-Curricular Opportunity Spotify Playlist (all ages)

For the students

Dance Party Project Guide -


Worksheet  Make a Copy
Dance Party: Unplugged - Resource

Vocabulary
Event - An action that causes
something to happen.
Program - An algorithm that has been
coded into something that can be run
by a machine.
code - to write code, or to write
instructions for a computer.

Teaching Guide

Getting Started (10 minutes)

Setting the Stage

Welcome students to class and very briefly introduce the day’s activity.

 Teaching Tip 

If you have time and would like to prepare your students with an unplugged activity, consider delivering *Dance
Party: Unplugged before this lesson. This brief lesson introduces students to the idea of events triggering
different dance moves.

Reflect

 Display: Show “Reflect” slide

 Remarks
Today we're going to do something really creative. What's your favorite way to be creative?

Encourage students to share the ways they express creativity, such as with art, dance, music, writing.

Vocabulary

 Display: Show “Vocabulary” slide

Event - An action that causes something to happen.


Program - An algorithm that has been coded into something that can be run by a machine.
Code - (v) to write code, or to write instructions for a computer.

Introduction

Explain that today we're going to be creative with our code. Just like choosing which type of colors of paint to use,
or what kinds of words you write with can express creativity, choosing what code you write and how people
interact with it can be an opportunity to express your creativity too!

Get up and dance: Announce to the class that today we're going to see how we can combine coding with dancing
in a creative way. Ask your kids to floss, dab, or do a creative dance move of their own for 10 seconds to get them
in the mood. You can play a song from this *Spotify Playlist to help kick things off. Capture your class's moves on
video.
Activity (30 minutes)

Code Your Own Dance Party

Music Filtering
This tutorial features songs from popular artists. To get a preview of the song list in this tutorial, check out this
*Spotify Playlist. We are using radio-safe versions of all songs and for students under 13, we limit the music to this
filtered list. If you would like to use the filtered list with older students, you can share *Spotify Playlist with your
classroom.

Level by Level Support

Level 1

 Display: Show “Dance Party Warm Up” video

 1 Video: Warm Up

Level 2

 Display: Show “Level 2 - Practice” slide

Drag the red make a new block from the toolbox on the left to the workspace on the right. Connect it inside
the setup block.
You have now written your first program. Make sure to press Run to see what happens. You should hear music
and see a character start to move in the display area.

 2 Practice

Level 3

 Display: Show “Dance Party Events” video Level 3


 3 Video: Events

Level 4

 Display: Show “Level 4-5 - Events” slide

Levels 4-5 are about making the dance interactive.


The green blocks are event blocks. These blocks start a new sequence of code and do not need to be
connected inside the setup block.
Connecting the purple block under the green event block allows you to make the character perform a dance by
pressing the orange arrow buttons or keys on your keyboard.
Make sure to press the arrow buttons after pressing Run or the dancer(s) won’t move.

Level 5

Make sure to bring out a second purple do once block. You should have a bears do once block and a
cats do once block in your workspace. Both should be connected to a green when pressed event block.
Make sure to press the arrow buttons after pressing Run or the dancers won’t move.

 4-5 Events

4 5

Level 6

 Display: Show “Dance Party Measures” video

 6 Video: Measures

Level 7

 Display: Show “Level 7-9 - Measures” slide

Levels 7-8 are about synchronizing the dance to the music.


The after measures event blocks also start a new sequence of code and should not be connected inside
the setup block.
Connecting the purple do forever block under the green after measures event block should make the
character perform a dance move after the number of measures you indicate.
The do forever block works differently from the do once blocks seen in the previous levels.

Level 8

Make sure to bring out a second green event block. You should have a after 4 measures block and a
after 6 measures block in your workspace. Both should have purple block connected underneath.

Level 9

Level 9 is about creating groups of dancers quickly.


Use the new block provided into the toolbox to create a set of smaller dancers. *You should also use the normal
make a new block to create a larger “lead” dancer.
Many students will be familiar with the idea that you can make something seem to be further away by drawing
it on a smaller scale. In the next level you’ll be able to fine tune this effect.

 7-9 Measures

7 8 9

Level 10

 Display: Show “Dance Party Properties” video

 10 Video: Properties

 Display: Show “Level 11-13 - Properties” slide

Level 11

Levels 11-13 are about adjusting the properties (e.g. size, color) of the dancers.
It is important to make sure that the teal set block is placed somewhere in the program after the dancers
have been created. To solve this puzzle, place a set size block anywhere in your program and use it to
change the size of some of your dancers.
Dancers created as a group have a default size of 30. Other dancers have a default size of 100.

Level 12

As with the previous level, make sure to only use the set tint to (color) block after you have made the
dancers in your program. For example, placing it as the first step in the setup area of your program will have
no effect.

Level 13

With the right code, you should see the dancer cycle through different colors, sizes, or dance moves.
Make sure there is a teal change , a teal randomize block, or a purple do forever block connected inside
the every 2 measures block.
Make sure do forever blocks are set to either (Next), (Previous), or (Random). Otherwise, the dancer will
just perform the set move repeatedly.
Note that the code students write in this level is not checked for correctness. This means they will always
pass the level, even if they do not change the program. Students should feel free to experiment with their code
in ways that are interesting to them. Click the “Finish” button to move on.
Making new dancers inside the every 2 measures block will cause your program to create multiple identical
dancers at the same location(s) and may lead to unintended consequences!

 11-13 Properties

11 12 13

 Teaching Tip 
By this point in the lesson you may notice that the instructions are less prescriptive. Encourage students to be
creative and explore the new blocks that are introduced. From this point on student code is not checked for
correctness in order to encourage experimentation instead of solving a specific task.

Level 14

 Display: Show “Dance Party Party On!” video

 14 Video: Wrap-up

Level 15

 Display: Show “Level 15 - Free Play” slide

This last level is very open-ended. The tutorial itself is designed to give students ample time to keep working on
their own dance.
Encourage Sharing: If students have cell phones with a data plan they can quickly text a link to their projects to
their own phone or a friend's. If your school policy allows it, encourage them to do so here.
Encourage Creativity: Creativity is important throughout this lesson, but this is true here more than anywhere
else!

 15 Free Play

Lesson Extras
 Display: Show “Lesson Extras” slide

 16-17 Lesson Extras

 

Wrap Up (5 minutes)

Reflection (5 minutes)

 Display: Show “Reflect” slide

Reflect: How does being creative help you program?

Optional Assessment (2 minutes)

Ask students to add their “Whip Around” sticky notes or note cards to your "Computer Science" mind map on their
way out the door. Try to populate the board with lots of great ideas about what CS is and why it matters.
Cross-Curricular Opportunity

Survival of the Dancers (45-60 minutes)

Computer Science + Science

Survival of the Dancers is an optional activity aligned to Next Generation Science Standards, written by our
teacher community. Using Dance Party, students will select at least one organism (dancer) which is well suited for
the environment (world) they create. Students are encouraged to utilize the “properties” blocks of code to
customize the characteristics of each organism (dancer).

Standards Addressed:

NGSS.3-LS4-2: Use evidence to construct an explanation for how the variations in characteristics among
individuals of the same species may provide advantages in surviving, finding mates, and reproducing.

NGSS.3-LS4-3: Construct an argument with evidence that in a particular habitat some organisms can survive
well, some survive less well, and some cannot survive at all.

OPTIONAL EXTENSION: NGSS.3-LS4-4: Make a claim about the merit of a solution to a problem caused when
the environment changes and the types of plants and animals that live there may change.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 10: Music Lab Intro Tutorial
60 minutes

Overview Objectives
In this engaging and interactive lesson, students will dive into Students will be able to:
the world of music creation through coding. Using Music Lab, a
block-based integrated development environment (IDE), Utilize sound generation, loops,
learners will discover the power of programming to make their functions, and events in a project to
own unique sounds, compose songs, and perform live music. By craft and share a unique composition.
the end of this lesson, students will not only have developed
foundational coding skills but also an appreciation for the Vocabulary
interdisciplinary connection between music and technology. All
the skills they learn in this tutorial will set them up for success Events - Events are actions or
when they get to the Music Lab project, which is an open space occurrences that happen during the
for students to create any song they'd like! runtime of a program, which can
trigger specific blocks of code to
execute.
Standards Full Course Alignment
Functions - Functions are blocks of
code designed to perform a particular
CSTA K-12 Computer Science Standards (2017)
task. When composing music,
AP - Algorithms & Programming students can use functions to
encapsulate parts of their songs, such
as a melody or a beat.
Agenda Loops - Loops allow a sequence of
Activity (60 minutes) instructions to be repeated multiple
Intro times.
Play a sound
Play more sounds
Repeat
Play together
Functions
Play live
Compose
Project

Teaching Guide

Activity (60 minutes)

Intro

 Remarks
Today, we'll learn how to make music with code! First, you'll learn how to add simple sounds to a song. Then, you'll
learn how to play lots of sounds at the same time, just like real songs have drums, bass, and guitars playing at the
same time.

Then, you'll explore how loops can make beats repeat, how functions organize sections of your song, and how
events can start new sounds with the press of a button.

Follow the directions on every level to learn how to make your own song. By the end, you'll have coded a song
that you can share.

Let's start making music!

 1 Introduction

 Teaching Tip 

To ensure all students read the instructions in the first level, consider displaying them on the board and going
over them as a class.

Progress to Level 2 and demonstrate how to click on the bold words to trigger an arrow that points to the block
or Music Lab feature the word is referring to.

Play a sound

Read the instructions on the left. Click on the bold words to see the block or feature it is referring to.

In this level, drag the play sound block from the toolbox and connect it under when run in the workspace.

Notice there is a preview of the sound in the timeline at the bottom of your screen. To play your code, click the
"Run" button. If you like it, click "Continue" to move on to the next level.

 2 Play a sound

Play more sounds

 3 Play more sounds

Repeat

Loops are a fundamental concept in programming that allow a sequence of instructions to be repeated multiple
times. In the context of Music Lab, loops can be used to repeat a series of notes or rhythms, making it easier to
create repetitive patterns in music, such as choruses or verses, without needing to code each repetition
individually.

 4-5 Repeat

4 5
Play together

 6-7 Play together

6 7

 Teaching Tip 

Consider stopping the class to go over Level 6 together. Display the level on the board and read the instructions
as a class. Ensure students understand that two different sounds can be played at the same time if they are
both in the play together block.

Contrast the play together block with the repeat block to notice that play together plays the sounds at
the same time while repeat plays the sounds sequentially over and over.

Functions

Functions are blocks of code designed to perform a particular task. When composing music, students can use
functions to encapsulate parts of their songs, such as a melody or a beat. This not only organizes the song's
structure but also enables students to reuse these parts, making the coding process more efficient and the code
itself more readable.

 8-9 Functions

8 9

 Teaching Tip 

Consider going over Level 8 as a whole class. Direct students to notice how a function is a chunk of code that
stands on its own. It's not connected to the when run block . Once they have coded what they want in their
function, students need to "call" the function. This means they need to use the new function block, like
chorus , and connect it under when run .

You can also mention how it's important to name your function something you can easily remember. For
example, if students want a function that triggers a chunk of code that acts as the verse of the song, they
should name their function verse .

Play live

Events are actions or occurrences that happen during the runtime of a program, which can trigger specific blocks
of code to execute. In music coding, events can be used to make the composition interactive. For example,
pressing a number key could trigger a function that plays a sound effect or starts a beat. Events allow students to
play live music or add dynamic elements to their compositions.

 10-11 Triggers
10 11

 Teaching Tip 

Consider going over Level 10 as a whole class.

Compose

The play notes and play drums blocks allow students to compose a new melody or custom drum beats to
add to their song. Clicking on the rectangle field on the block will open a window to customize the notes or drums.

 12-14 Custom notes & beats

12 13 14

Project

Now students can use Music Lab to build their own musical compositions. If a student gets stuck, direct them to
earlier levels to jog their memory.

 15-16 Project

15 16

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 11: Loops with Rey and BB-8
50 minutes

Overview Objectives
This skill-building lesson has students using loops to help BB-8 Students will be able to:
efficiently traverse a maze.
Break down a long sequence of
instructions into the largest
Purpose repeatable sequence.
Employ a combination of sequential
In this lesson, students will be learning more about loops and
and looped commands to reach the
how to implement them in Blockly code. Using loops is an
important skill in programming because manually repeating end of a maze.
commands is tedious and inefficient. With the Code.org Identify the benefits of using a loop
puzzles, students will learn to add instructions to existing loops, structure instead of manual repetition.
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 Preparation
discussions on the various ways to solve puzzles with
Play through the puzzles to determine
advantages and disadvantages to each approach.
if there will be any problem areas for
your class.

Standards Full Course Alignment

CSTA K-12 Computer Science Standards (2017)


Links
AP - Algorithms & Programming
Heads Up! Please make a copy of any
documents you plan to share with
Agenda students.

Warm Up (5 minutes) For the teachers


Reflect
CSF - Express - Slides 2024-2025 -
Vocabulary
Slides (Download)  Make a Copy
Introduction

Bridging Activity - Choose One (10 minutes) For the students


Unplugged Activity Using Paper Blocks Unplugged Blocks (Courses C-F)
Previewing Online Puzzles as a Class  Make a Copy

Main Activity (30 minutes) Pair Programming - Video


Loops with Rey and BB-8
Vocabulary
Wrap Up (5 minutes)
Reflection Loop - The action of doing something
over and over again.
Extended Learning Repeat - To do something again.
Teaching Guide

Warm Up (5 minutes)

Reflect

 Display: Show “Reflect” slide

Reflect:

What are loops?


Why do we use them?

Vocabulary

 Display: Show “Vocabulary” slide

Loop - The action of doing something over and over again.

Repeat - To do something again.

Introduction

 Display: Show “Find the Loops” slide

Review with students the "My Loopy Robotic Friends" activity:

Quickly show the students a program (with repeated steps) for the rest of the class to do. Ask the rest of the class
to find the loops within the program and point them out.
 Display: Show “Answer Key” slide

If you're comfortable, give an introduction to BB-8 from Star Wars. Many children may be familiar with the lovable
robot, but an introduction will surely build excitement.

Bridging Activity - Choose One (10 minutes)


 Display: Show “Bridging Activity” slide

This activity will help bring the unplugged concepts from "My Loopy Robotic Friends" into the online world that the
students are moving into. Choose one of the following to do with your class:

Unplugged Activity Using Paper Blocks

Revisit "My Loopy Robotic Friends". This time, work with the class to "code" it out using *manipulatives instead of
writing the instructions on paper. Make sure the students know that the blocks need to go from top to bottom and
they all need to touch!

-Or-

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 10 for its staircase
pattern. Ask the students to write a program to solve the puzzle on paper. Have the students circle repeated
chunks and label with the number of repeats, the same way they did in "My Loopy Robotic Friends."
Main Activity (30 minutes)

Loops with Rey and BB-8

 Display: Show “Programming with Rey and BB-8” video

 1 Video: Programming with Rey and BB-8

 Display: Show “Decompose it!” slide

Remind students to break each puzzle down into smaller steps.

 Display: Show “Level 2 - Skill Building” slide

 2 Skill Building

 Display: Show “Level 3 - Prediction” slide

 3 Prediction

 Display: Show “Level 4 - Repeat Blocks with BB-8” video

 4 Video: Repeat Blocks with BB-8

 Display: Show “Level 5-9 - Skill Building” slide

 5-9 Skill Building

5 6 7 8 9

 Display: Show “Level 10 - Challenge” slide

 10 Challenge

 Display: Show “Level 11-12 - Practice” slide

 11-12 Practice

11 12

 Display: Show “Level 13 - Prediction” slide


 13 Prediction

 Display: Show “Level 14 - Practice” slide

 14 Practice

 Display: Show “Lesson Extras” slide

 15-16 Lesson Extras

 

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 minutes)

Reflection

Reflect: 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!

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 12: Mini-Project: Sticker Art
60 minutes

Overview Objectives
This mini-project lesson builds on the understanding of loops Students will be able to:
from previous lessons. Students will create unique artwork with
the Artist. Differentiate between commands
that need to be repeated in loops and
commands that should be used on
Purpose their own.
Identify the benefits of using a loop
This series highlights the power of loops with creative and
personal designs. structure instead of manual repetition.
Write an algorithm by breaking down
Offered as a project-backed sequence, this progression will the steps to create an art piece.
allow students to build on top of their own work and create
amazing artifacts.
Preparation
Standards Full Course Alignment Practice making your own design.
Make note of how these levels are
CSTA K-12 Computer Science Standards (2017) different from everything that came
AP - Algorithms & Programming before.

Agenda Links
Warm Up (15 minutes)
Heads Up! Please make a copy of any
Reflect documents you plan to share with
Vocabulary students.
Introduction

Main Activity (30 minutes) For the teachers


Sticker Art with Loops CSF - Express - Slides 2024-2025 -
Wrap Up (15 minutes) Slides (Download)  Make a Copy
Reflection
Vocabulary
Cross-Curricular Opportunity
Loop - The action of doing something
over and over again.
Repeat - To do something again.
Teaching Guide

Warm Up (15 minutes)

Reflect

 Display: Show “Reflect” slide

Reflect: If you were making art, using only stickers, what would your design look like?

Vocabulary

 Display: Show “Vocabulary” slide

Loop - The action of doing something over and over again.

Repeat - To do something again.

Introduction

 Display: Show “Review” slide

Students should have had plenty of introduction to loops at this point. Based on what you think your class could
benefit from, we recommend:

Create a new dance with loops just like in "Getting Loopy".


As a class, play through a puzzle from the last lesson, "Loops with Rey and BB-8".
Review how to use Artist by playing through a puzzle from "Programming in Artist".
Preview a puzzle from this lesson.

All of these options will either review loops or the artist, which will help prepare your class for fun with the online
puzzles!

Main Activity (30 minutes)

Sticker Art with Loops

Encourage creativity during this activity! The instructions give examples but it is okay for students to experiment
with different stickers or types of designs. Even the example solutions we provide are not the only solutions!

 Teaching Tip 

This lesson may feel very different from what has come earlier in the course. These levels have some new
characteristics you may want to explore before starting. The code your students write in one level will
automatically transfer over to the others. This allows them to build gradually and iterate on their ideas as they
learn. Note that these levels are not checked for correctness to allow for more open-ended creativity. Empower
your students to determine for themselves when they have completed each task.

 Display: Show “Decompose it!” slide

Remind students to break each puzzle down into smaller steps.

 Display: Show “Level 1-8 - Mini-Project: Sticker Art” slide


 1-8 Mini-Project: Sticker Art

1 2 3 4 5 6 7 8

 Display: Show “Give credit!” slide

Say: Sometimes when we create our own projects we find inspiration from other people’s projects.

If you have gotten permission to remix a project, make sure to give credit to the original coder.

If you remix a Code.org project:

. Add a comment block that explains where you remixed from.


. You might also keep the word “Remix” in the title of your project to tell others that this project originally came
from someone else.

If you want to remix a friend’s project:

Make sure you get their permission first. Once you get permission, follow the steps above to give them credit.

When you don’t have direct permission to remix someone’s project or upload their images into your project, look for
publicly available materials instead.

 Display: Show “Level 9 - Free Play” slide

Say:

Make your own Sticker Art.


Plan out your design.
Program your design.
Share your design at the end of the lesson.

 9 Free Play

Some students may discover where to add repeat loops by writing out the program without loops then circling
sections of repetitions. If the students in your class seem like they could benefit from this, have them keep paper
and pencils beside them at their computers. Students might also enjoy drawing some of the shapes and figures on
paper before they program it online. (When drawing stamps, it can be easier to symbolize those with simple shapes
like circles and squares.)

Wrap Up (15 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect: What is a shape or figure you would like to program? Can you come up with the code to create it?
Cross-Curricular Opportunity

Loopy Forms & Their Functions (45-60 minutes)

Computer Science + English Language Arts + Math + Science

Loopy Forms & Their Functions is an optional activity aligned to Common Core ELA, Common Core Math and Next
Generation Science Standards, written by our teacher community. Artist needs to help his friends design their
house by drawing blueprints. It is important that students understands basic shapes and how each shape serves
different functions in the house blueprints. They will then write opinion pieces, supply reasons and use linking
words to justify their design choices.

Standards Addressed:

CCSS.ELA-LITERACY.W.2.1: Write opinion pieces in which they introduce the topic or book they are writing
about, state an opinion, supply reasons that support the opinion, use linking words (e.g., because, and, also) to
connect opinion and reasons, and provide a concluding statement or section.

CCSS.MATH.CONTENT.2.G.A.1: Recognize and draw shapes having specified attributes, such as a given
number of angles or a given number of equal faces.1 Identify triangles, quadrilaterals, pentagons, hexagons, and
cubes.

NGSS.K-2-ETS1-2: Develop a simple sketch, drawing, or physical model to illustrate how the shape of an
object helps it function as needed to solve a given problem.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 13: Nested Loops in Maze
55 minutes

Overview Objectives
In this skill-building lesson, students will learn how to program a Students will be able to:
loop inside of another loop.
Break complex tasks into smaller
repeatable sections.
Purpose Identify the benefits of using a loop
structure instead of manual repetition.
In this introduction to nested loops, students will go outside of
Recognize large repeated patterns as
their comfort zone to create more efficient solutions to puzzles.
made from smaller repeated patterns.
In earlier puzzles, loops pushed students to recognize
repetition. Here, students will learn to recognize patterns within
repeated patterns to develop these nested loops. This stage Preparation
starts off by encouraging students to try to solve a puzzle
where the code is irritating and too complex to write out the Play through the puzzles to find any
long way. After a video introduces nested loops, students are potential problem areas for your class.
shown an example and asked to predict what will happen when
a loop is put inside of another loop. This progression leads to
plenty of practice for students to solidify and build on their Links
understanding of looping in programming.
Heads Up! Please make a copy of any
documents you plan to share with
Standards Full Course Alignment students.

CSTA K-12 Computer Science Standards (2017)


For the teachers
AP - Algorithms & Programming
CSF - Express - Slides 2024-2025 -
Slides (Download)  Make a Copy
Agenda
Vocabulary
Warm Up (10 minutes)
Introduction Command - An instruction for the
computer. Many commands put
Main Activity (30 minutes)
together make up algorithms and
Nested Loops in Maze
computer programs.
Wrap Up (15 minutes) Loop - The action of doing something
Reflection over and over again.
Repeat - To do something again.
Teaching Guide

Warm Up (10 minutes)

Introduction

 Display: Show “Reflect” slide

Briefly review with the class what loops are and why we use them.

What do loops do?


Loops repeat a set of commands.
How do we use loops?
We use loops to create a pattern made of repeated actions.

 Display: Show “Looping a Loop” slide

Tell the class that they will now be doing something super cool: using loops inside loops.

Say: Can you predict what kinds of things we would be using a loop inside of a loop for?

If a loop repeats a pattern, then looping a loop would repeat a pattern of patterns!

Students don't need to understand this right away, so feel free to move on to the online puzzles even if students
still seem a little confused.

Vocabulary

 Display: Show “Vocabulary” slide

Command - An instruction for the computer.

Loop - The action of doing something over and over again.

Repeat - To do something again.

Main Activity (30 minutes)

Nested Loops in Maze

We highly recommend pair programming for this lesson. This may not be an easy topic for the majority of your
students. Working with a partner and discussing potential solutions to the puzzles might ease the students' minds.

Also, have paper and pencils nearby for students to write out their plan before coding. Some puzzles have a limit on
the number of certain blocks you can use, so if students like to write out the long answer to find the repeats, paper
can be useful.

 Display: Show “Level 1-2 - Skill Building” slide

 1-2 Skill Building


1 2

 Display: Show “Nested Loops with Bee” video

 3 Video: Nested Loops with the Bee

 Display: Show “Level 4 - Predict” slide

 4 Prediction

 Display: Show “Level 5-9 - Skill Building” slide

 5-9 Skill Building

5 6 7 8 9

 Display: Show “Level 10 - Challenge” slide

 10 Challenge

 Display: Show “Level 11-12 - Practice” slide

 11-12 Practice

11 12

 Display: Show “Level 13 - Predict” slide

 13 Prediction

Lesson Extras
 Display: Show “Lesson Extras” slide

 14-15 Lesson Extras

 
Wrap Up (15 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect:

Draw a puzzle that would use a nested loop.

Try coding the solution to your own puzzle.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 14: Snowflakes with Anna and Elsa
60 minutes

Overview Objectives
This mini-project lesson takes students through a series of Students will be able to:
exercises to create snowflake images using characters from the
Frozen movies. Break apart code into the largest
repeatable sequences using both
loops and nested loops.
Purpose Describe when a loop, nested loop, or
no loop is needed.
In this series, students will get practice nesting loops while
creating images that they will be excited to share. Recognize the difference between
using a loop and a nested loop.
Beginning with a handful of instructions, students will make
their own decisions when it comes to creating designs for
repetition. They will then spin those around a variety of ways to Preparation
end up with a work of art that is truly unique.
Play through the lesson to find and
potential problem areas for your class.
Standards Full Course Alignment Make sure every student has a
Reflection Journal.
CSTA K-12 Computer Science Standards (2017)
AP - Algorithms & Programming
Links
Agenda Heads Up! Please make a copy of any
documents you plan to share with
Warm Up (15 minutes) students.
Introduction

Main Activity (30 minutes) For the teachers


Snowflakes with Anna and Elsa
CSF - Express - Slides 2024-2025 -
Wrap Up (15 minutes) Slides (Download)  Make a Copy
Reflection
Vocabulary
Loop - The action of doing something
over and over again.
Repeat - To do something again.
Teaching Guide

Warm Up (15 minutes)

Introduction

Ask the class to discuss the last set of puzzles.

What did they like/dislike?


Which puzzles were hard? Why?
Which puzzles were easy? Why?
If you were to teach nested loops to a friend, what would you say to help them understand?

If there's time, give an introduction to the main characters of today's puzzles, Anna and Elsa from Frozen. Give the
class the sisters' back story if the class doesn't already know. To build excitement, tell the class they will be using
nested loops to make some fantastic drawings with Anna and Elsa's ice skates!

Main Activity (30 minutes)

Snowflakes with Anna and Elsa

This set of puzzles is set up as a progression. This means every puzzle builds a foundation for the next puzzle.
Students will enjoy making more and more interesting designs by making small and simple changes to code they
have already written.

 1-4 Skill Building

1 2 3 4

 5-6 Practice

5 6

Wrap Up (15 minutes)

Reflection

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.

Prompts:

What was today’s lesson about?


How did you feel during today’s lesson?
When do you use a loop? When do you use a nested loop?
How would the code for your snowflake look different if you only used one loop? No loops? Can you draw out
an example?
This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 15: Looking Ahead with Minecraft
50 minutes

Overview Objectives
This skill-building lesson gives students the chance to practice Students will be able to:
concepts that they have learned up to this point and get their
first experience with conditionals! Define circumstances when certain
parts of a program should run and
when they shouldn't.
Purpose Determine when to use loops in a
program to simplify a sequence.
This set of puzzles will work to solidify and build on the
knowledge of loops, and introduce conditionals. By pairing Determine whether a conditional is
these two concepts together, students will be able to explore met based on criteria.
the potential for creating fun and innovative programs in a new
and exciting environment.
Preparation
Play through the puzzles associated
Standards Full Course Alignment
with this lesson to find any potential
problem areas for your class.
CSTA K-12 Computer Science Standards (2017)
AP - Algorithms & Programming
Links
Agenda Heads Up! Please make a copy of any
Warm Up (15 minutes) documents you plan to share with
Introduction students.

Main Activity (30 minutes) For the teachers


Looking Ahead with Minecraft
CSF - Express - Slides 2024-2025 -
Wrap Up (5 minutes) Slides (Download)  Make a Copy
Reflection

Extended Learning Vocabulary


Condition - Something a program
checks to see if it is true before
allowing an action.
Conditionals - Statements that only
run under certain conditions.
Loop - The action of doing something
over and over again.
Teaching Guide

Warm Up (15 minutes)

Introduction

 Display: Show “Reflect” slide

Reflect: When do you use conditionals in your daily life? For example: If it is cold outside, then I will bring my
jacket.

Gather the class together and ask two volunteers to walk straight in some direction in the classroom. If they
encounter a chair out of place, they must step over it. If they reach a wall, they must sit down.

 Display: Show “Warm Up Activity” slide

Once all of the students are sitting down, ask how you would program a robot to respond to a wall or a chair.
Remind students that you cannot simply say "Step over chair" unless you know there is a chair, and you will not
always know there is a chair. It might be helpful to translate the task into instructions like:

while there is a path ahead


walk forward
if there is a chair, step over it
sit down

Vocabulary

 Display: Show “Vocabulary” slide

Tell students they will be using conditionals during this lesson.

Condition: A statement that a program checks to see if it is true or false. If true, an action is taken. Otherwise,
the action is ignored.
Conditionals: Statements that only run under certain conditions.

Discuss: When might you use a conditional in your code?

Main Activity (30 minutes)

Looking Ahead with Minecraft

Online Puzzles
Students are in for a real treat with this lesson. It's likely most of your students have heard of Minecraft, but give a
brief introduction for those that may not know.
Minecraft is a game of cubes. You can play as Alex or Steve as you work through mazes. You'll need to avoid lava,
pick up items, and explore in a world made up of cubes of things.

Demonstrate one of the puzzles to the class (we recommend puzzle 11.) Once all questions have been addressed,
transition students to computers and let them start pair programming.

 Display: Show “Learn the Basics of Computer Science” video

 Display: Show “Level 1-4 - Skill Building” slide

 1-4 Skill Building

1 2 3 4

 Display: Show “Build a House” video

 Display: Show “Level 5-10 - Skill Building” slide

 5-10 Skill Building

5 6 7 8 9 10

 Display: Show “Use IF Statements” video

 Display: Show “Level 11-13 - Challenge” slide

 11-13 Challenge

11 12 13

 Display: Show “Congratulations” video

 Display: Show “Level 14 - Free Play” slide

 14 Free Play

Lesson Extras
 Display: Show “Lesson Extras slide

 15-16 Lesson Extras

 
Wrap Up (5 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect: Draw a scene where someone is using a conditional. How does this scene demonstrate a conditional?

Extended Learning
Use these activities to enhance student learning. They can be used as outside of class activities or other
enrichment.

More Minecraft
If you find that your class really enjoys the Minecraft environment, here are some links to other Minecraft games
they can play online. These games will also teach basic coding skills.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 16: If/Else with Bee
55 minutes

Overview Objectives
In this skill-building lesson, your class will continue to code with Students will be able to:
conditionals, allowing them to write code that functions
differently depending on the specific conditions the program Solve puzzles using a combination of
encounters. looped sequences and conditionals.
Translate spoken language conditional
statements into a program.
Purpose
After being introduced to conditionals in "Conditionals with
Preparation
Cards," students will now practice using them in their programs.
The "if / else" blocks will allow for a more flexible program. The Play through the puzzles to find any
bee will only collect nectar if there is a flower or make honey if potential problem areas for your class.
there is a honeycomb.

Links
Standards Full Course Alignment

Heads Up! Please make a copy of any


CSTA K-12 Computer Science Standards (2017)
documents you plan to share with
AP - Algorithms & Programming students.

For the teachers


Agenda
CSF - Express - Slides 2024-2025 -
Warm Up (10 minutes)
Slides (Download)  Make a Copy
Introduction
Preview of Online Puzzles For the students

Main Activity (30 minutes) Unplugged Blocks (Courses C-F)


If/Else with Bee  Make a Copy

Wrap Up (15 minutes)


Vocabulary
Reflection
Conditionals - Statements that only
Extended Learning
run under certain conditions.

Teaching Guide

Warm Up (10 minutes)

Introduction

 Display: Show “Reflect” slide


Review the "Conditionals with Cards" activity with your students.

What is a conditional statement?


When is it useful for you to use a conditional in your program?

Preview of Online Puzzles

 Display: Show “Preview - If/Else with Bee” slide

Say: Now we're going to use conditionals with the Code.org bee to help him deal with some mysterious clouds.
We don't know if his flowers have nectar or not, so we'll need to use conditionals to make sure that we collect
nectar if it's there, but that we don't try to collect nectar from a flower that doesn't have any.

Pull up a puzzle from this lesson, we recommend puzzle 9.

Ask the class what the bee should do when it gets to the cloud.
The bee should use a conditional to check for a flower or a honeycomb.
Use the "if at flower / else block". Ask the class what the bee should do if there's a flower. If there's not a flower,
there will be a honeycomb. What should the bee do then?
The bee should "get nectar" if there is a flower and "make honey" if there is a honeycomb.

Fill in the rest of the code and press "Run". Discuss with the class why this worked.

Vocabulary

 Display: Show “Vocabulary” slide

Conditionals - Statements that only run under certain conditions.

Main Activity (30 minutes)

If/Else with Bee

These puzzles might sprout some questions, so have the students work in pairs or implement the "Ask three before
you ask me" rule (have the students ask three other peers for help before they go to the teacher.) This will spark
discussions that will develop each student's understanding.

 Display: Show “Conditionals: If Statements” video

 1 Video: Conditionals: If Statements

 Display: Show “Level 2 - Prediction” slide

 2 Prediction

 Display: Show “Level 3-7 - Skill Building” slide

 3-7 Skill Building


3 4 5 6 7

 Display: Show “If and If/Else Statements” video

 8 Video: Conditionals: If and If/Else Statements

 Display: Show “Level 9 - Skill Building” slide

 9 Skill Building

 Display: Show “Level 10 - Predict” slide

 10 Prediction

 Display: Show “Level 11 - Challenge” slide

 11 Challenge

 Display: Show “Level 12-13 - Practice” slide

 12-13 Practice

12 13

 Display: Show “Level 14-15 - Challenge” slide

 14-15 Challenge

14 15

Lesson Extras
 Display: Show “Lesson Extras slide

 16-17 Lesson Extras

 
Wrap Up (15 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect: What conditionals did you use in your code today?

Extended Learning
Use these activities to enhance student learning. They can be used as outside of class activities or other
enrichment.

True/False Tag

Line students up as if to play Red Light / Green Light.


Select one person to stand in front as the Caller.
The Caller chooses a condition and asks everyone who meets that condition to take a step forward.
If you have a red belt, step forward.
If you are wearing sandals, take a step forward.
Try switching it up by saying things like "If you are not blonde, step forward."

Nesting

Break students up into pairs or small groups.


Have them write if statements for playing cards on strips of paper, such as:
If the suit is clubs
If the color is red
Have students create similar strips for outcomes.
Add one point
Subtract one point
Once that's done, have students choose three of each type of strip and three playing cards, paying attention to
the order selected.
Using three pieces of paper, have students write three different programs using only the sets of strips that
they selected, in any order.
Encourage students to put some if statements inside other if statements.
Now, students should run through all three programs using the cards that they drew, in the same order for
each program.
Did any two programs return the same answer?
Did any return something different?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 17: While Loops in Farmer
55 minutes

Overview Objectives
In this skill-building lesson, students will be working to fill holes Students will be able to:
and dig dirt in Farmer, but they will not know the size of the
holes or the height of the mounds of dirt. To solve these Distinguish between loops that repeat
puzzles, students will use a new kind of loop. a fixed number of times and loops
that repeat as long as a condition is
true.
Purpose Use a while loop to create programs

As your students continue to deepen their knowledge of loops, that can solve problems with
they will come across problems where a command needs to be unknown values.
repeated, but it is unknown how many times it needs to be
repeated. This is where while loops come in. In today's lesson,
students will develop a beginner's understanding of condition- Preparation
based loops and also expand their knowledge of loops in
Play through the puzzles to find any
general.
potential problem areas for your class.

Standards Full Course Alignment


Links
CSTA K-12 Computer Science Standards (2017)
Heads Up! Please make a copy of any
AP - Algorithms & Programming
documents you plan to share with
students.

Agenda
For the teachers
Warm Up (10 minutes)
CSF - Express - Slides 2024-2025 -
Introduction
Slides (Download)  Make a Copy
Preview of Online Puzzles
Conditionals with Cards Sample
Main Activity (30 minutes) Program - Teacher Prep Guide
While Loops in Farmer  Make a Copy

Wrap Up (15 minutes) For the students


Reflection
Unplugged Blocks (Courses C-F)
 Make a Copy

Vocabulary
Condition - Something a program
checks to see if it is true before
allowing an action.
Loop - The action of doing something
over and over again.
Repeat - To do something again.
While Loop - A loop that continues to
repeat while a condition is true.

Teaching Guide

Warm Up (10 minutes)

Introduction

 Display: Show “Reflect” slide

Reflect: When would you use a conditional statement in your daily life? For example: If it is cold outside, I will wear
a jacket.

 Display: Show “Discuss” slide

Say: While it is raining, I will use my umbrella.

Discuss:

What does the word “while” mean?

If I say “while there is a hole, fill it with dirt”

What would you do?


How long will you do that?

When you use a word like “while”, you are relying on a condition to tell the computer how long the loop should run.
A condition is a statement that is tested and found to be true or false. In the case above, the condition is if there is
a hole. It’s only possible for there to be a hole or for there not to be a hole, thus the statement is only ever true or
false.

Tell the students they will be learning about a new kind of loop. Previously, students only used loops to repeat a
command a certain number of times. Here, they won't always know how many times to repeat the command,
however, they will know when to stop or when to keep going. While loops allow the programmer to repeat a
command as long as a condition is still true. In the previous example, the condition is the existence of a hole.

 Display: Show the next slide

Say: Here are some times using a while loop would be useful:

Running toward a ball while it is in front of you.


Filling a glass while it has space for more liquid.
Walk forward while there is a path ahead.

Can you think of some others?

Preview of Online Puzzles

 Display: Show “Preview of Online Puzzles” slide

Pull up a puzzle from today's online Code Studio puzzles. We recommend Puzzle 6.

Ask the class what the farmer should do when she gets to the pile of dirt.
She should use a while loop to start removing the dirt.
Use the while there is a pile / do block. Ask the class what the farmer should do within the while loop.
The farmer should remove 1 . The farmer will keep "removing 1 dirt" while there is dirt. In other words,
when there is no dirt, remove 1 will no longer execute!

Fill in the rest of the code and press Run . Discuss with the class why this worked.

Vocabulary

 Display: Show “Vocabulary” slide

Condition - Something a program checks to see if it is true before allowing an action.

Loop - The action of doing something over and over again.

Repeat - To do something again.

While Loop - A loop that continues to repeat while a condition is true.

Main Activity (30 minutes)

While Loops in Farmer

While loops are not always a difficult concept for students to understand, but if you think your class might struggle
with these puzzles, we recommend pair programming. This will allow students to bounce ideas off each other
before implementing the code. Pair programming works to increase confidence and understanding with topics like
while loops.

 Display: Show “Level 1-3 - Skill Building” slide

 1-3 Skill Building

1 2 3

 Display: Show “Level 4 - While Loops with the Farmer ” video

 4 Video: While Loops with the Farmer

 Display: Show “Level 5 - Predict” slide

 5 Prediction

 Display: Show “Level 6-9 - Skill Building” slide

 6-9 Skill Building

6 7 8 9
 Display: Show “Level 10 - Challenge” slide

 10 Challenge

 Display: Show “Level 11-12 - Practice” slide

 11-12 Practice

11 12

 Display: Show “Level 13 - Predict” slide

 13 Prediction

 Display: Show “Level 14 - Challenge” slide

 14 Challenge

Lesson Extras
 Display: Show “Lesson Extras slide

 15-16 Lesson Extras

 

Wrap Up (15 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect: Give an example of a puzzle where you would use a while loop, but not use a repeat loop. Can you give an
example of a puzzle where you would use a repeat loop, but not a while loop?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 18: Conditionals in Minecraft: Voyage
Aquatic
60 minutes

Overview Objectives
In this skill-building/context-setting lesson, students will get Students will be able to:
the chance to practice content that they have learned up to
this point, as well as getting a sneak peek at conditionals! Define circumstances when certain
parts of a program should run and
when they shouldn't.
Purpose Determine whether a conditional is
met based on criteria.
This set of puzzles will work to solidify and build on the
knowledge of loops, and introduce conditionals. By pairing
these two concepts together, students will be able to explore
the potential for creating fun and innovative programs in a new
Preparation
and exciting environment. Play through the puzzles associated
with this lesson to find any potential
problem areas for your class.
Standards Full Course Alignment
Make sure every student has a
reflection journal.
CSTA K-12 Computer Science Standards (2017)
AP - Algorithms & Programming
Links
Agenda Heads Up! Please make a copy of any
Warm Up (15 minutes) documents you plan to share with
Introduction students.

Main Activity (30 minutes) For the teachers


Conditionals in Minecraft: Voyage Aquatic
CSF - Express - Slides 2024-2025 -
Wrap Up (15 minutes) Slides (Download)  Make a Copy
Reflection

Extended Learning Vocabulary


Condition - Something a program
checks to see if it is true before
allowing an action.
Conditionals - Statements that only
run under certain conditions.
Teaching Guide

Warm Up (15 minutes)

Introduction

 Display: Show “Reflect” slide

Reflect:

Sketch out a drawing you made last class in the Functions with Artist lesson.
What code do you need to create your drawing?

 Display: Show “Warm Up Activity” slide

Gather the class together and ask two volunteers to walk straight in some direction in the classroom. If they
encounter a chair out of place, they must step over it. If they reach a wall, they must sit down.

Once all of the students are sitting down, ask how you would program a robot to respond to a wall or a chair.
Remind students that you cannot simply say "Step over chair" unless you know there is a chair, and you will not
always know there is a chair. It might be helpful to translate the task into instructions like:

while there is a path ahead


walk forward
if there is a chair, step over it
sit down

 Display: Show "Vocabulary" slide

Tell students they will be using conditionals during this lesson. Give the definition of:

Condition: A statement that a program checks to see if it is true or false. If true, an action is taken. Otherwise,
the action is ignored.
Conditionals: Statements that only run under certain conditions.

Open up a discussion of when you might use a conditional in your code.

Main Activity (30 minutes)

Conditionals in Minecraft: Voyage Aquatic

Students are in for a real treat with this lesson. It's likely most of your students have heard of Minecraft, but give a
brief introduction for those that may not know.

Minecraft is a game of cubes. You can play as Alex or Steve as you work through mazes. You'll need to pick up
items, and explore in a world made up of cubes of things.

Demonstrate one of the puzzles to the class. Once all questions have been addressed, transition students to
computers and let them start pair programming.

 Display: Show the "Minecraft: Voyage Aquatic Introduction" video

 1 Video: Minecraft: Voyage Aquatic Introduction

 Display: Show the "Level 2-4 - Skill Building" slide


 2-4 Skill Building

2 3 4

 Display: Show the "Minecraft: Voyage Aquatic Repeat Until" video

 5 Video: Minecraft: Voyage Aquatic Repeat Until

 Display: Show the "Level 6-8 - Skill Building" slide

 6-8 Skill Building

6 7 8

 Display: Show the "Minecraft: Voyage Aquatic Conditionals" video

 9 Video: Minecraft: Voyage Aquatic Conditionals

 Display: Show the "Level 10-14 - Skill Building" slide

 10-14 Skill Building

10 11 12 13 14

 Display: Show the "Minecraft: Voyage Aquatic Congratulations" video

 15 Video: Minecraft: Voyage Aquatic Congratulations

 Display: Show the "Level 16 - Free Play" slide

 16 Free Play

Wrap Up (15 minutes)

Reflection

 Display: Show the "Reflect" slide

Reflect: Can you draw a scene where someone is using a conditional?


Extended Learning
Use these activities to enhance student learning. They can be used as outside of class activities or other
enrichment.

More Minecraft
If you find that your class really enjoys the Minecraft environment, here are some links to other Minecraft games
they can play online. These games will also teach basic coding skills.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 19: Until Loops in Maze
55 minutes

Overview Objectives
In this skill-building lesson, students will learn about "until" Students will be able to:
loops. Students will build programs that have the main
character repeat actions "until" they reach their desired Build programs with the
stopping point. understanding of multiple strategies
to implement conditionals.
Translate spoken language conditional
Purpose statements and loops into a program.

This set of puzzles will work to solidify and build on the


knowledge of loops by adding the until conditional. By
pairing these concepts together, students will be able to
Preparation
explore the potential for creating complex and innovative Play through the puzzles to find any
programs. potential problem areas for your class.

Standards Full Course Alignment Links


CSTA K-12 Computer Science Standards (2017)
Heads Up! Please make a copy of any
AP - Algorithms & Programming documents you plan to share with
students.

Agenda For the teachers


Warm Up (10 minutes) CSF - Express - Slides 2024-2025 -
Introduction Slides (Download)  Make a Copy
Main Activity (30 minutes)
Until Loops in Maze Vocabulary
Wrap Up (15 minutes) Condition - Something a program
Discussion checks to see if it is true before
Reflection allowing an action.
Conditionals - Statements that only
run under certain conditions.
Loop - The action of doing something
over and over again.
Repeat - To do something again.
Until - A command that tells you to do
something only up to the point that
something becomes true.
Teaching Guide

Warm Up (10 minutes)

Introduction

In this lesson, students will be creating loops that only run "until" a condition is true. Help the students understand
how this works by leading them in group activities and having them do an action "until" some condition is true. For
example: Have students touch their nose "until" you tell them to stop.

 Display: Show “Reflect” slide

Reflect: Describe a time when you repeated an action until some condition was true.

Preview of Online Puzzles

 Display: Show “Preview - Until Loops in Maze” slide.

Pull up a puzzle from today's Code Studio puzzles. We recommend Puzzle 4.

Ask the class what the bird should repeat to get to the pig.
The bird should repeat "move forward", "turn right", "move forward", and then "turn left".
Ask the class what they can use to repeat this code.
The bird should repeat this pattern until it reaches the pig.

Fill in the rest of the code using the "repeat until" loop and press "Run". Discuss with the class why this worked.

Vocabulary

 Display: Show “Vocabulary” slide

Condition - Something a program checks to see if it is true before allowing an action.

Conditionals - Statements that only run under certain conditions.

Loop - The action of doing something over and over again.

 Display: Show “Vocabulary (continued)” slide

Repeat - To do something again.

Until - A command that tells you to do something only up to the point that something becomes true.

Main Activity (30 minutes)

Until Loops in Maze

Online Puzzles
Bringing together concepts is not easy, but this set of lessons is meant to help students see the endless
possibilities of coding when using conditions. If students struggle at all with understanding the similarities or
differences between "while" loops and "until" loops, have them try to think of how they would use similar
statements in their real lives.

 Display: Show “Level 1 - Skill Building” slide

 1 Skill Building

 Display: Show “Repeat Until Statements” video

 2 Video: Repeat Until Statements

 Display: Show “Level 3 - Prediction” slide

 3 Prediction

 Display: Show “Level 4-8 - Skill Building” slide

 4-8 Skill Building

4 5 6 7 8

 Display: Show “Level 9 - Challenge” slide

 9 Challenge

 Display: Show “Level 10 - Practice” slide

 10 Practice

 Display: Show “Level 11 - Prediction” slide

 11 Prediction
Lesson Extras
 Display: Show “Lesson Extras" slide

 12-13 Lesson Extras

 

Wrap Up (15 minutes)

Discussion

 Display: Show “Discuss” slide

 Remarks
There are endless possibilities of coding when using conditions.

Now think about how you would use statements with “while” and “until” in your real life.

Reflection

 Display: Show “Reflect” slide

Reflect: - What's the difference between an "until" loop and a "while" loop?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 20: Harvesting with Conditionals
50 minutes

Overview Objectives
Students will practice while loops, until loops, and if / else Students will be able to:
statements. All of these blocks use conditionals. By practicing
all three, students will learn to write complex and flexible code. Nest conditionals to analyze multiple
value conditions using if, else if, else
logic.
Purpose Pair a loop and conditional statement
together.
Practicing the use of conditionals in different scenarios helps to
develop a student's understanding of what conditionals can do.
In the previous lesson, students only used conditionals to move
around a maze. In this lesson, students will use conditionals to
Preparation
help the farmer know when to harvest crops. New patterns will Play through the lesson to find any
emerge and students will use creativity and logical thinking to
potential problem areas for your class.
determine the conditions where code should be run and
Make sure every student has a
repeated.
Reflection Journal.

Standards Full Course Alignment


Links
CSTA K-12 Computer Science Standards (2017)
Heads Up! Please make a copy of any
AP - Algorithms & Programming
documents you plan to share with
students.

Agenda
For the teachers
Warm Up (5 minutes)
CSF - Express - Slides 2024-2025 -
Introduction
Slides (Download)  Make a Copy
Main Activity (30 minutes)
Harvesting with Conditionals Vocabulary
Wrap Up (15 minutes) Condition - Something a program
Reflection checks to see if it is true before
allowing an action.
Conditionals - Statements that only
run under certain conditions.
Loop - The action of doing something
over and over again.
Repeat - To do something again.
While Loop - A loop that continues to
repeat while a condition is true.
Teaching Guide

Warm Up (5 minutes)

Introduction

Students shouldn't need as much of an introduction to concepts today because they have had practice with them
in the previous lesson. Instead, you can share the story of the harvester.

The harvester is trying to pick crops like pumpkins, lettuce, and corn. However, the farmer has forgotten where she
planted these crops, so she needs to check each plant before harvesting.

Main Activity (30 minutes)

Harvesting with Conditionals

Students will continue to work with if / else statements, while loops, and until loops. These puzzles are a bit more
challenging, though, so encourage students to stick with them until they can describe what needs to happen for
each program.

 1 Video: Harvesting with Conditionals

 2-5 Skill Building

2 3 4 5

 6-7 Practice

6 7

 8 Challenge

 9-10 Practice

9 10

 11 Prediction
 12-13 Lesson Extras

 

Wrap Up (15 minutes)

Reflection

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.

Prompts:

What was today's lesson about?


How do you feel about today's lesson?
How can you see conditionals being useful in programs?
What if people only spoke in if/else statements? What would be some advantages and disadvantages of this?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 21: Functions in Minecraft
70 minutes

Overview Objectives
In this skill-building lesson, students will begin to understand Students will be able to:
how functions can be helpful!
Use functions to simplify complex
programs.
Purpose Use pre-determined functions to
complete commonly repeated tasks.
Students will discover the versatility of programming by
practicing functions in different environments. Here, students
will recognize reusable patterns and be able to incorporate
Preparation
named blocks to call pre-defined functions.
Play through the puzzles to find any
potential problem areas for your class.
Standards Full Course Alignment
Make sure every student has a
reflection journal.
CSTA K-12 Computer Science Standards (2017)
AP - Algorithms & Programming
Links
Agenda Heads Up! Please make a copy of any
documents you plan to share with
Warm Up (10 minutes)
students.
Introduction

Bridging Activity - Choose One (15 minutes) For the teachers


Unplugged Activity Using Some Blockly
CSF - Express - Slides 2024-2025 -
Preview of Online Puzzles
Slides (Download)  Make a Copy
Main Activity (30 minutes)
For the students
Functions in Minecraft
Unplugged Blocks (Courses C-F)
Wrap Up (15 minutes)
 Make a Copy
Reflection

Vocabulary
Function - A piece of code that you
can easily call over and over again.
Teaching Guide

Warm Up (10 minutes)

Introduction

 Display: Show “Reflect” slide

Reflect: What is a function and how do you use it?

Discussion Goal: Make sure students understand that functions are simply a chunk of code that has a name. Once
defined, you can use that name over and over in your program to tell the computer to run the chunk of code that
you assigned to it.

Vocabulary
 Display: Show “Vocabulary” slide

Function - A piece of code that you can call over and over again.

Bridging Activity - Choose One (15 minutes)


 Display: Show “Bridging Activity” slide

This activity will help bring the unplugged concepts from "Functions Unplugged: Songwriting" into the online world
that the students are moving into. Choose one of the following to do with your class:

Unplugged Activity Using Some Blockly

Pick a song to play that the students enjoy and print out the lyrics. You can use the same song from "Functions
Unplugged: Songwriting." Break your class into groups or pairs. Pass out the printed out lyrics (including the
repeated chorus) and the basic function blocks from *Unplugged Blocks to each group or pair of students. See
lesson tip for details.

Ask the students to cross out any part of the song that can be made into a function (the chorus is a good example)
and put it into the function blocks provided. Students should fill in the function declaration with a function name
and the words of the repeated lyrics. Once the function declaration is done, ask the students to fill in the function
calls and place them on top of the crossed out lyrics.

 Teaching Tip 

Function blocks:

The block to the left is a function declaration, a block that students will name and use to fill in the function. The
block to the right is a function call, a block that makes the function code run. Students will need multiple of the
function call blocks.
Once every group or pair is done, ask the class where they put their functions and why. Did everyone make the
same function? How often is the function repeated?

-Or-

Preview of Online Puzzles

Pull up a puzzle from the lesson. We recommend puzzle 9. As a class, work through the puzzle without using
functions. Once you have gotten the solution, display it on a white board or overhead. Ask the class to point to the
repeated code.

Ask: Why can't you just use a loop?

On the white board or overhead, rewrite the program without the repeated code, but leaving one line space. In
that/those line space(s), call a function. Off to the side, declare the function like the left example block in the lesson
tip. Ask the class what they think the code will do now.

Open up a discussion with the class on why functions could be useful in programming. Invite students to discuss
the difference between functions and loops.

Main Activity (30 minutes)

Functions in Minecraft

 Display: Show “Minecraft - The Agent” video

 1 Video: Minecraft - The Agent

 Teaching Tip 

We recommend providing paper and pencils for students to write (or draw) out ideas. Also, if students are
having trouble recognizing patterns, have them work with a partner on the harder puzzles.

 Display: Show “Level 2-3 - Skill Building” slide

 2-3 Skill Building

2 3

 Display: Show “Minecraft - Repeat Loops” video

 4 Video: Minecraft - Repeat Loops

 Display: Show “Level 5-9 - Skill Building” slide

 5-9 Skill Building


5 6 7 8 9

 Display: Show “Minecraft - Functions” video

 10 Video: Minecraft - Functions

 Display: Show “Level 11-14 - Skill Building” slide

 11-14 Skill Building

11 12 13 14

 Display: Show “Minecraft - Congratulations” video

 15 Video: Minecraft - Congratulations

 Display: Show “Level 16 - Free Play” slide

 16 Free Play

Wrap Up (15 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect:

What did your functions do in the programs you wrote today? How did that help you?
When should you use a function instead of a loop?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 22: Functions with Harvester
55 minutes

Overview Objectives
In this skill-building lesson, students will use conditionals with Students will be able to:
functions to harvest crops in Harvester.
Recognize when a function could help
to simplify a program.
Purpose Use pre-determined functions to
complete commonly repeated tasks.
This lesson is meant to further push students to use
conditionals with functions. These puzzles are intended to
increase problem solving and critical thinking skills.
Preparation
Play through the puzzles to find any
Standards Full Course Alignment potential problem areas for your class.
Make sure every student has a
CSTA K-12 Computer Science Standards (2017) reflection journal.
AP - Algorithms & Programming

Links
Agenda
Heads Up! Please make a copy of any
Warm Up (10 minutes)
documents you plan to share with
Introduction
students.
Main Activity (30 minutes)
Online Puzzles For the teachers

Wrap Up (15 minutes) CSF - Express - Slides 2024-2025 -


Reflection Slides (Download)  Make a Copy

Vocabulary
Conditionals - Statements that only
run under certain conditions.
Function - A piece of code that you
can easily call over and over again.

Teaching Guide

Warm Up (10 minutes)

Introduction

 Display: Show "Reflect" slide


Reflect:

When would you use a function?


Do you think functions make programming easier or harder? Why?

At this point, your students should already be introduced to functions. Take this time to have them discuss the
advantages and disadvantages of using functions in a program. Either have them pair-share or discuss as a class.
Try using examples of hard or easy puzzles in either Artist or Bee.

Vocabulary
 Display: Show "Vocabulary" slide

Conditionals - Statements that only run under certain conditions.


Function - A piece of code that you can call over and over again.

Main Activity (30 minutes)

Online Puzzles

Some puzzles will have a function pre-declared for the students to fill in. It may be helpful for the students to write
the entire program without a function first, then determine where a function would be useful in the program.

It's important to make sure that every student is completing each puzzle with a dark green dot. If some of your
students are struggling to simplify code and use functions, set up teams of expert students within your class to go
around and answer questions.

Don't forget to provide pencils and paper to help students sketch out possible solutions.

 Display: Show "The Harvester" video

 1 Video: The Harvester

 Display: Show “Level 2-12 - Skill Building” slide

 2-10 Skill Building

2 3 4 5 6 7 8 9 10

 11 Challenge

 12 Practice

 Display: Show “Level 13 - Prediction” slide

 13 Prediction
Wrap Up (15 minutes)

Reflection

 Display: Show “Reflect” slide

Reflect How does a function help to simplify your program?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 23: Functions with Artist
60 minutes

Overview Objectives
In this skill-building lesson, students will use functions with the Students will be able to:
Artist.
Categorize and generalize code into
useful functions.
Purpose Recognize when a function could help
to simplify a program.
One of the most important components to this lesson is
providing students with a space to create something they are
proud of. These puzzles progress to more and more complex
Preparation
images, but each new puzzle only builds off the previous
puzzle. At the end of this lesson, students will feel confident Play through the puzzles to find any
and proud of their hard work. potential problem areas for your class.
Make sure every student has a
Reflection Journal.
Standards Full Course Alignment

CSTA K-12 Computer Science Standards (2017) Links


AP - Algorithms & Programming

Heads Up! Please make a copy of any


documents you plan to share with
Agenda students.

Warm Up (15 minutes)


Introduction For the teachers

Main Activity (30 minutes) CSF - Express - Slides 2024-2025 -


Functions with Artist Slides (Download)  Make a Copy

Wrap Up (15 minutes) For the students


Reflection Unplugged Blocks (Courses C-F)
Extended Learning  Make a Copy

Vocabulary
Function - A piece of code that you
can easily call over and over again.
Teaching Guide

Warm Up (15 minutes)

Introduction

Tell the class that there are two main components to using functions.

. The Declaration: Function declarations are what create a function. In a function declaration, you fill in the
function with code and you give the function a name. You must declare a function before you can use it.

. The Call: Function calls are what makes the program run the code in the function. To call a function, you place
the name of the function in your program. Make sure your function is properly defined before calling it in your
program.

Students may benefit from writing code without functions then creating functions from the repeated code. If
students don't enjoy doing this in the Code.org workspace, we recommend providing paper and pencils for
students to write (or draw) out their ideas.

Main Activity (30 minutes)

Functions with Artist

 1 Prediction

 2-9 Practice

2 3 4 5 6 7 8 9

 10 Challenge

 11 Practice

 12 Prediction

 13 Free Play

 14-15 Lesson Extras


 

Wrap Up (15 minutes)

Reflection

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.

Prompts:

What was today’s lesson about?


How do you feel about today’s lesson?
What are some differences between functions and loops?
Sketch out a drawing you made today. Can you write the code needed to create this?
Draw a picture you would like to create with code. Try writing or drafting the code that would make that
drawing.

Extended Learning
Use these activities to enhance student learning. They can be used as outside of class activities or other
enrichment.

Draw by Functions
Break the class into groups of 2-3 students. Have each group write a function that draws some kind of shape and a
program that uses that function. Depending on the creativity or focus the groups, students might need to be
assigned a shape to create. Once every group is done, have the groups switch programs. On a separate piece of
paper, each group should draw what the program creates. The groups should then return the programs and
drawings to the original group.

Did every group get the drawing they expected? If not, what went wrong? Have the class go through the
debugging process and try again.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 24: Text and Prompts
45 minutes

Overview Objectives
In this skill-building lesson, students will get practice with Students will be able to:
variables in Sprite Lab.
Use variables in conjunction with
prompts.
Purpose Use variables to hold words and
phrases.
Variables will be used in this course to store and modify data. At
this point, students will simply be storing and retrieving values
without changing them. In later lessons, students will store
Preparation
numerical values and modify them over time to keep track of
things like a player’s score in a game. Play through the levels and review the
lesson slides.

Standards Full Course Alignment


Links
CSTA K-12 Computer Science Standards (2017)
AP - Algorithms & Programming Heads Up! Please make a copy of any
documents you plan to share with
students.
Agenda
For the teachers
Warm Up (5 minutes)
Review CSF - Express - Slides 2024-2025 -
Slides (Download)  Make a Copy
Main Activity (30 minutes)
Sprite Lab Documentation -
Text and Prompts
Resource
Wrap Up (10 minutes)
Review Vocabulary
Reflection
Variable - A label for a piece of
information used in a program.
prompt - A message on the computer
screen that waits for input from the
user.
Teaching Guide

Warm Up (5 minutes)

Review

Do This: Remind students what they did last class or ask them to share.

 Display: Show “Reflect” slide

Reflect: How did we use variables in our Blank Space Stories?

Vocabulary
 Display: Show “Vocabulary” slide

Prompt - A message on the computer screen that waits for input from the user.
Variable - A label for a piece of information used in a program.

 Display: Show “Prompts” slide

Discuss: How do computer programs ask us for information?

Discussion Goal: Students should think about their own experiences as users and times when a computer asks
them for information. There are lots of ways to input information into a computer, but focus on ideas where
something is typed into a prompt for now.

 Display: Show “Variables” slide

 Remarks
At the end of the last lesson, we were looking at the similarities between blank space stories and apps that ask a
user for input. When a message on the computer screen is waiting for your input we call that a prompt. When a
user types into a prompt, it’s like the computer is storing the information in a container. The variable's label tells us
what kind of information to expect. Today we are going to learn the code to create a prompt in Sprite Lab.

Main Activity (30 minutes)

Text and Prompts

Prediction (5 mins)
 Display: Show “Level 1 - Predict” slide

Do This: Have students read the provided code and make a prediction about what will happen. After pressing “Run”,
provide time for students to reflect on anything they found interesting or that surprised them.

 1 Prediction

Video (5 minutes)
 Display: Show “Sprite Lab: Text and Prompts” video
 2 Video: Text and Prompts

 Teaching Tip 

Just like when students are writing or communicating verbally, it's important to set expectations on using
words appropriately in this activity. Students should understand that they are responsible for the code that
they write, including any text that shows on the screen. The text should be respectful, as well as safe. Students
can practice not sharing personal information in their programs, especially if they want to share with others.
Note that any information typed into a Sprite Lab prompt isn't saved long-term. Words and messages typed by
the users of these apps is gone once the app is reset.

Skill Building and Practice (20 mins)


 Display: Show “Level 3-8 - Skill Building” slide

Transition: Have students move to their computer and sign in. All students should complete all levels in this section
in order. These activities are suitable for independent learning or pair programming.

Students should complete the Skill Building levels and then spend any remaining time choosing from the various
Practice activities.

 3-8 Skill Building

3 4 5 6 7 8

 Teaching Tip 

This lesson has more skill building and practice levels than previous lessons, because students are learning a
few new skills all at once. As such, there is not a dedicated “free play” level. However, students who are feeling
confident with their new skills can choose the last practice option to start from scratch with a blank project. In
the next lesson, students will also be working exclusively on their own project that they plan and design ahead
of time.

 Display: Show “Level 9 - Practice (Choice)” slide

 9 Practice

Wrap Up (10 minutes)

Review

Do This: Use the lesson slides to review the vocabulary for this lesson. Be sure that students can recall from the
lesson where they saw each of these concepts.

 Display: Show “Wrap-Up Summary” slide

 Remarks
When a user enters information into a prompt, the computer stores it with a variable. The prompt can also trigger
an event. If the code uses a variable, the computer will look for a matching label to find the stored information.

Reflection

 Display: Show “Reflect” slide

Pick one (or both) of the reflection prompts below to give to students. They can journal individually, or discuss the
answers in groups or as a class.

Reflect:

How is a variable like a box? How is it different?


Why do programmers need variables?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 25: Counting with Variables
45 minutes

Overview Objectives
In this skill-building lesson, students will use variables to track a Students will be able to:
value that changes over time, like a counter. This lesson also
includes a short mini-project in which students create a simple Create a clicker game in Sprite Lab
game. where sprites can be removed to
score points
Create a variable that stores
Purpose information and changes over time

In previous lessons, students learn to use variables to store data


that can be retrieved later. In this lesson, students will begin
learning to modify the data stored in a variable. This key
Preparation
understanding of how variables work will also enable them to Play through the levels and review the
create more advanced projects. lesson slides.

Standards Full Course Alignment Links


CSTA K-12 Computer Science Standards (2017) Heads Up! Please make a copy of any
AP - Algorithms & Programming documents you plan to share with
students.

Agenda For the teachers


Warm Up (5 minutes) CSF - Express - Slides 2024-2025 -
Introduction Slides (Download)  Make a Copy
Review

Main Activity (30 minutes)


Counting with Variables

Wrap Up (10 minutes)


Reflect

Teaching Guide

Warm Up (5 minutes)

Introduction

 Display: Show next slide

Discuss: Which of the following types of information change over time?


Your first name
Your birthday
Your height
Your age
The temperature outside
The answer to 2+2
The capital of our country
Today’s date
The score in a game

Do This: Have students discuss which information would change over time and which would not. Some items might
generate a larger discussion. For example, it is possible to change your first name or use a nickname. Also, over
time, your height will stop changing.

 Display: Show “Reflect” slide

Reflect: When is it useful to change what is stored in a variable?

Discussion goal: Students should understand that they can create a variable that stores information that either
stays the same or changes over time. In a game with points, a variable is responsible for keeping track of a user’s
score throughout the game. Typically, this variable starts out being set to 0 and increases by 1 for every point that
the user scores. The final score is reported at the end by printing out the variable.

 Teaching Tip 

The goal of this discussion activity is to get students thinking about storing and modifying information using a
variable. Students may recall that in previous lessons they would store information, like a word, by entering it
into a prompt. In the next activities, students will learn a new way to store information as well as how to modify
that information as a program runs. They should discuss when it would be necessary to change or update a
variable over time.

For the discussion, decide beforehand what strategy will work best for your classroom. Some ideas include:
using a T-chart, discussing in pairs or as a class.

 Display: Show next slide

 Remarks
The value stored in a variable can change over time.

When we start, our count variable is set to 0. After a few seconds, it increases by 1.

Review

 Display: Show next slide

Do this: Use the lesson slides to review the vocabulary for this lesson. Be sure that students can recall from the
lesson where they saw each of these concepts.

 Remarks
When a user enters information into a prompt, the computer stores it with a variable. The prompt can also trigger
an event. If the code uses a variable, the computer will look for a matching label to find the stored information.

 Teaching Tip 
Students shouldn’t be expected to know how variables will be used in this new context right away, so it’s okay
to frame these questions as things to consider while they work.

As students move through the levels in this lesson, they will learn how to set a variable to store a number, then
change that number over time. Knowing how to modify a variable’s value is the key to tracking something that
changes, like the score in a game.

Main Activity (30 minutes)

Counting with Variables

Prediction (3 minutes)
 Display: Show “Level 1 - Predict” slide

Do this: Have students read the provided code and make a prediction about what will happen. After pressing “Run”,
provide time for students to reflect on anything they found interesting or that surprised them.

 Display: Show “Level 2 - Predict” slide

Do this: Have students read the provided code and make a prediction about what will happen. After pressing “Run”,
provide time for students to reflect on anything they found interesting or that surprised them.

 1-2 Prediction

1 2

 Teaching Tip 

This lesson includes two prediction puzzles: one to bridge what students have already learned and a second
one to introduce the new blocks in the lesson.

Skill Building and Exploration (10 mins)


 Display: Show “Level 3-5 - Skill Building” slide

Transition: Move students to their computers. Encourage students to follow the instructions for each level.

 3-5 Skill Building

3 4 5

 Display: Show “Level 6 - Exploration” slide

 6 Exploration: Clicker Game

Mini-Project (17 mins)


 Display: Show “Level 7-11 - Clicker Game” slide

 7-11 Mini-Project: Clicker Game

7 8 9 10 11

Wrap Up (10 minutes)

Reflect

 Display: Show “Reflect” slide

Reflect: How did you use variables in your game?

Discussion goal: Students should understand that the variables in their game stored a value that changed over
time. A variable’s value can set directly in the code, modified as a user interacts with an app, or input directly such
as with a prompt.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 26: Using Variables with the Artist
40 minutes

Overview Objectives
In this skill-building lesson, students will explore the creation of Students will be able to:
repetitive designs using variables in the Artist environment.
Students will learn how variables make code easier to write and Assign values to existing variables.
easier to read. After guided puzzles, students will end in a free Use variables to change values inside
play level to show what they have learned and create new of a loop.
designs. Utilize variables in place of repetitive
values inside of a program.

Purpose
Variables are essentially placeholders for values that might be
Preparation
unknown at the time that you run your program or for values Play through the puzzles to find any
that can change during the execution of a program. These are
potential problem areas for your class.
vital to creating dynamic code because they allow your
Make sure every student has a
program to change and grow based on any number of potential
Reflection Journal.
modifications. This stage reinforces the use of variables, using
the most basic capabilities of setting and using them.

Links
Standards Full Course Alignment
Heads Up! Please make a copy of any
CSTA K-12 Computer Science Standards (2017) documents you plan to share with
students.
AP - Algorithms & Programming

For the teachers


Agenda CSF - Express - Slides 2024-2025 -
Warm Up (5 minutes) Slides (Download)  Make a Copy
Review For the students
Main Activity (20 minutes) Variables - Student Video
Using Variables with Artist (Download)
Wrap Up (15 minutes)
Reflection Vocabulary
Variable - A label for a piece of
information used in a program.
Teaching Guide

Warm Up (5 minutes)

Review

It might be helpful to remind students of what they know about variables so far.

How are variables like a box or container?


Once information is stored in a variable, how do we use it later in a program?

Main Activity (20 minutes)

Using Variables with Artist

Consider reviewing the Prediction level and video with the full class before moving students on to the Skill Building
section.

 1 Prediction

 2 Video: Variables in Artist

 3-6 Skill Building

3 4 5 6

 7 Free Play

Wrap Up (15 minutes)

Reflection

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.

Prompts:

What was today’s lesson about?


How did you feel during today’s lesson?
Have you tried mixing multiple variables into one program? What might that look like? When would it be
helpful?
This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 27: Variables with the Bee
60 minutes

Overview Objectives
This skill-building lesson will help illustrate how variables can Students will be able to:
make programs more dynamic by allowing values to change
while the code is running. Examine code to find places where
variables can be substituted for
specific values.
Purpose Identify areas where they can use
variables to modify quantities during
This lesson will illustrate how code with changing values can be
helpful and prepare students to understand how "for loops" runtime.
work in upcoming lessons.

Preparation
Standards Full Course Alignment
Play through the puzzles to find any
potential problem areas for your class.
CSTA K-12 Computer Science Standards (2017)
Make sure every student has a
AP - Algorithms & Programming Reflection Journal.

Agenda Links
Warm Up (15 minutes)
Introduction Heads Up! Please make a copy of any
documents you plan to share with
Main Activity (30 minutes) students.
Variables with the Bee
For the teachers
Wrap Up (15 minutes)
Reflection CSF - Express - Slides 2024-2025 -
Slides (Download)  Make a Copy

Vocabulary
Variable - A label for a piece of
information used in a program.
Teaching Guide

Warm Up (15 minutes)

Introduction

This series is a little different than what students have done in the past. Now, instead of simply assigning a value to
a variable and running your code, you'll need to help students see how a variable can be modified during program
runtime.

Display Show students the play area from one of the later puzzles.

There are several things to unpack here, so you might need to give your students a chance to look at it critically
before you expect them to do anything with it.

Think/Pair: What patterns do you notice in this puzzle? What are the differences between the flower honeycomb
patches at the beginning, middle, and end of the bee's path?

Share: Let students share their ideas.

Discuss: What are the ways we could program a solution to this puzzle? How could we use a variable to have a
loop do this for us?

Main Activity (30 minutes)

Variables with the Bee

This set of puzzles takes some serious computational thinking skills. If you find that students are getting stuck, help
them break down the puzzles into the individual pieces:

What would it look like if the flowers/honeycomb all had the same amount of nectar/honey?
Now how can you use a variable to get the quantities the way you want them?
 1-7 Skill Building

1 2 3 4 5 6 7

 8-10 Practice

8 9 10

Wrap Up (15 minutes)

Reflection

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.

Prompts:

What was today’s lesson about?


How did you feel during today’s lesson?
What are some ways you have used variables so far?
What else do you think you can do with variables?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 28: For Loops with Bee
60 minutes

Overview Objectives
This skill-building lesson focuses on for loops and using an Students will be able to:
incrementing variable to solve more complicated puzzles.
Determine starting value, stopping
value, and stepping value for a for
Purpose loop.
Recognize when to use a for loop and
Today's concept, for loops are a very important topic in
when to use other loops such as
computer science. Not only are they widely used, the process
of learning for loops enhances the learning of other important repeat and while loops.
concepts (such as variables and parameters.) Students will have
plenty of practice critically thinking through problems by
determining the starting, ending, and stepping values for each
Preparation
for loop. This concept uses plenty of math as well, so feel free
Play through the puzzles to find any
to pair it with a math lesson for an even deeper learning
potential problem areas for your class.
experience.
Make sure every student has a
Reflection Journal.

Standards Full Course Alignment

CSTA K-12 Computer Science Standards (2017)


Links
AP - Algorithms & Programming
Heads Up! Please make a copy of any
documents you plan to share with

Agenda students.

Warm Up (15 minutes) For the teachers


Introduction
CSF - Express - Slides 2024-2025 -
Main Activity (30 minutes) Slides (Download)  Make a Copy
For Loops With Bee
For the students
Wrap Up (15 minutes)
Unplugged Blocks (Courses C-F)
Reflection
 Make a Copy

Vocabulary
For Loop - Loops that have a
predetermined beginning, end, and
increment (step interval).
Teaching Guide

Warm Up (15 minutes)

Introduction

Display a puzzle from the lesson. We recommend the prediction level because it displays a potential solution and
asks the user to evaluate it.

Main Activity (30 minutes)

For Loops With Bee

Online Puzzles
Some students may have a hard time differentiating between repeat loops and for loops. We recommend having
scratch paper out for students to make guesses on values like the start, stop, and step. Implementing pair
programming amongst the class might also be helpful for your students.

 1-2 Review

1 2

 3 Exploration: For Loops

 4 Video: For Loops

 5 Prediction

 6-8 Skill Building

6 7 8

 9-13 Practice

9 10 11 12 13
 14-15 Lesson Extras

 

Wrap Up (15 minutes)

Reflection

Prompts:

What was today’s lesson about?


How did you feel during today’s lesson?
How is a for loop different from a repeat loop?
Why do you think for loops could be useful?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 29: For Loops with Artist
60 minutes

Overview Objectives
In this skill-building lesson, students practice “for” loops with Students will be able to:
Artist. Students will complete puzzles to create complex
designs and unique art. Recognize when to use a for loop and
when to use other loops such as
repeat and while loops.
Purpose Use for loops to change loop several
times with different values.
Creativity and critical thinking come together beautifully in this
lesson. Students will continue their practice with for loops and
variables while they create jaw-dropping images. This lesson
inspires a creative mind while teaching core concepts to
Preparation
computer science. Play through the lesson to find and
potential problem areas for your class.
Make sure every student has a
Standards Full Course Alignment
Reflection Journal.

CSTA K-12 Computer Science Standards (2017)


AP - Algorithms & Programming Links
Heads Up! Please make a copy of any
Agenda documents you plan to share with
Warm Up (15 minutes) students.

Introduction
For the teachers
Main Activity (30 minutes)
Flor Loops with Artist CSF - Express - Slides 2024-2025 -
Slides (Download)  Make a Copy
Wrap Up (15 minutes)
Reflection Vocabulary
For Loop - Loops that have a
predetermined beginning, end, and
increment (step interval).
Teaching Guide

Warm Up (15 minutes)

Introduction

On a board displayed to the entire class, draw (or display via projector) one of the final designs from the Code
Studio puzzles associated with this lesson. We recommend one of the following:

Ask the class how a computer might draw the drawing you displayed.

After a few predictions have been said, reply with for loops of course!

Tell the students they will soon be learning how to create these fine drawings using for loops and variables.

Main Activity (30 minutes)

Flor Loops with Artist

 1 Video: For Loops

 Teaching Tip 

These puzzles are super fun, but it may be helpful for students to have protractors, pencils and scratch paper to
see how these designs were made in the physical form. If that isn't an option in your class, try to get the
students to trace on the computer screen with their fingers.

 2 Exploration

 3-7 Skill Building

3 4 5 6 7
 8 Free Play

 9-10 Lesson Extras

 

Wrap Up (15 minutes)

Reflection

Prompts:

What was today’s lesson about?


How did you feel during today’s lesson?
Draw one of the designs you made today. What was the code needed to create it?
What are some designs you would like to create? How do you think for loops or variables could help create
those?

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.
Lesson 30: End of Course Project
45 minutes

Overview Objectives
This project lesson takes students through the process of Students will be able to:
designing, developing, and showcasing new projects!
Overcome obstacles such as time
constraints or bugs.
Purpose
This lesson provides students with space to create a project of Preparation
their own design, using a step-by-step process that requires
planning but also allows for broad creativity. Spend time making your own project
with both the project tools available
to students. Familiarize yourself with
Agenda the capabilities and limitations of
Warm Up (10 minutes) each tool.
Planning Modify the *rubric to fit your class
goals and print one copy for each
Main Activity (25 minutes) student or group.
Coding Modify the *project planning guide to
Example Projects fit your class and print one for each
Create your project student or group.
Wrap Up (10 minutes)
Showcase
Links
Heads Up! Please make a copy of any
documents you plan to share with
students.

For the teachers

CS Fundamentals Final Project -


Rubric  Make a Copy
CSF - Express - Slides 2024-2025 -
Slides (Download)  Make a Copy
Sprite Lab Documentation -
Resource

For the students

CSF Express End of Course Project


Planning Guide - Project Guide
 Make a Copy
Vocabulary
Define - Figure out the details of the
problems that you are trying to solve
Prepare - Research, plan, and acquire
materials for the activity you are
about to do
Reflect - Carefully think back on
something with the intention of
improving the outcome in the future
Try - Attempt to do something

Teaching Guide

Warm Up (10 minutes)

Planning

Get students excited and ready for today's activity!

 Remarks
We have already had a chance to build a variety of projects. Today, this experience will be much more open-
ended, so it will require planning beforehand! Planning is a very important part of coding a game or any other kind
of software. So, before we jump onto computers, we will spend some time planning the projects we want to
build.

Distribute: Distribute one *End of Course Project Planning Guide to each student or pair. With students, go over
the steps listed on the guide, then allow them to complete it. Refer to the included exemplar if needed.

 Teaching Tip 

If students are pair programming for this assignment, this warm up is a great opportunity for them to practice
sharing and respecting others' ideas. Ensure students are following group work norms you already have in place
in your classroom. Otherwise, spend a brief moment going over your expectations.

Main Activity (25 minutes)

Coding

Equipped with their completed planning guides, students are now ready to bring their projects to life. These levels
correspond to the structure of the planning guide, and help navigate students through the process of transforming
their ideas into code.

 Teaching Tip 

Students will experience plenty of trial and error while coding. Their projects are likely to become truncated
versions of their original scope. Remind students that this kind of compromise is common in software design.
It's okay if they don't get to build in every feature they planned!

Example Projects

 1 Example Projects

Create your project

 2 Create your project

Wrap Up (10 minutes)

Showcase

To celebrate students' work, spend the last 10 minutes or so allowing them to showcase their projects. This can be
done in many ways, but here are a few:

Public Demo: Select a few exemplary volunteers to briefly demo their projects in front of the class. As they do
so, have them touch on what the planning-to-coding experience was like for them, including ideas they'd still
like to implement.
Pair Playtesting: Have students or groups pair up and playtest each other's projects. As they do, ask them to
provide positive and constructive feedback to each other. The benefit here is that students will have the
opportunity to provide and respond to feedback in a smaller setting.
Gallery Walk: Ensure all students have their projects ready for testing. Have students move "musical chairs"-
style to another computer and playtest the project there for a few minutes, until they receive a signal from you
to move to another computer. Repeat this every few minutes. While there is less opportunity for structured
communication here, this ensures students get to demo as many of their peers' projects as possible.

This work is available under a Creative Commons License (CC BY-NC-SA 4.0).

If you are interested in licensing Code.org materials for commercial purposes contact us.

You might also like