| Lesson Plan |
| Grade: |
Date: 04/03/2026 |
| Subject: Computer Science |
| Lesson Topic: Show understanding that an ADT is a collection of data and a set of operations on those data |
Learning Objective/s:
- Describe what an abstract data type (ADT) is, including its data set and operations.
- Explain the difference between an ADT specification and a concrete implementation.
- Identify common ADTs (stack, queue, list, set, map) and list their typical operations.
- Interpret operation tables and express operation behaviour using simple mathematical notation.
- Compare ADTs to possible implementations and justify appropriate choices.
|
Materials Needed:
- Projector and screen
- Whiteboard and markers
- Printed handouts of ADT operation tables
- Laptops with a Python IDE installed
- Sample code snippets for stack operations
- Sticky notes for group matching activity
|
Introduction:
Begin with a quick poll: “What real‑world objects behave like a stack?” Connect responses to prior knowledge of lists. State that today’s success criteria are to define an ADT, distinguish it from its implementation, and recognise common ADTs and their operations.
|
Lesson Structure:
- Do‑now (5'): Students write a definition of “abstract data type” from memory; teacher collects a few responses.
- Mini‑lecture (10'): Present key concepts (data set, operations, specification vs. implementation) with slides and the suggested stack diagram.
- Guided exploration (15'): In pairs, examine the provided stack operation table, fill any missing entries, and discuss the behaviour of push, pop, peek, and isEmpty.
- Live coding demo (10'): Teacher writes a simple Python stack using a list, demonstrates push, pop, and peek while verbalising the abstract specifications.
- Comparative activity (10'): Groups match ADTs (stack, queue, set, map) to suitable concrete structures using sticky notes and handouts.
- Formative check (5'): Quick Kahoot quiz on ADT vs. implementation differences.
- Exit ticket (5'): Each student writes one additional example of an ADT not covered and lists two of its operations.
|
Conclusion:
Summarise how an ADT defines *what* operations exist and *how* they behave, independent of the underlying data structure. Collect exit tickets and remind students to complete the homework worksheet that asks them to design an ADT for a simple game inventory.
|