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.
Learning Objectives
- 1Construct a Scratch program that uses an if-else statement to control sprite actions based on a specific condition.
- 2Explain how a true or false condition within an if-else block directs program flow.
- 3Evaluate the clarity and effectiveness of conditions used in selection statements to predict program behavior.
- 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
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
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
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
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
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
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.
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.
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
| Selection | A programming construct that allows a program to execute different blocks of code based on whether a condition is true or false. |
| Conditional Statement | A statement in programming that performs different computations or actions depending on whether a programmer-defined boolean condition evaluates to true or false. |
| If-Else Statement | A 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. |
| Condition | A logical expression that evaluates to either true or false, used to determine which path of execution a program should take. |
Suggested Methodologies
More in Computational Thinking and Logic
Efficiency and Optimisation
Exploring how to evaluate algorithms for efficiency and identify opportunities for optimisation.
2 methodologies
Logic Gates: AND, OR, NOT
Introduction to fundamental logic gates and their truth tables as building blocks of digital circuits.
2 methodologies
Boolean Logic and Expressions
Understanding Boolean operators and writing simple Boolean expressions to represent conditions.
2 methodologies
Introduction to Block Programming (Scratch)
Students will be introduced to the Scratch interface and basic block programming concepts.
2 methodologies
Sequence: Order of Instructions
Mastering the order of execution and using repetition to make code more efficient.
2 methodologies
Ready to teach Selection: Making Decisions (If/Else)?
Generate a full mission with everything you need
Generate a Mission