An algorithm is a finite, testable procedure—not merely a list of loosely related instructions.
Learning goals
- Write unambiguous ordered instructions
- Use sequence, selection, and repetition
- Define inputs, outputs, and stopping conditions
Watch for these misconceptions
- Any numbered list is an algorithm.
- More detail always removes ambiguity.
- The writer’s intention matters more than the executor’s result.
Specify the contract
Name what the process receives, what it should produce, and when it finishes. This makes vague words such as ‘until ready’ visible for refinement.
Use core structures
Sequence orders actions, selection chooses based on a condition, and repetition handles recurring work. These structures can be taught through physical routines before code.
Write for an unfamiliar executor
Instructions that work only because a friend guesses the intention are not yet robust. Test with someone who did not help write them.
Literal robot
- Pairs write instructions without showing the target.
- Another pair executes them literally.
- Mark the first ambiguity rather than fixing it silently.
- Revise using conditions, repetition, and a stopping rule.
Use physical movement with one instruction at a time.
Impose a maximum instruction count to encourage reusable procedures.
A procedure another group can execute successfully without clarification.
Check your understanding
Answer each prompt to yourself, then mark whether you can explain it confidently. These are reflective checks, not scored questions.
- Are inputs and outputs explicit?
- Could two reasonable readers do different things?
- Does the process always stop?
When do pupils rely on shared context instead of precise communication?
Ask one pupil to trace another pupil’s method exactly before discussing the answer.
Choose a classroom action above, then mark the lesson complete.