Teaching the visible machine
How to run this in class
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.
Before class, open the course and a worksheet on the devices students will use. Try Run, Step, Step Back, input queuing and a challenge. Use a current browser. Devices need network access to load pages and assets; programs execute locally. There is no install, account or classroom join code.
Use one device per learner or one per pair. Project the lab for the first demonstration; switch driver/navigator roles after each task. A driver enters instructions; a navigator predicts register/PC changes and checks trace evidence. Use anonymous sample values, not names, contact details, grades or passwords.
Tell learners what the model represents: eight registers, one accumulator, 256 byte memory locations and a small deterministic CPU. It is a teaching model, not a faithful reproduction of every physical CPU or a complete operating system. Computer instructions use emoji or English mnemonics; interface language can change without changing code semantics.
Queue each fixture's integers in order before running INPUT code. An empty INPUT waits without consuming cycles. Reset clears input/state; queue new inputs after resetting. Memory fixtures must be initialized before execution. Registers are safe integers, memory writes keep the low byte, and addresses are 0–255.
Use a consistent debug routine: state the expected behavior; predict the next instruction; run one step; compare R0, flags, PC and relevant memory; inspect the first mismatch; change one cause; reset and retest at least one different case. Read diagnostics and suggestions rather than repeatedly pressing Run.
Progress stays in this browser’s local storage. Clearing site data, private browsing, shared device profiles or changing devices can remove or mix progress. Use paper observations or your school’s existing assessment process for class records. On a shared device, clear the previous learner’s local progress before starting a new session.
Shared program links carry source code in the URL fragment. Anyone receiving a link can read the code. Use anonymous sample programs and the selectable link when clipboard access is denied. Programs, inputs, outputs and progress stay in the browser. A first-party visit beacon respects browser Do Not Track and Global Privacy Control and excludes code, inputs and progress.
Offer emoji and text mnemonics together, printed trace tables, pair discussion or a written/verbal explanation. Tab moves focus; Ctrl/Command+Enter runs or pauses, Escape pauses, Ctrl/Command+] indents. Read/write markers use R/W text alongside color. Use the language selector for Arabic right-to-left display, and test the chosen device and input method before class. Reduced-motion preferences are respected.
Gather understanding from reasoning and varied cases. A passing fixture result is evidence of machine behavior, not proof a learner authored code unaided or has mastered every underlying concept. Public answer keys and fixtures are intentional instructional supports.
Pace and evidence
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.
Assessment evidence
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.
Open the course