Lesson Plan

Lesson Plan
Grade: Date: 17/01/2026
Subject: Computer Science
Lesson Topic: Use the terminology associated with procedures and functions
Learning Objective/s:
  • Describe key terminology for procedures and functions, including call, return, parameter, argument, scope, and recursion.
  • Explain the differences between procedures and functions regarding return values and typical uses.
  • Apply appropriate parameter‑passing mechanisms (pass‑by‑value, pass‑by‑reference) in simple code examples.
  • Analyse variable scope and lifetime to avoid naming conflicts and unintended side‑effects.
  • Write and trace a basic recursive function.
Materials Needed:
  • Projector or interactive whiteboard
  • Slides with terminology definitions and comparison table
  • Sample code snippets (IDE or printed handouts)
  • Worksheets for labeling procedures/functions and tracing calls
  • Laptops with a Python/Java IDE
  • Whiteboard markers
Introduction:
Begin with a quick poll: who has written a function or sub‑routine before? Review the idea of reusable code and state that today’s success criteria are to use and differentiate the terminology for procedures and functions, and to demonstrate understanding of parameter passing and scope.
Lesson Structure:
  1. Do‑Now (5') – Students list any terms they know about procedures/functions on sticky notes.
  2. Direct Instruction (10') – Teacher presents key terminology and the procedure vs. function comparison table via slides.
  3. Guided Practice (15') – In pairs, students label a code snippet as a procedure or function and identify parameters, arguments, and return statements.
  4. Parameter‑Passing Activity (10') – Mini‑exercise predicting outcomes of pass‑by‑value versus pass‑by‑reference examples.
  5. Recursion Exploration (10') – Demonstrate the factorial function, trace the call stack on the board, and discuss the base case.
  6. Independent Coding (15') – Students write a simple function (e.g., calculate area) and a procedure (e.g., display result) in their IDE, then run and debug.
  7. Check for Understanding (5') – Quick quiz or exit‑ticket with three terminology questions.
Conclusion:
Recap how precise terminology supports modular programming and helps avoid common mistakes. Students complete an exit ticket naming one new term they mastered and describing its role. For homework, they will write a short program that includes both a procedure and a function, using appropriate parameter‑passing techniques.