Lesson Plan

Lesson Plan
Grade: Date: 17/01/2026
Subject: Computer Science
Lesson Topic: Describe and use decomposition
Learning Objective/s:
  • Describe decomposition as a problem‑solving technique.
  • Identify and define sub‑tasks and their interfaces when breaking down a problem.
  • Apply decomposition to design algorithms and write corresponding pseudocode.
  • Test and integrate sub‑tasks to produce a complete solution.
  • Evaluate the benefits of decomposition for teamwork and debugging.
Materials Needed:
  • Projector or interactive whiteboard
  • Printed handout with decomposition steps and sample pseudocode
  • Computers with an IDE (e.g., Python) installed
  • Worksheet containing the word‑frequency decomposition exercise
  • Sticky notes for grouping sub‑tasks
Introduction:
Begin with a quick real‑world example, such as planning a school event, to illustrate how breaking a big task into smaller pieces makes it manageable. Review students’ prior experience with writing simple algorithms and ask them to recall any times they divided a problem. Explain that today they will learn to formally decompose problems, write modular pseudocode, and demonstrate success by completing a word‑frequency activity.
Lesson Structure:
  1. Do‑Now (5') – Students list everyday tasks they have broken into steps and share examples.
  2. Mini‑lecture (10') – Define decomposition, discuss its benefits, and present the average‑calculation example with slides.
  3. Guided practice (15') – Walk through the sample pseudocode, identifying sub‑tasks and interfaces together.
  4. Collaborative activity (20') – In pairs, students decompose the word‑frequency problem, completing a worksheet that specifies inputs, outputs, and interfaces for each sub‑task.
  5. Coding implementation (15') – Students translate one sub‑task (e.g., counting words) into code on their computers and test it.
  6. Whole‑class reflection (5') – Groups present their decomposition and discuss integration challenges.
  7. Exit ticket (5') – Write one benefit of decomposition and one remaining question.
Conclusion:
Summarise how decomposition helped turn a complex word‑frequency task into manageable functions and reinforce the importance of clear interfaces. Students complete an exit ticket stating the key benefit they will apply in future projects. For homework, assign them to decompose a simple budgeting algorithm and draft pseudocode for each part.