F4: Variables - Complex Variables
Students understand how to use and manipulate variables. They will use Blockly preset programs and Challenge Cards to practice their new skills.

Lesson
Overview
Description
Students understand how to use and manipulate variables. They will use Blockly preset programs and Challenge Cards to practice their new skills.
Objectives
define a variable
manipulate the variable using mathematical formulas
use variables to revise code
complete coding challenges in an iterative process
Before the Lesson
Prior Experience
It is recommended that students complete:
Levels A-E Lessons: All
Level F: Lessons 1-3
[Optional] Level A-E Challenge Cards: All
[Optional] Level F Challenge Cards: F 1.1-2.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 variables were used in the previous lesson by saying,“In our previous lesson we used variables to make Dash feel Dizzy. How were variables used in that program?”
Sample response: “The variable kept track of how many times Dash’s Top Button was pressed. Then, the program used an if statement to use the information stored in the variable to tell Dash to stop spinning and ask for help.”
Blockly In-App Puzzle (Optional)
Have students complete the Ticking Time Bomb 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/10?solution=true
“How were variables used in these puzzles?” (Sample response: “The variables held a specific measurement or number representing the number of sides of a polygon. Using a variable in this way allowed us to draw shapes.”)
Direct Instruction
Introduction
Ask, “How did you use variables in the last lesson?” (Sample response: “The variable was used to keep track of the number of times Dot’s Top Button was pressed.”)
Ask, “Have you ever played the game Hot Potato?” In Hot Potato, you pass a potato (or ball) around a circle. During the game, music is played. When the music stops, the person holding the potato is out.”
Say, “Today, we are going to play Hot Potato with Dot. Dot will be the potato.”
Quick Check
What are variables? (Sample response: “Variables are containers that hold information that can be changed.”)
How do you use a Repeat Until block? (Sample response: “The repeat until block is used when you want a behavior to continue until something happens.”)
Guided Practice
Activity: Hot Potato
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 Hot Potato preset program. Then tap “create.”

Ask the students to look at the program and predict what they think will happen when it is run.
Then, have students play Hot Potato by passing Dot around. The person holding Dot when Dot beeps is out! Keep playing until there is only one person left.
Have students look at the program while it’s running. Then ask, “How is the variable changing while we play Hot Potato?”
Sample response: “This program chooses a random number (between 2 and 10) and stores that number as a variable. Then the variable keeps decreasing until it becomes 0. When the variable is 0, then Dot beeps and ends the game!”)
Ask, “How do you set a variable to a random number?”
Sample response: “To set a variable to a random number, tap on the Set Variable block. Then tap on the picture of the dice and use the + and - signs to move the numbers up and down.”)
Tap on the change variable block and say, “Now let’s look at the Change Variable block. Discuss with a partner how you think this block works.”
Sample response: ”This block works by increasing or decreasing the number that the variable has stored. We can use addition, subtraction, multiplication, or division.”
Quick Check
How do you increase your variable by 1? (Sample response: “Use a Change Variable block. Choose the + sign and then the number 1.”)
How do you set your variable to a random number? (Sample response: “Use a Set Variable block and tap on the dice. Then choose a range for your random number such as 1-5.”)
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!
Hot Potato - Extension
Have students use the Wonder Journal: Dot Planning or General Planning worksheet to design ways to add to or alter the Tickle Tackle preset program. They can:
Change the conditional block
Add lights and sounds.
Change how much the variable increases or decreases.
Change the cue.
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 Dot 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 3.1: Magic Dot Ball
F 3.2: Duck, Dot, Goose!
F 3.3: Win, Lose, or Dot
For each challenge, encourage students to:
Use the Wonder Journal: Dot Planning or General Planning worksheets 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 Dot while the code is running.
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 (random variable amounts) because . . .").
Share any obstacles and difficulties they overcame during the activity (e.g., "At first, we didn't know how to change the change the variable amount, but then we tapped on the variable block and figured out what to do.")
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 (change your conditional block)?"
"I like how you (added lights, sounds, and animations)."
"What if you (added an event handler)?"
Follow-Up Questions/Discussion
How did the variable block help you with your program? (Sample response: "The variable is set to a random number and continues to change until the Top Button is pressed.")
How was the variable used differently in this lesson than in our last lesson? ("Sample response: The variable changed to a random number in this program. In the last program, it was set to zero.")
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
