Lesson Plan

Lesson Plan
Grade: Date: 25/02/2026
Subject: Computer Science
Lesson Topic: Show understanding of the need for continuing maintenance of a system and the differences between each type of maintenance
Learning Objective/s:
  • Describe why ongoing software maintenance is essential for system longevity.
  • Explain the four IEEE maintenance types (corrective, adaptive, perfective, preventive) and when each is triggered.
  • Compare how specific testing activities support each maintenance type.
  • Analyse a simple defect‑density calculation to estimate corrective maintenance effort.
Materials Needed:
  • Projector and screen
  • Printed handout of the maintenance‑type table
  • Sample code snippet for defect‑density example
  • Worksheet with scenario cards for group activity
  • Laptops with IDE installed
  • Whiteboard and markers
Introduction:

Begin with a quick poll: “When was the last time you updated an app and why?” Connect this to the previous lesson on testing by noting that testing alone does not keep software usable forever. State that by the end of the lesson students will be able to identify why maintenance is required and differentiate its four types.

Lesson Structure:
  1. Do‑now (5’) – Short quiz on testing terminology to activate prior knowledge.
  2. Mini‑lecture (10’) – Overview of why maintenance is continuous and introduction to the four IEEE maintenance categories.
  3. Group sorting activity (15’) – Students work in teams to match scenario cards to the correct maintenance type.
  4. Case‑study walkthrough (10’) – Examine the suggested workflow diagram and identify where regression, compatibility, performance, and static analysis testing occur.
  5. Metric calculation exercise (10’) – Using the 5,000 LOC example, calculate expected corrective defects and discuss resource implications.
  6. Check for understanding (5’) – Exit ticket: write one benefit of preventive maintenance.
Conclusion:

Summarise that maintenance extends software life, each type serves a distinct purpose, and testing underpins every maintenance activity. Collect exit tickets and remind students to complete a reflective journal entry on how they might apply preventive maintenance in their own projects for homework.