Lesson Plan

Lesson Plan
Grade: Date: 17/01/2026
Subject: Computer Science
Lesson Topic: Use a stack, queue and linked list to store data
Learning Objective/s:

  • Describe the core operations of stack, queue, and linked list ADTs.
  • Compare the access patterns and typical use‑cases of these data structures.
  • Implement push/pop, enqueue/dequeue, and insert/delete operations in an IDE.
  • Choose the appropriate ADT to store a sequence of values for a given retrieval order.
  • Analyse memory and performance implications of each structure.
Materials Needed:

  • Projector or interactive whiteboard
  • Slides summarising ADT concepts
  • Laptop computers with a Java/Python IDE installed
  • Handout with operation definitions and example code
  • Sample data set (list of integers) for in‑class activity
  • Whiteboard and markers
Introduction:

Begin by asking students how they would remember a list of steps they performed earlier, linking to everyday examples of stacking plates. Review previous lessons on arrays and basic algorithmic thinking. Explain that today they will explore three abstract data types—stack, queue, and linked list—and will be able to select and implement the appropriate structure to store and retrieve data efficiently.
Lesson Structure:

  1. Do‑now (5'): Quick mental quiz on LIFO vs FIFO concepts displayed on screen.
  2. Direct instruction (10'): Present definitions and core operations of stack, queue, linked list with visual diagrams.
  3. Guided coding demo (15'): Live coding of stack push/pop and queue enqueue/dequeue in IDE; students follow along.
  4. Collaborative activity (15'): In pairs, students write pseudocode to store a sequence of integers using each ADT to achieve reverse‑order retrieval; then share solutions.
  5. Concept check (5'): Exit‑ticket quiz on choosing the right ADT for given scenarios.
  6. Summary discussion (5'): Recap key differences and answer remaining questions.
Conclusion:

Summarise how stacks provide LIFO access, queues FIFO, and linked lists offer flexible insertion and traversal. Ask students to write one exit‑ticket sentence stating which ADT they would use for a given problem. Assign homework to implement a simple stack and queue in their chosen language and test them with sample data.