F3: Variables - Single Variables
Students use variables in a program. They will use Blockly preset programs and Challenge Cards to practice their new skills.

Lesson
Overview
Description
Students use variables in a program. They will use Blockly preset programs and Challenge Cards to practice their new skills.
Objectives
define a variable
understand the benefits of using variables
use variables to revise code
complete coding challenges in an iterative process
Before the Lesson
Prior Experience
It is recommended that students complete:
Level A-E Lessons: All
Level F: Lessons 1-2
[Optional] Level A-E Challenge Cards: All
[Optional] Level F Challenge Cards: F 1.1-1.3
You can purchase our Learn to Code Challenge Card sets and Curriculum Guide here: https://store.makewonder.com/#/education
Preparation
Fully charge the tablets and robots.
Install the Wonder Workshop Blockly app on each tablet.
Review
Variables
Briefly review how students used variables in the previous lesson by asking:
““How did we use variables to tell a story?” (Sample response: “We used variables to hold places for certain types of words.”)
“How are variables helpful in coding?” (Sample response: Variables store information in our code.”)
Say, “Today, we will use variables to program Dash.”
Blockly In-App Puzzle (Optional)
Have students complete the Troll of Trepidation puzzle. You can find walkthroughs, solutions, and extensions for the puzzle.
Have students update their Blockly Puzzle Checklists.
Note: If previous puzzles are locked, show students how to quickly unlock them using this strategy: https://help.makewonder.com/customer/en/portal/articles/2318965-how-can-i-reset-challenges-unlock-free-play-or-unlock-wonder-cloud-?b_id=14312
Code.Org Connections (Optional)
Review Code.org’s lesson focusing on variables: https://studio.code.org/s/coursef-draft/stage/6/puzzle/3.
Then ask: “How were variables used in these puzzles?”
Sample Response: “The variables held a specific measurement so we could create an equal-sided shape.”
Ask, “Using the same program, could we have used the same variable to create a rectangle?”
Sample Response: “No, we could not have used a variable to create a rectangle in this program, as a rectangle has sides of two different lengths, and a variable can only hold one piece of information. You would need two different variables.”
Direct Instruction
Introduction
Say, “A variable is like a bag: It keeps information stored inside of it. However, there are many ways variables can change. You can add, subtract, multiply, or divide them. You can even use them to help programs make decisions. For example, you can tell the program that if the variable is greater than a certain number, then something will happen.”
Brainstorm with students to come up with real-life examples of variables. For example:
Let’s say my wallet has a variable: the amount of money that’s inside it! First, my wallet has 20 dollars inside it, so the variable is 20 dollars. Then I buy a bag of lollipops and take out 5 dollars. Now the value of my variable is 15 dollars!
Say, “For this activity we are going to use variables inside conditionals.”
Quick Check
What are conditionals? (Possible response: “Conditionals are statements that help computers make decisions.”)
What are variables? (Possible response: “Variables hold numbers that can be changed.”)
Guided Practice
Activity: Dizzy Dash
Project your tablet screen, open the Blockly app, and go to the menu at the top left of the screen.
Go to the Create New Project menu and select the Dizzy Dash preset program. Then tap “create.”

