Lesson Plan

Lesson Plan
Grade: Date: 17/01/2026
Subject: Computer Science
Lesson Topic: Show understanding of and perform binary shifts
Learning Objective/s:
  • Describe the purpose of logical left, logical right, and arithmetic right shifts.
  • Explain how shifts correspond to multiplication/division by powers of two and sign‑extension.
  • Perform left‑shift, logical right‑shift, and arithmetic right‑shift on binary numbers of various word sizes.
  • Identify common pitfalls such as overflow and language‑specific behavior.
  • Write simple pseudocode using shifts and masks to extract bit fields.
Materials Needed:
  • Projector or interactive whiteboard
  • Slides with shift diagrams
  • Worksheets with binary shift exercises
  • Laptops with a programming IDE (e.g., Python/Java)
  • Printed answer key for teacher
  • Set of binary number cards (optional)
Introduction:
Begin with a quick demonstration of how shifting bits can double a number, linking to students’ prior work on binary multiplication. Recall the binary representation of integers and the concept of two’s‑complement signed numbers. Today’s success criteria are to correctly apply each type of shift and to explain the effect on signed and unsigned values.
Lesson Structure:
  1. Do‑now (5’) – Students convert a decimal number to binary and share answers.
  2. Mini‑lecture (10’) – Explain logical left, logical right, and arithmetic right shifts with visual slides.
  3. Guided practice (12’) – Work through the 8‑bit example table together, checking understanding.
  4. Pair activity (10’) – Solve the four practice questions on worksheets, teacher circulates.
  5. Coding demo (5’) – Show a short script that extracts bits 5‑7 using shift and mask.
  6. Exit ticket (3’) – Students write one correct shift expression and its decimal result.
Conclusion:
Summarise how shifts provide fast multiplication/division and how sign‑extension differentiates logical and arithmetic right shifts. Collect exit tickets as a retrieval check and assign homework to write two additional shift‑based pseudocode snippets.