This lesson will help your students distinguish the difference between clear and vague instructions and see how each affects a task's outcome.
They'll experience this firsthand by attempting to make an origami paper fish.
First, they'll try to make a paper fish on their own, and then they'll try again with step-by-step instructions.
Begin by handing each pupil a square of paper. Frame the activity as a fun challenge, emphasising that it's designed to be a bit tricky.
Without providing any examples, diagrams, or verbal instructions on how to fold, simply state the goal:
“Your challenge is to fold your square of paper into the shape of a fish. You cannot tear or cut your page and you cannot draw or colour it!”
Set a visible timer for the entire class (5 minutes should be plenty). During this time, resist the urge to provide any hints. The purpose of this step is to let students experience the frustration and uncertainty that come from a vague instruction!
After the timer for the first attempt goes off, invite the students to put their paper creations down and gather their thoughts. Before you move on to the next step, guide a brief discussion to capture their immediate feelings and observations.
Ask them a few key questions to get them to reflect on the process:
"How did that feel? What was the hardest part?"
"Did anyone feel frustrated or unsure of what to do next?"
"What did you need to make the task easier?"
As students share their thoughts, jot down a few of their key phrases on the board.
This will serve as a powerful reminder of the problems that arise from a vague instruction, setting the stage for the next part of the lesson where they will receive a clear, ordered algorithm.
Hand a fresh square of paper to each student. This time you give them a clear, step-by-step algorithm. Ask them to follow each instruction exactly and not to guess ahead.
Read the steps one at a time and pause after each until everyone has caught up. Model each fold with your own paper as you speak. The guide below has one panel per fold, so keep it on the board.

Simple paper fish, step by step (no cutting, no glue):
Bring the class together to discuss their experience. Invite them to hold up their two finished pieces, putting their first, "guesswork" creation side-by-side with their second, "instruction-based" one.
Guide the discussion with a few key questions to help them reflect on the process:
"Let's talk about how this felt. What was easy about the second time? What was tricky about the first attempt?"
"How long did you spend just trying to decide what to do in your first attempt, versus the second?"
"What did the clear instructions give you that you didn't have before?"
Bring the lesson to a close by explaining the central concept you’ve just demonstrated.
Tell your students that what you gave them on their second attempt was a clear, ordered set of steps, also known as an algorithm. Explain that an algorithm is exactly what a computer uses to complete any task, whether it's loading a web page, running a video game, or sending a text message.
Remind them of the "guesswork" they had to do on their first fish. Computers can't guess! They rely entirely on the instructions you give them. The clearer and more precise your algorithm, the fewer mistakes the computer will make and the faster it will get the job done. Just like your second, perfect fish, a good algorithm leads to a successful outcome every time.
To wrap up, ask them to think about their favourite apps or games. Tell them to imagine all the complex algorithms that had to be written to make them work so well.
If you have time at the end of the lesson, this challenge is a great way for students to explore more advanced coding concepts. Tell your students that great programmers don't just write code—they make it better. Their mission, should they choose to accept it, is to become Algorithm Masters.
Divide the class into pairs. Their challenge is to take the fish-folding algorithm and either:
1. Optimise it: Can they rewrite the instructions in fewer steps? Encourage them to combine steps without losing clarity. For example, can they phrase one line of code to do the work of two? This is a great way to introduce the concept of clean code and efficiency.
2. Customise it: Can they add an optional feature to the algorithm? This is where they can get creative. For instance, they can add an if/then statement for a new design, such as: "If you want a longer tail, make the fold in step 4 closer to the fold in step 3."
Once they've completed their challenge, have the pairs swap their revised algorithms with a neighbour to test them out. This is a great way to learn about debugging and peer review. Tell them to provide clear feedback on what worked and what didn't. This reinforces the idea that an algorithm is only as good as its instructions.
Every lesson in the course is ready to teach like this one. See what else comes with it, and how to order it.