A short program goes on the board. Before anyone touches a keyboard, you commit to a prediction β€” the exact output, in ink. Then we run it. Being wrong costs nothing; refusing to commit costs everything β€” the gap between prediction and reality is where the learning lives.

How to run it

  1. Read the program twice, silently β€” no talking yet.
  2. Write the exact output you expect, character for character.
  3. Compare with a neighbour; the code, not volume, settles disputes.
  4. Run it. Surprised? The line that fooled you is today’s lesson.

One variation

Reverse it: show only the output; pairs write a program that would produce it. There is never just one answer β€” which is the point.

Commit before you run

A guess never written down cannot surprise you, and code that never surprises you never teaches you β€” Debugging Is the Job says why.

Curriculum connection

C1.3

identify various types of data and explain how they are used within programs

Link to original

C1.4

determine the appropriate expressions and instructions to use in a programming statement, taking into account the order of operations

Link to original

C2.6

interpret program errors and implement strategies to resolve them

Link to original

C3.1

analyze existing code to understand the components and outcomes of the code

Link to original