← All teacher resources

Teaching the visible machine

Decisions and Flags

Use comparison, remainder and labeled paths to express decisions.

Total classroom time: 135 minutes · 3 × 45 minutes

Learning outcomes

  • Branch using CMP's stored zero flag.
  • Create equality and parity paths.
  • Combine input with seeded data.
  • Record and explain a decision independent of the current code value.

Before class

draw two flowchart branches; place CMP immediately before its conditional jump. Prepare equal/unequal pairs, −3/0/8 for parity, and changed ticket code fixtures. Clarify the ticket-code exercise is a toy rule, not password protection.

Three-session plan

Session 2: Even or Odd · 45 minutes

Focus: parity via MOD 2

Checkpoint: negative odd remainder is nonzero, zero is even.

Session 3: A Memory-backed Decision · 45 minutes

Focus: compare stored code and record result at41

Checkpoint: changing memory 40 changes the right decision without changing the program.

Support and differentiation

prelabel same/show branch cards; ask learners to point to the instruction that last changed flags.

Extend the thinking

intentionally insert LOAD between CMP and branch, predict the defect, then repair it.

Assessment evidence

a two-path program tested on both paths and an explanation of why checking R0 directly is not the same as checking CMP flags.

Curriculum mapping notes

OpenKernel EDU aligns with concepts in the following frameworks. These connections support teacher planning. Check your current local grade or course expectations and assessment requirements when selecting activities.

Ontario

Coding and computational thinking in elementary mathematics; algorithms, programming, data representation and computer systems in secondary computer studies/digital technology contexts.

Units 1–3 address state/data/computers, 4–8 sequence/control/algorithm/debugging/representation, and 9–10 decomposition/systems/projects. Select actual grade/course expectations locally. This model does not establish coverage of all mathematical, digital citizenship, hardware-building or networking outcomes.

British Columbia

Applied Design, Skills and Technologies learning through designing, testing and refining solutions; secondary computer studies/programming concepts involving algorithms, data and computer systems.

Units 4–10 support iterative program design and explanation; units 1–3, 8 and 9 support data/state/system representation. Paper design, trace evidence and reflection make the process visible. Check current grade/course wording; not every ADST competency is covered.

Alberta

Computing science in applicable science/programming contexts; senior-high Career and Technology Studies Computing Science (CSE) concepts in algorithms, structured programs, data and systems.

Units 1–8 develop state, control and abstraction; units 9–10 apply decomposition and testing. Check the current program of studies and course requirements when deciding which activities suit your class.

Selected CSTA 2017 connections

These concept references use the CSTA 2017 framework. Check the current adopted edition and the full standard’s grade-level scope before using an identifier in a formal school mapping.

  • 1B-AP-10 — Sequences, events, loops and conditionals in programs. Aligns with units 1, 4, 5, 9 and 10. Simulated events are distinguished from a physical-device event system.
  • 2-AP-12 — Combinations of control structures in programs. Aligns with units 4–7 and 10 through decisions, loops and calls. Use the complete standard when planning work on compound conditionals or other nested control structures.
  • 2-AP-13 — Decomposing problems and subproblems into manageable parts. Aligns with units 6, 7, 9 and 10 through algorithm roles, reusable services and partitioned work.
  • 2-AP-14 — Reusable procedures and parameters for organizing code. Aligns with units 7 and 10. The VM uses register-passed input/result conventions, rather than high-level parameter declarations.
  • 2-AP-17 — Systematic testing and refining with a range of test cases. Aligns with checked challenges when paired with prediction, debugging explanations and varied cases. A pass alone does not demonstrate the complete standard.

Units 1–3, 8 and 9 also connect to the Computing Systems concept. Algorithm, state, debugging, abstraction and control describe the ideas taught in this resource; consult the local framework for its expectation names and scope.

Official source landing links

Use these official landing pages to check the current adopted edition and local grade or course expectations.