| Lesson Plan |
| Grade: |
Date: 05/03/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:
- Do‑now (5'): quick quiz on earlier data‑structure concepts to activate prior knowledge.
- Mini‑lecture (10'): define ADT, highlight encapsulation, interface, and implementation independence.
- Stack demo (8'): visual animation of push/pop and discussion of LIFO properties.
- Group activity (10'): using index cards, students model a queue and a linked list, identifying abstract operations.
- Comparative analysis (7'): whole‑class discussion of the comparison table (access order, complexity, implementations).
- 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.
|