Lesson Plan

Lesson Plan
Grade: Date: 17/01/2026
Subject: Computer Science
Lesson Topic: Understand system decomposition
Learning Objective/s:
  • Explain the concept of system (problem) decomposition and its purpose in algorithm design.
  • Identify and list the key steps involved in decomposing a problem.
  • Apply top‑down decomposition to design a solution for a given programming task.
  • Evaluate the benefits and common pitfalls of using decomposition.
Materials Needed:
  • Projector or interactive whiteboard
  • Printed handout of decomposition steps and example algorithm
  • Student laptops with a simple IDE or pseudo‑code editor
  • Whiteboard markers and chart paper for group flowchart
  • Sample problem cards (e.g., highest/lowest marks, average calculation)
Introduction:
Begin with a quick discussion: ask students how they would tackle a complex coding problem and note the challenges they mention. Remind them of prior work on algorithms and input‑output specifications, then state that today they will learn a systematic way to break problems into manageable parts. Success will be demonstrated by correctly decomposing a sample task and writing the corresponding pseudo‑code.
Lesson Structure:
  1. Do‑now (5'): Students write the steps they would take to solve a given problem on a sticky note.
  2. Mini‑lecture (10'): Define system decomposition, top‑down design, and outline the six‑step process with examples.
  3. Guided practice (15'): Walk through the “Highest and Lowest Marks” example, filling each step on the board and discussing interfaces.
  4. Pair activity (15'): Students receive a new problem card and collaboratively create a decomposition list and flowchart, using laptops for pseudo‑code.
  5. Whole‑class check (10'): Groups present their decomposition; teacher checks for missing interfaces or over‑fragmentation.
  6. Reflection & exit ticket (5'): Individually write one benefit and one pitfall of decomposition on a slip of paper.
Conclusion:
Summarise how decomposition clarifies problem requirements, supports testing, and enables teamwork. For the exit ticket, students note the most important benefit they learned. Assign homework: decompose the bubble‑sort task into at least two sub‑tasks and draft the interface specifications.