Lesson Plan

Lesson Plan
Grade: Date: 17/01/2026
Subject: Computer Science
Lesson Topic: Show understanding of and use Abstract Data Types (ADT)
Learning Objective/s:
  • Describe the concept of an abstract data type and its key characteristics.
  • Specify an ADT using signatures, pre‑conditions, post‑conditions and complexity.
  • Compare array and linked‑list implementations of a Stack ADT.
  • Apply a Stack ADT to design an algorithm for checking balanced parentheses.
  • Evaluate which ADT implementation best fits a given problem scenario.
Materials Needed:
  • Projector or interactive whiteboard
  • Slides summarising ADT concepts
  • Handout with ADT specification template
  • IDE or pseudocode editor (e.g., VS Code)
  • Sample code for Stack implementation (array version)
  • Worksheets with balanced‑parentheses exercise
Introduction:
Begin with a quick poll: “Which data structures hide their inner workings?” Connect to prior learning on encapsulation and data structures. Explain that today’s success criteria are to formally specify an ADT, compare implementations, and use a Stack ADT in an algorithm.
Lesson Structure:
  1. Do‑Now (5’) – Students list examples of data structures that hide implementation details; share responses.
  2. Direct instruction (10’) – Define ADT, discuss encapsulation, specification components, and review the Stack ADT table.
  3. Guided practice (12’) – Walk through formal specification of the Stack ADT; pairs complete a specification template for the Queue ADT.
  4. Coding demo (10’) – Demonstrate an array‑based Stack implementation in the IDE, highlighting how it satisfies the specification.
  5. Algorithm design activity (15’) – Small groups write pseudocode for the balanced‑parentheses algorithm using the Stack ADT; teacher circulates for feedback.
  6. Comparison discussion (8’) – Compare array vs. linked‑list Stack complexities; students justify the best choice for given scenarios.
  7. Check for understanding (5’) – Quick quiz/exit ticket with three questions on ADT definition, specification, and algorithm correctness.
Conclusion:
Review the definition, specification elements, and the role of the Stack ADT in the balanced‑parentheses solution. Students complete an exit ticket summarising one advantage of each implementation. Assign homework to write a formal specification for a Map ADT and outline an algorithm that uses it.