LESSON PLAN 45: LOW-LEVEL PROGRAMMING SIMULATION

Class: Grade 10
Subject: Software Development
Strand: 3.0 Software Development
Sub Strand: 3.1 Computer Programming Concepts
Lesson Duration: 40 minutes
Date: 

1. LESSON FOCUS

  • Key Inquiry Question (starter): “Why do we need to understand how computers work at the lowest level?”
  • Learning Outcomes Addressed:
    • d) Create simple instructions to simulate low-level programming languages.
    • a) (Reinforcement) Explain terminologies like machine code, assembler.

2. LEARNING RESOURCES

  • Projector/Smartboard
  • Worksheets with binary/assembly examples
  • Cardboard “CPU” simulation kit (optional)
  • Whiteboards/markers for group work
  • Simple emulator website (e.g., pythontutor.com for low-level simulation)

3. LESSON STRUCTURE

a) Starter Activity (5 minutes)

  • Key Inquiry Question Display: “Why do we need to understand how computers work at the lowest level?”
  • Quick Think: Learners write one reason on a sticky note.
  • Share: Brief discussion about performance, control, embedded systems.

b) Main Activities (30 minutes)

Activity 1: Machine Language – Binary Basics (10 minutes)

  • Demonstration: Show how numbers are represented in binary (e.g., 5 = 0101).
  • Hands-on: Convert small decimal numbers to binary (worksheet).
  • Concept: Introduction to machine code as 0s and 1s.

Activity 2: Assembly Language Simulation (15 minutes)

  • Compare: Show machine code vs. assembly code for same operation.
  • Sample Task: Write simple assembly-like instructions:
  • text

LOAD 5, R1

LOAD 3, R2

ADD R1, R2, R3

  • STORE R3, MEMORY
  • Group Challenge: In teams, write instructions to:
    1. Add two numbers
    2. Find the larger of two numbers

Activity 3: Assembler Role-Play (5 minutes)

  • Simulation: Some students act as “assembly code” (giving mnemonic commands).
  • Others act as “assembler” (translating to binary-like signals).
  • Discussion: Why is assembly easier than machine code but still low-level?

c) Plenary/Conclusion (5 minutes)

  • Review: What is the difference between machine code and assembly?
  • Real-world Connection: Where is low-level programming used today? (Device drivers, robotics, IoT)
  • Exit Ticket: Write one thing you learned about how computers execute instructions.

4. ASSESSMENT

  • Formative: Worksheet completion, group challenge solutions.
  • Practical: Accuracy of simulated assembly instructions.

5. CORE COMPETENCIES

  • Critical Thinking: Translating problems into step-by-step instructions.
  • Collaboration: Working in groups to solve simulation challenges.

6. VALUES

  • Patience: Working through detailed step-by-step processes.
  • Teamwork: Helping peers understand low-level concepts.

7. PCIs

  • Life Skills: Problem-solving and logical sequencing.