Lesson Plan

Lesson Plan
Grade: Date: 17/01/2026
Subject: Computer Science
Lesson Topic: Show understanding that a set of instructions are grouped
Learning Objective/s:
  • Describe how assembly instructions are organised into segments, blocks, sub‑routines and macros.
  • Explain why grouping improves readability, maintainability and execution flow.
  • Identify typical instruction categories (data‑transfer, arithmetic, logical, control‑flow, system) and match common mnemonics.
  • Apply grouping conventions by writing a short assembly program that uses a data segment, a code block, and a sub‑routine.
  • Analyse a given program to locate its instruction groups and justify their purpose.
Materials Needed:
  • Projector and screen
  • Whiteboard and markers
  • Printed handout of the sample grouped assembly program
  • Computer lab with an assembler/simulator (e.g., MARS or SPIM)
  • Worksheet containing the practice question and checklist
  • Sticky notes for exit tickets
Introduction:

Begin with a quick poll: “What programming structures have you already grouped (functions, loops, classes)?” Connect this to students’ prior experience and state that today they will see the same principle applied at the assembly level. Explain that by the end of the lesson they will be able to recognise and create logical groups of low‑level instructions.

Lesson Structure:
  1. Do‑Now (5’) – Students write three examples of grouped code from previous lessons and share briefly.
  2. Mini‑lecture (10’) – Introduce the concept of grouping in assembly (segments, blocks, sub‑routines, macros) and why it matters; show a flow‑chart diagram.
  3. Guided demonstration (12’) – Walk through the “Simple Counter” program, highlighting each group and referencing the instruction‑category table.
  4. Collaborative activity (15’) – Pairs complete the practice question: write a program that stores three constants, sums them, and calls a sub‑routine to display the result, outlining the groups on a worksheet.
  5. Peer review (8’) – Exchange programs, use a checklist to identify segments, blocks and sub‑routines, and give constructive feedback.
  6. Whole‑class debrief (5’) – Summarise key take‑aways, answer lingering questions, and link grouping to debugging and reuse.
Conclusion:

Recap the benefits of grouping instructions for clarity and maintenance. For the exit ticket, each student writes one advantage of using segments or sub‑routines. Assign homework: extend the counter program by adding a second sub‑routine that prints a farewell message, ensuring proper grouping.