Hero background

Python Decision Making

Other • Year 8 • 60 • 25 students • Created with AI following Aligned with National Curriculum for England

Download now

Free PDF · we'll email you a copy

Other
Year 8
60
25 students
9 October 2025

Teaching Instructions

This is lesson 1 of 1 in the unit "Python Decision Making". Lesson Title: Introduction to Decision Making in Python Lesson Description: In this lesson, students will explore the concept of decision making in programming using Python. They will learn about the purpose and use of selection statements, focusing on 'if', 'if-else', and 'nested if' structures. The lesson will include hands-on activities where students will write simple programs that utilize comparison, arithmetic, and Boolean operators to make decisions based on user input. By the end of the lesson, students will understand how to implement basic decision-making logic in their Python code.

Overview

Duration: 60 minutes
Class size: 25 students
Unit: Python Decision Making (Lesson 1 of 1)
Year group: Year 8 (age 12-13)
Subject: Computing / Computer Science – Other
National Curriculum Link:

  • Key Stage 3 Computing Programme of Study (Years 7-9, DfE 2013)
  • Relevant aims:
    • Understand and use selection statements to control the flow of programs.
    • Use logical reasoning to explain how some simple algorithms work.
    • Use variables, inputs, and operators to make decisions in programs.

Learning Objectives

By the end of this lesson, pupils will be able to:

  1. Explain the purpose of decision making in programming (e.g., how programs react differently based on conditions).
  2. Demonstrate understanding of if, if-else, and nested if statements in Python.
  3. Apply comparison, arithmetic, and Boolean operators within selection statements to create simple decision-making programs.
  4. Write and test Python programs that use user inputs to make decisions and produce different outputs accordingly.

Curriculum Links

  • National Curriculum for Computing (England, Key Stage 3):

    "Pupils should be taught to use selection in programs [for example, using IF, ELSE statements...] and iteration."

  • Computing Programmes of Study, Years 7 to 9, Strand 2: Algorithms and Programming

  • Computing Content Descriptor KS3:

    "Use two or more programming languages, at least one of which is textual, to solve a variety of computational problems; use sequences, selection, and iteration in programs; work with variables and various forms of input and output."


Resources Needed

  • Computers with Python 3 installed (preferably with IDLE or a simple IDE such as Thonny)
  • Projector and screen for teacher-led demonstrations
  • Printed handouts with simple program stubs (optional)
  • Whiteboard and markers
  • Sticky notes or mini-whiteboards for quick formative assessment
  • Timer

Lesson Structure

1. Starter (10 minutes) – Engaging Prior Knowledge & Introducing Concepts

  • Activity: Class discussion: "What decisions do computers make?"
    • Teacher prompts with real-world examples (e.g., apps checking passwords, games reacting to user actions).
    • Write keywords on the board: Decision, Condition, True/False, If, Else.
  • Quick introduction to decision making logic:
    • Use an everyday flowchart (e.g., "If it is raining, take an umbrella; else, don’t").
    • Link the flowchart concept to programming selection statements.

National Curriculum link: Developing logical reasoning and computational thinking (KS3 PoS)


2. Main Teaching Input (15 minutes) – Explain if, if-else, nested if

  • Demonstrate syntax using live coding:

    • Write a simple if statement example:
      if 10 > 5:  
          print("10 is greater than 5")  
      
    • Discuss indentation and its importance in Python.
  • Explain using comparison operators (==, !=, <, >, <=, >=) and Boolean operators (and, or, not):

    • Show examples of each operator in conditional statements.
  • Explain if-else structure:

    • Show example where program prints different messages depending on input age.
  • Introduce nested if statements:

    • Write a small program that checks two conditions inside nested ifs (e.g., checking if a number is positive and even).
  • Highlight use of user input:

    • Demonstrate input() function, casting input to int with int().

National Curriculum link: Use of operators, inputs and selection [KS3]


3. Student Guided Practice (20 minutes) – Hands-On Programming Tasks

  • Task 1: Simple Decision Program (Individual, 10 minutes)
    Students write a Python program that asks the user for their favourite number and tells them if it's greater than 10 or not.

    • Input: input() with int conversion
    • Use if-else with comparison operator
    • Example output: "Your number is greater than 10" or "Your number is 10 or less"
  • Task 2: Nested Decision (Pairs, 10 minutes)
    Students work in pairs to create a program which:

    • Asks for a student's score (0-100).
    • Outputs:
      • "Distinction" if score >= 75
      • "Pass" if 40 <= score < 75
      • "Fail" if score < 40
    • Use nested if statements or multiple if-elif-else (teacher to confirm use of elif as an extension).

Teacher role: Circulate to support, ask probing questions about logic, syntax, and operator use.


4. Plenary (10 minutes) – Reflect and Assess Understanding

  • Class quiz using mini-whiteboards or sticky notes:

    • Teacher reads out Python code snippets or conditions and asks students to predict the output.
    • Examples include predicting output of if statements with Boolean operators or nested conditions.
    • Discuss answers interactively to consolidate learning.
  • Peer explanation:

    • Select a few volunteers to explain the logic behind their nested if program to the class.
  • Formative Assessment:

    • Quick “Exit Ticket” question (written or verbal):
      "Write a one-line explanation of when you would use an 'if-else' statement in programming."

5. Differentiation

  • For lower ability pupils:

    • Provide partially completed code snippets and focus on using simple if statements with clear boolean expressions.
    • Use flowcharts to help visualise decision logic before coding.
  • For higher ability pupils:

    • Challenge them to add Boolean operators to combine conditions (e.g., check if number is positive AND even).
    • Encourage use of elif statements (beyond if-else) for more streamlined code.

Assessment

  • Ongoing formative assessment based on:

    • Accuracy of students’ written Python code during tasks.
    • Responses during plenary quiz.
    • Exit ticket explanation.
  • Use of peer feedback during paired programming.

  • Informal teacher notes on students’ ability to correctly use selection statements and operators.


Extension Ideas (If time allows or for homework)

  • Students modify programs to handle unexpected inputs (e.g., what if user types text instead of numbers?).
  • Introduce the concept of Boolean expressions more deeply (truth tables).
  • Create a simple text-based choosing-your-own-adventure game using nested if.

Teacher Reflection Prompts

  • Were all students able to grasp the concept of decision structures?
  • Did examples sufficiently bridge the gap between everyday decision-making and programming logic?
  • How effectively did students transfer their understanding into Python syntax?
  • Could digital or physical visual aids be enhanced for next time?

This plan ensures active participation, clear links to the KS3 national curriculum objectives for Computing, and provides a strong foundation for understanding programmatic decision making in Python.

Create Your Own AI Lesson Plan

Join thousands of teachers using Kuraplan AI to create personalized lesson plans that align with Aligned with National Curriculum for England in minutes, not hours.

AI-powered lesson creation
Curriculum-aligned content
Ready in minutes

Created with Kuraplan AI

Generated using gpt-4.1-mini-2025-04-14

🌟 Trusted by 1000+ Schools

Join educators across United Kingdom