Skip to content

Changing States with VariablesActivities & Teaching Strategies

Active learning works well for this topic because students need to observe how variables directly alter program behavior in real time. By manipulating variables in games and animations, they build a concrete understanding of state changes that static examples cannot provide.

Year 6Computing4 activities25 min45 min

Learning Objectives

  1. 1Analyze how changing a specific variable's value affects the sequence and timing of a simple animation.
  2. 2Predict the program's output or game state if a variable is assigned an incorrect or unexpected value.
  3. 3Construct a code sequence that utilizes a variable to control transitions between at least two different game levels or states.
  4. 4Evaluate the effectiveness of variable use in creating dynamic and responsive game mechanics.
  5. 5Identify potential bugs in code related to variable updates and propose logical fixes.

Want a complete lesson plan with these objectives? Generate a Mission

35 min·Pairs

Pair Programming: State Changer Challenge

Pairs use Scratch to create a sprite whose appearance and movement change with a variable updated by keyboard input. They set an initial value, add code to increment it, then test across multiple states like 'walking' or 'jumping'. Pairs swap projects to predict and verify changes.

Prepare & details

Analyze how changing a variable's value impacts the flow of a simple animation.

Facilitation Tip: During Pair Programming: State Changer Challenge, circulate to ensure both partners take turns coding and discussing how variable changes affect the animation.

Setup: Groups at tables with access to research materials

Materials: Problem scenario document, KWL chart or inquiry framework, Resource library, Solution presentation template

AnalyzeEvaluateCreateDecision-MakingSelf-ManagementRelationship Skills
45 min·Small Groups

Small Groups: Level Switch Debugger

Provide groups with a buggy game code where variable updates fail to switch levels. Groups predict fixes, implement changes collaboratively, and demo their working version to the class. Include variables for score thresholds and scene transitions.

Prepare & details

Predict the outcome of a program if a variable is updated incorrectly.

Facilitation Tip: In Small Groups: Level Switch Debugger, assign each group a different bug to isolate, so they practice tracing variable influence across code blocks.

Setup: Groups at tables with access to research materials

Materials: Problem scenario document, KWL chart or inquiry framework, Resource library, Solution presentation template

AnalyzeEvaluateCreateDecision-MakingSelf-ManagementRelationship Skills
25 min·Whole Class

Whole Class: Live Prediction Demo

Project a simple animation code with a key variable. Class predicts outcomes of updates shown step-by-step, then a volunteer codes the change live. Discuss matches between predictions and results, repeating with student-suggested alterations.

Prepare & details

Construct a sequence of code that uses a variable to switch between different game levels.

Facilitation Tip: For the Whole Class: Live Prediction Demo, invite students to explain their predictions before revealing outcomes to reveal hidden misunderstandings.

Setup: Groups at tables with access to research materials

Materials: Problem scenario document, KWL chart or inquiry framework, Resource library, Solution presentation template

AnalyzeEvaluateCreateDecision-MakingSelf-ManagementRelationship Skills
30 min·Individual

Individual: Variable Animation Builder

Each student builds an animation sequence where a variable controls states like colour cycles or speed ramps. They document predictions before running, then adjust based on tests. Share one successful tweak with a partner.

Prepare & details

Analyze how changing a variable's value impacts the flow of a simple animation.

Facilitation Tip: During Individual: Variable Animation Builder, provide a checklist of required variable-driven behaviors to guide self-assessment of their work.

Setup: Groups at tables with access to research materials

Materials: Problem scenario document, KWL chart or inquiry framework, Resource library, Solution presentation template

AnalyzeEvaluateCreateDecision-MakingSelf-ManagementRelationship Skills

Teaching This Topic

Approach this topic by starting with physical metaphors, like holding up cups labeled with variable names to show how their contents change. Avoid abstract explanations without visual or interactive examples, as students often struggle to grasp scope without concrete demonstrations. Research suggests students benefit from seeing the same variable used in multiple contexts, so reusing examples across activities strengthens understanding.

What to Expect

Successful learning looks like students confidently predicting how variable updates will change program behavior and explaining the connection between updates and program state. They should also troubleshoot incorrect updates without relying solely on teacher intervention.

These activities are a starting point. A full mission is the experience.

  • Complete facilitation script with teacher dialogue
  • Printable student materials, ready for class
  • Differentiation strategies for every learner
Generate a Mission

Watch Out for These Misconceptions

Common MisconceptionDuring Pair Programming: State Changer Challenge, watch for students who assume variables cannot be updated more than once.

What to Teach Instead

Use the activity’s counter example to show repeated updates. Ask partners to test the counter by running the animation multiple times and observing how the variable’s value and the sprite’s behavior change each time.

Common MisconceptionDuring Small Groups: Level Switch Debugger, watch for students who think changing one variable affects all sprites equally.

What to Teach Instead

Have groups isolate one variable and trace its effect on a single sprite using the debugger’s step-through feature. Discuss why other sprites remain unchanged when the variable only targets one.

Common MisconceptionDuring Individual: Variable Animation Builder, watch for students who believe variable updates always break the program.

What to Teach Instead

Provide a set of safe, pre-tested code blocks they can modify. Encourage them to make small, intentional changes and test after each one, normalizing the idea that updates can enhance functionality when done correctly.

Assessment Ideas

Exit Ticket

After Variable Animation Builder, provide a short Scratch project where a variable controls a sprite’s size. Ask students to write: 1. The variable’s name. 2. How changing the variable affects the sprite. 3. One other property that could be controlled by a variable.

Quick Check

During Small Groups: Level Switch Debugger, display code snippets with variables updating and used in conditionals. Ask students to hold up fingers to show the variable’s value after the update, then state whether the conditional will run. Repeat with different values to check understanding.

Discussion Prompt

After Whole Class: Live Prediction Demo, pose the scenario: 'A game uses a ‘fuel’ variable starting at 100. Every second, flying fast decreases fuel by 5, and flying slow increases it by 2. What happens if the player never flies fast or slow?' Have students discuss how the variable’s behavior dictates the game’s state, then share predictions with the class.

Extensions & Scaffolding

  • Challenge: Add a second variable that interacts with the first (e.g., a 'speed' variable that modifies 'distance' over time) and document how the two influence each other.
  • Scaffolding: Provide pre-written code snippets with gaps for variable assignments, so students focus on understanding the impact rather than syntax.
  • Deeper Exploration: Introduce a project where variables control multiple sprites' behaviors simultaneously, such as a race where position variables determine finishing order.

Key Vocabulary

VariableA named storage location in a program that can hold a value, such as a number or text, which can change during program execution.
StateThe current condition or status of a program or game at any given moment, often determined by the values of its variables.
UpdateTo change the value stored in a variable to a new value.
Conditional LogicCode that executes different actions based on whether a specific condition, often involving variable values, is true or false.
Game LevelA distinct stage or section within a game, often characterized by different challenges, rules, or visual elements, which can be controlled by variables.

Ready to teach Changing States with Variables?

Generate a full mission with everything you need

Generate a Mission