Skip to content

Selection: Making Decisions (If/Else)Activities & Teaching Strategies

Active learning builds students’ computational thinking by letting them experience how conditions control program flow. When Year 7 students physically act out decisions or debug live Scratch projects, they connect abstract logic to concrete outcomes faster than passive explanation alone.

Year 7Computing4 activities25 min45 min

Learning Objectives

  1. 1Construct a Scratch program that uses an if-else statement to control sprite actions based on a specific condition.
  2. 2Explain how a true or false condition within an if-else block directs program flow.
  3. 3Evaluate the clarity and effectiveness of conditions used in selection statements to predict program behavior.
  4. 4Modify an existing Scratch script to implement a new decision-making process using if-else logic.

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

Pair Programming: Sprite Decisions

Pairs open Scratch and create a sprite that changes costume if touching the edge, else moves forward. Add a second condition for key presses to play sounds. Pairs swap roles every 10 minutes and test each other's code.

Prepare & details

Explain how selection allows a program to make decisions.

Facilitation Tip: During Pair Programming, circulate and prompt pairs to verbalise their condition before coding to strengthen shared understanding.

Setup: Groups at tables with problem materials

Materials: Problem packet, Role cards (facilitator, recorder, timekeeper, reporter), Problem-solving protocol sheet, Solution evaluation rubric

ApplyAnalyzeEvaluateCreateRelationship SkillsDecision-MakingSelf-Management
45 min·Small Groups

Small Groups: Game Condition Challenges

Groups receive prompt cards with scenarios like 'if score > 5, speed up else slow down.' They build and demo one script per card in Scratch. Groups vote on the clearest condition and suggest improvements.

Prepare & details

Construct a Scratch script that uses an 'if-else' block to control sprite behavior.

Facilitation Tip: For Game Condition Challenges, provide a printed checklist of common Scratch conditions to reduce cognitive load and keep focus on decision logic.

Setup: Groups at tables with problem materials

Materials: Problem packet, Role cards (facilitator, recorder, timekeeper, reporter), Problem-solving protocol sheet, Solution evaluation rubric

ApplyAnalyzeEvaluateCreateRelationship SkillsDecision-MakingSelf-Management
30 min·Individual

Individual: Personal Choice Story

Each student builds a Scratch story where if-else directs paths based on clicks, like 'if choose left, show forest else show city.' Test paths and add nested conditions for branches.

Prepare & details

Evaluate the importance of clear conditions in selection statements.

Facilitation Tip: In Personal Choice Story, remind students to draw their flowchart first so the if-else structure matches their narrative logic before translation into code.

Setup: Groups at tables with problem materials

Materials: Problem packet, Role cards (facilitator, recorder, timekeeper, reporter), Problem-solving protocol sheet, Solution evaluation rubric

ApplyAnalyzeEvaluateCreateRelationship SkillsDecision-MakingSelf-Management
25 min·Whole Class

Whole Class: Condition Relay

Project a base Scratch project. Students take turns adding one if-else condition shouted out by the class, like 'if y position < 0, bounce.' Run after each addition to check logic.

Prepare & details

Explain how selection allows a program to make decisions.

Facilitation Tip: Run Condition Relay as a timed relay where each group adds only one block to the shared script before passing it on, reinforcing incremental decision-making.

Setup: Groups at tables with problem materials

Materials: Problem packet, Role cards (facilitator, recorder, timekeeper, reporter), Problem-solving protocol sheet, Solution evaluation rubric

ApplyAnalyzeEvaluateCreateRelationship SkillsDecision-MakingSelf-Management

Teaching This Topic

Teach this topic by moving from human actions to code: start with students making real-world choices based on clear conditions, then map those decisions to Scratch blocks. Avoid rushing to nested structures; instead, build confidence with flat if-else before introducing nesting. Research shows tracing code on paper before running it reduces off-by-one errors and builds debugging stamina for later topics.

What to Expect

Successful learning shows when students can write clear true/false conditions, trace which branch executes, and explain why one outcome happens instead of another. By the end of these activities, students should confidently use if-else blocks to create predictable sprite behavior in their games.

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, watch for students who assume both branches of an if-else block always execute.

What to Teach Instead

After the pair writes their condition, ask them to predict which block will run when the condition is true and which will run when it is false, then run the code to confirm. Use the 'think-pair-share' method with their printed code to correct the mental model.

Common MisconceptionDuring Game Condition Challenges, watch for students who treat vague text like 'if spacebar is pressed' as a valid condition without specifying what happens next.

What to Teach Instead

Set up a debugging station with broken Scratch projects where the conditions use vague text. Students must rephrase each condition using Scratch’s true/false operators and test the corrected version to see why precision matters.

Common MisconceptionDuring Condition Relay, watch for students who skip nesting because they believe it always complicates code.

What to Teach Instead

Before coding, have each group draw a flowchart on paper to show multiple decision paths. After relay, display the flowcharts publicly and discuss how nests organise logic clearly, reinforcing that nesting is helpful when multiple conditions must be checked in sequence.

Assessment Ideas

Quick Check

After Pair Programming, display a short Scratch script with an if-else block and ask students to write down which sprite action will occur given a specific condition (e.g., 'What happens when the sprite touches red?'). Collect responses to identify who can correctly trace the single executing branch.

Exit Ticket

During Personal Choice Story, collect students’ flowcharts and written descriptions of their story decisions. Assess whether they labelled true/false outcomes clearly and matched their flowchart logic to a planned if-else structure.

Discussion Prompt

After Condition Relay, pose the question: 'How did clear conditions help your group pass the script smoothly?' Facilitate a brief discussion to highlight how precise operators and shared understanding reduced unexpected behavior, linking back to why conditions must evaluate to true or false.

Extensions & Scaffolding

  • Challenge: Ask students to design a two-player reaction game where one sprite jumps only when the other touches a specific color and the spacebar is pressed within three seconds.
  • Scaffolding: Provide a partially completed Scratch project with missing conditions; students complete the logic to make the sprite change costumes when scoring conditions are met.
  • Deeper exploration: Introduce variables as conditions (e.g., 'if score > 30') and have students extend their game to include lives or levels controlled by these variable-based decisions.

Key Vocabulary

SelectionA programming construct that allows a program to execute different blocks of code based on whether a condition is true or false.
Conditional StatementA statement in programming that performs different computations or actions depending on whether a programmer-defined boolean condition evaluates to true or false.
If-Else StatementA control flow statement that executes one block of code if a specified condition is true, and another block of code if the condition is false.
ConditionA logical expression that evaluates to either true or false, used to determine which path of execution a program should take.

Ready to teach Selection: Making Decisions (If/Else)?

Generate a full mission with everything you need

Generate a Mission