Ask the students to look at the program and predict what they think will happen when it is run.
Run the program to see if the students’ predictions were correct.
Ask, “What happens when we start the program?”
Sample response: “The variable is set to 0.”
Ask, “What happens when Dash’s Top Button is pressed?”
Sample response: “The variable increases by 1 and Dash turns in a circle.”)
Ask, “What happens after you press Dash’s Top Button more than 3 times?”
Sample response: “Dash says ‘Help,’ moves backwards, and the variable resets to 0.”
Ask, “How can you change the code so that the variable increases by 2 each time you press the Top Button?”
Sample response: “You can tap the Change Variable block to change how much the variable increases.”
Quick Check
How are variables used in coding? (Sample response: “Variables save pieces of information.”)
How are variables used in your life? (Sample response: “I use a variable to keep track of my score in a video game or board game.”)
Independent Practice
Instructions
Have students work on the following activities in small groups (ideally 2–3 students per robot).
Encourage students to share tablet and robot time. Have them establish and rotate through roles such as:
Lead Programmer: Holds the tablet and manipulates the code.
Robot Wrangler: Retrieves and resets the robot after every program attempt.
Documentarian: Records group results, thoughts, and progress. Illustrates group designs and ideas.
When students work together while coding, they’re able to help each other identify mistakes and develop creative solutions!
Dizzy Dash - Extension
Have students use the Wonder Journal: Dash Planning or General Planning worksheet to design ways to add to or alter the Dizzy Dash preset program. They can:
Change the animations and movements.
Add lights and sounds.
Change how much the variable increases or decreases.
Add an event handler.
Change the cues.
After they finish revising the program, have students:
Complete a Wonder Journal: Reflection worksheet.
Take a screenshot of their Blockly code.
Take a video of Dash while the code is running.
Challenge Cards (Optional)
You can purchase our Learn to Code Challenge Card sets and Curriculum Guide here: https://logicsacademy.com/store/
Have students complete the following Challenge Cards:
F 2.1: Road Trip
F 2.2: Pump It Up!
F 2.3: On the Road!
For each challenge, encourage students to:
Use the Wonder Journal: Dash Planning or General Planning worksheet to discuss how they can complete the challenge.
Review the Troubleshooting and Problem Solving & Debugging worksheet if they run into any problems with their code.
After they finish each challenge, have students:
Complete a Wonder Journal: Reflection worksheet.
Take a screenshot of their Blockly code.
Take a video of Dash while running their code.
Update their Challenge Card Checklists.
Wrap Up
Student Presentations
Have student groups take turns sharing one of their programs with the class. Encourage them to:
Explain their design thinking (e.g., “We changed the (variable amounts) because we wanted the program to skip count using larger numbers”).
Share any obstacles and difficulties they overcame during the activity (e.g., “At first, we didn’t know how to increase or decrease the variable, but we tapped on the Change Variable block and found where to change the amount”).
Encourage students to ask each other how they accomplished different objectives and give each other feedback on their programs. Possible questions/feedback includes:
“How did you (add and/or change a variable)?”
“I like how you (changed the animations).”
“What if you (changed the conditional block)?”
Follow-Up Questions/Discussion
Could we have written the same program without using variables? (Sample Response: “No, because variables are the only way we can store information in a code.”)
How was the conditional block used in this program? (Sample response: “The conditional block said that if the variable was greater than 3, then Dash would say, ‘Help!’ and move backwards.”)
What would happen if you programmed the variable to change by 3 instead of 1? How long would it take Dash to say, “Help!”? (Sample response: “If you programmed the variable to increase by 3, then Dash would say, ‘Help!’ after hitting the Top Button only once.”)
Assessment
Use our Evaluation Rubric to review students’ work and presentations.
[Optional] Share your students’ work with the world using @logicsacademy and #dashanddot!
Educational Standards
CSTA
CSTA
1B-AP-09: Create programs that use variables to store and modify data.
1B-AP-10: Create programs that include sequences, events, loops, and conditionals.
1B-AP-11: Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process.
1B-AP-12: Modify, remix, or incorporate portions of an existing program into one’s own work, to develop something new or add more advanced features.
1B-AP-15: Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended
1B-AP-16: Take on varying roles, with teacher guidance, when collaborating with peers during the design, implementation, and review of program development.
1B-AP-17: Describe choices made during program development using code comments, presentations, and demonstrations.
ISTE
ISTE
4d: Exhibit a tolerance for ambiguity, perseverance and the capacity to work with open-ended problems.
6b: Create original works or responsibly repurpose or remix digital resources into new creations.
7c: Contribute constructively to project teams, assuming various roles and responsibilities to work effectively toward a common goal.
NGSS
NGSS
3-5-ETS1-2: At whatever stage, communicating with peers about proposed solutions is an important part of the design process, and shared ideas can lead to improved designs.
Common Core
Common Core
CCSS.ELA-LITERACY.W.2.6: With guidance and support from adults, use a variety of digital tools to produce and publish writing, including in collaboration with peers.
CCSS.ELA-LITERACY.W.2.8: Recall information from experiences or gather information from provided sources to answer a question.
CCSS.ELA-LITERACY.SL.3.1: Engage effectively in a range of collaborative discussions (one-on-one, in groups, and teacher-led) with diverse partners on grade 3 topics and texts, building on others' ideas and expressing their own clearly.
CCSS.ELA-LITERACY.SL.3.3: Ask and answer questions about information from a speaker, offering appropriate elaboration and detail.
CCSS.ELA-LITERACY.SL.3.4: Report on a topic or text, tell a story, or recount an experience with appropriate facts and relevant, descriptive details, speaking clearly at an understandable pace.
Alberta - Grade 5 - CTF
Grade 5
CTF
Planning, creating, appraising and communicating in response to challenges.
Working independently and with others while exploring careers and technology
Ontario - Grade 5 - Mathematics
Grade 5
Mathematics: Algebra (Coding)
C3.1 solve problems and create computational representations of mathematical situations by writing and executing code, including code that involves conditional statements and other control structures.
Nova Scotia - Grade 5 - ICT
Grade 5
ICT
P2: Students will be expected to use digital tools to develop ideas and original works in innovative ways.
TOC1: Students will be expected to
safely use many forms of current technology for learning with growing competence
demonstrate conceptual understanding of how information and communication technology, digital tools, and authorized networks support their learning
use terminology related to information and communication technology
British Columbia - Grade 5 - ADST
Grade 5
ADST
• Make changes and test again, repeating until satisfied with the product
• Use materials, tools, and technologies in a safe manner, and with an awareness of the safety of others, in both physical and digital environments
• Identify the skills required for a task and develop those skills as needed
• Use familiar tools and technologies to extend their capabilities when completing a task
• Demonstrate a willingness to learn new technologies as needed
