Lesson Plan

Lesson Plan
Grade: Date: 17/01/2026
Subject: Computer Science
Lesson Topic: Describe how a queue, stack and linked list can be implemented using arrays
Learning Objective/s:
  • Describe how a stack can be implemented using an array and a top index.
  • Explain the array‑based circular queue implementation using front, rear and size variables.
  • Construct a static linked list using parallel data and next arrays and manage a free list.
  • Compare the time‑complexity of stack, queue and static linked‑list operations.
  • Apply overflow and underflow handling for array‑based ADTs.
Materials Needed:
  • Projector and screen
  • PowerPoint/Google Slides with diagrams
  • Printed handout showing stack, queue and static linked‑list diagrams
  • Computers with an IDE (e.g., VS Code) for coding demos
  • Worksheet with fill‑in pseudo‑code and complexity table
  • Whiteboard and markers
Introduction:

Begin with a quick poll: “Where have you seen a stack or queue in everyday life?” Connect this to prior knowledge of arrays from earlier lessons. State that by the end of the session students will be able to model these ADTs with arrays and explain their performance.

Lesson Structure:
  1. Do‑Now (5'): Students list real‑world examples of stacks, queues and linked lists on a sticky note.
  2. Mini‑lecture – Stack implementation (10'): Explain top index, push/pop/peek with pseudo‑code; show diagram.
  3. Guided practice – Stack (10'): Students complete a fill‑in worksheet for push and pop operations.
  4. Demo – Circular Queue (12'): Live coding of enqueue/dequeue using front, rear, size; discuss overflow handling.
  5. Group activity – Queue (10'): Teams simulate a circular queue with index cards.
  6. Static Linked List walkthrough (12'): Present data/next arrays, free list, insertion and deletion; students trace an example on paper.
  7. Comparison discussion (8'): Compare O(1) operations and memory constraints; complete comparison table.
  8. Exit ticket (5'): Write one advantage and one limitation of using arrays for each ADT.
Conclusion:

Recap the three array‑based ADTs, highlighting constant‑time operations and the need for overflow checks. Collect exit tickets to gauge understanding, then assign homework: implement a stack, queue and static linked list in a chosen language and test edge cases.