Lesson Plan

Lesson Plan
Grade: Date: 18/01/2026
Subject: Computer Science
Lesson Topic: Show understanding that a stack, queue and linked list are examples of ADTs
Learning Objective/s:
  • Describe the concept of an abstract data type and its key characteristics.
  • Identify the core operations and behaviours of stack, queue, and linked‑list ADTs.
  • Compare the abstract properties of these ADTs and explain why implementation independence matters.
  • Apply ADT definitions to evaluate simple algorithmic scenarios.
Materials Needed:
  • Projector or interactive whiteboard
  • Slide deck covering ADT concepts
  • Handout with stack, queue, and linked‑list diagrams
  • Sample code snippets in an IDE (e.g., Python or Java)
  • Worksheets for guided practice
  • Exit‑ticket cards
Introduction:
Begin with a brief “what‑if” scenario asking students how they would swap a stack implementation without changing program logic. Connect this to prior knowledge of concrete data structures and state that today they will formalise these structures as ADTs. Success criteria: students will be able to name the abstract operations and explain the LIFO/FIFO behaviours.
Lesson Structure:
  1. Do‑now (5'): quick quiz on earlier data‑structure concepts to activate prior knowledge.
  2. Mini‑lecture (10'): define ADT, highlight encapsulation, interface, and implementation independence.
  3. Stack demo (8'): visual animation of push/pop and discussion of LIFO properties.
  4. Group activity (10'): using index cards, students model a queue and a linked list, identifying abstract operations.
  5. Comparative analysis (7'): whole‑class discussion of the comparison table (access order, complexity, implementations).
  6. Formative check (5'): Kahoot quiz on key ADT concepts to gauge understanding.
Conclusion:
Recap the three ADTs, emphasising their abstract operations and why they can be implemented in multiple ways. Students complete an exit‑ticket stating one advantage of treating a data structure as an ADT. Assign homework: write pseudocode for a simple algorithm that uses a stack or queue and justify the choice of ADT.