Lesson Plan

Lesson Plan
Grade: Date: 17/01/2026
Subject: Computer Science
Lesson Topic: Use parameters
Learning Objective/s:
  • Describe the difference between call‑by‑value and call‑by‑reference.
  • Explain the purpose and use of default parameters.
  • Apply appropriate parameter‑passing mechanisms when writing pseudocode procedures.
  • Analyse how parameter scope and lifetime affect program behaviour.
  • Evaluate which passing mechanism best fits a given problem.
Materials Needed:
  • Projector or interactive whiteboard
  • Slide deck with call‑stack diagrams
  • Printed handout of the parameter summary table
  • Computers with an IDE (Python/C++)
  • Pre‑loaded example code snippets
  • Worksheet containing pseudocode practice tasks
Introduction:

Begin with a quick recall question about procedures to activate prior knowledge. Highlight that today’s focus is on how data moves into and out of procedures, which is essential for writing reusable code. Explain that students will be able to identify and choose the correct parameter‑passing method by the end of the lesson.

Lesson Structure:
  1. Do‑now (5') – short quiz on procedure syntax and purpose.
  2. Mini‑lecture (10') – introduce parameters, call‑by‑value vs call‑by‑reference, and default parameters with visual call‑stack diagram.
  3. Guided coding demo (15') – live coding examples in Python (value) and C++ (reference) showing effects on variables.
  4. Pair activity (15') – students write a bubble‑sort procedure that sorts a list passed by reference and test it on their computers.
  5. Check for understanding (5') – exit‑ticket question: “When would you choose call‑by‑reference over call‑by‑value?”
Conclusion:

Summarise the key take‑aways about parameter types, scope, and when to use each mechanism. Collect the exit tickets and clarify any lingering misconceptions. Assign homework: write a short program that uses a default parameter and explain why it was chosen.