Rung 1
Instructions a machine could follow
Turn something you can already do into steps that leave nothing to judgement.
The gate
Write a procedure for an everyday task. Hand it to someone who has never done it and watch them follow it literally, without answering any of their questions. They reach the correct result with no question asked.
Nobody checks this but you. Do it honestly and the rungs above hold; do it loosely and they will not, somewhere further up where the cause is much harder to find.
You already know how to make a sandwich, tie a shoe, or get to school. You do not know how to say it — not in the way a machine needs. Every step you skip is a step you are quietly performing with judgement, and a machine has none.
This is the first rung because every other thing on this ladder is this thing wearing a costume. A proof is a procedure a sceptic can follow. A program is a procedure a processor can follow. A neural network is a procedure repeated until a number stops shrinking. Precision about steps is the whole discipline.
Why this is on the ladder
The hardest part of getting a machine to do something is discovering how much of the task lived in your head and never got said. Programmers call the leftovers bugs. They are not mistakes in the steps you wrote; they are the steps you did not write, because to you they were obvious.
Obvious is not a property of the task. It is a property of you.
Do this
Pick a physical task with at least ten steps. Something with a real result you can look at: making tea, folding a paper aeroplane, drawing a specific shape.
Write the procedure. Then break it: for every step, ask what would a stubbornly literal reader do here? "Add some water" — how much? "Until it's done" — how would they know? Rewrite until every step has exactly one reading.
Now find your reader. Give them the paper. Answer nothing. If they ask a question, you have found a missing step — write it down, and let them stay stuck. That question is the entire lesson.
Where people get stuck
The temptation is to help. Don't. A procedure that needs you standing next to it is not a procedure, it is a conversation. The whole point is that it must work when you are not there — which is the only condition under which a computer ever runs anything you write.
You will also be tempted to write steps like "be careful" or "make sure it looks right". These are not steps. They are wishes. Replace each one with something a reader could check by looking.
Reading
- CS Unplugged — activities that teach computing without a computer — University of Canterbury