Lesson Plan

Lesson Plan
Grade: Date: 17/01/2026
Subject: Computer Science
Lesson Topic: Write efficient pseudocode
Learning Objective/s:
  • Describe the core principles of structured programming (single‑entry/exit, modularity, hierarchy, readability, efficiency).
  • Apply guidelines to produce efficient pseudocode that minimises time and space complexity.
  • Construct modular pseudocode using appropriate control structures and analyse its complexity.
  • Identify common inefficiencies in pseudocode and rewrite them for better performance.
Materials Needed:
  • Projector or interactive whiteboard
  • Printed handout of pseudocode guidelines and example
  • Whiteboard and markers
  • Student laptops with a simple IDE or text editor
  • Sample problem sheets (e.g., second‑largest number)
  • Flowchart templates or diagram software
Introduction:

Begin with a quick “what’s the hardest part of writing code?” poll to activate prior knowledge of control structures. Remind students that clear, maintainable code starts with good pseudocode. Explain that by the end of the lesson they will be able to write efficient, structured pseudocode and justify its complexity.

Lesson Structure:
  1. Do‑now (5'): Short quiz on sequence, selection, and iteration.
  2. Mini‑lecture (10'): Review core principles of structured programming and why efficiency matters.
  3. Guided example (12'): Walk through the “FindSecondLargest” pseudocode, highlighting single‑entry loops and complexity analysis.
  4. Pair activity (10'): Students write pseudocode for computing factorial, state its time complexity, and peer‑review.
  5. Whole‑class debrief (5'): Discuss common pitfalls (nested loops, redundant calculations) and how to avoid them.
  6. Exit ticket (3'): Each student writes one improvement they could apply to their own pseudocode.
Conclusion:

Recap the checklist for efficient pseudocode and emphasize the importance of modular design. Collect exit tickets to gauge understanding, and assign homework: write structured pseudocode to check if a list is sorted in ascending order and include a brief complexity analysis.