Ten practical unit plans, printable worksheets and public answer keys for a visible computing course. Each unit has three lessons and three 45-minute class sessions. No accounts, classroom codes or student records are needed.
Each unit has three 45-minute sessions (135 minutes total), one lesson per session. The course lesson estimate describes focused individual activity, not a full classroom period. Suggested session: 5 minutes retrieve/predict; 8 minutes model one trace; 20 minutes paired Try and challenge; 7 minutes compare/debug explanations; 5 minutes independent exit response.
Gather four kinds of evidence: prediction of relevant state; behavior across varied cases including boundaries; explanation using trace/state evidence; and a reasoned correction of one mismatch. Mark each as emerging, with support or independent using paper or your school’s existing approved process. A challenge pass is machine-behavior evidence, not proof of authorship or complete mastery. Accept equivalent correct programs; the public key is a model, not the only possible answer.
Explain fetch/execute, registers, PC, output and stopping.
3 × 45 minutes · Total classroom time: 135 minutes
- Describe fetch/execute using PC.
- Distinguish source lines from instruction indexes.
- Preserve a value in a second register.
- Predict and reverse a small program's state.
Build integer calculations with saved inputs and test cases.
3 × 45 minutes · Total classroom time: 135 minutes
- Translate an ordered expression into accumulator operations.
- Save input before destructive operations.
- Distinguish negative floor division and signed remainder.
- Test a two-input calculator with zero/negative cases.
Distinguish values from addresses and read/write byte storage.
3 × 45 minutes · Total classroom time: 135 minutes
- Distinguish literal, register value and memory dereference.
- Use an address register.
- Describe byte conversion separately from address validation.
- Identify reads/writes in trace evidence.
Use comparison, remainder and labeled paths to express decisions.
3 × 45 minutes · Total classroom time: 135 minutes
- 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.
Use bounded loops, zero cases, counters and accumulators.
3 × 45 minutes · Total classroom time: 135 minutes
- Pair LOOP/RETURN.
- Distinguish repeat count, changing counter and accumulated total.
- Handle zero repetitions.
- State a simple sum invariant.
Describe and inspect factorial, Fibonacci and reverse-copy invariants.
3 × 45 minutes · Total classroom time: 135 minutes
- Choose appropriate accumulator identity.
- Maintain Fibonacci's two-value state safely.
- Move source/destination pointers.
- Explain reverse-copy preservation using an invariant.
Use LIFO data, call frames and save/restore conventions.
3 × 45 minutes · Total classroom time: 135 minutes
- Explain LIFO and data underflow.
- Follow PC+1 through a call frame.
- Reuse a function.
- Preserve promised caller registers with a save/restore convention.
Select and toggle bits and explain signed 32-bit behavior.
3 × 45 minutes · Total classroom time: 135 minutes
- Apply AND masks to select bits.
- Use OR to set bits.
- Demonstrate XOR involution.
- Distinguish signed32-bit NOT from byte inversion and constrain sign-mask comparison to its documented small range.
Distinguish scheduling policy, work partition and handler state restoration.
3 × 45 minutes · Total classroom time: 135 minutes
- Distinguish scheduler policy from an instruction.
- Track independent task/core state.
- Partition jobs and combine results.
- Save/restore foreground state around an event handler.
- Distinguish simulation from real parallel hardware.
Combine the instruction set into a game, buffer utility and job dispatcher.
3 × 45 minutes · Total classroom time: 135 minutes
- Combine input/rules/state into a target game.
- Reverse a variable-length buffer through a stack.
- Decompose a queued dispatcher into services.
- Distinguish full register results from byte log values.
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.