In 2015 I wrote about asking my daughter to make a triangle with Lego. She made one, then added a bottom layer that held it together. The post included a photograph and quite a lot of parental optimism about where this might lead.
The photograph shows a triangle. It cannot tell us what that experiment did for her programming ability in the years afterwards.
There is still a useful question in that old post: how can you make a problem small enough to work on with the objects already on the table?
Here is a proposed follow-up using six bricks. It is a written activity design, not a report of a session with children. The point is to give another person instructions they can follow without having to guess what you meant.
Make a small tower
Use six stackable bricks of the same size: two red, two blue and two yellow. You also need paper, a pen and two people. Choose materials appropriate for whoever is taking part; the small bricks used in this example are not a suggestion for toddlers. Paper squares can stand in for the bricks.
Draw this target on the paper. Read the tower from bottom to top:
| Layer | Colour |
|---|---|
| 6, top | Yellow |
| 5 | Blue |
| 4 | Red |
| 3 | Yellow |
| 2 | Blue |
| 1, bottom | Red |
One person writes the instructions. The other builds. Keep the target hidden from the builder until the first attempt is finished, so it cannot quietly supply information missing from the instructions.
Agree on one instruction before starting:
ADD colour: take one brick of that colour and place it squarely on top of the tower. If the tower is empty, put the brick on the table to start it. If no brick of that colour remains, stop and point to the instruction.
Now write these instructions on six separate lines:
ADD red
ADD blue
ADD yellow
ADD red
ADD blue
ADD yellow
Start with all six bricks loose. The builder reads one line, performs it, then moves to the next. Reveal the target and compare the layers.
The order of instructions is the sequence. A small sequence is enough to make precision visible: “add blue” only works because both people have agreed what adding means and where the next brick goes.
Put one mistake into it
Take the tower apart and reset the bricks. Swap the second and third instructions:
ADD red
ADD yellow
ADD blue
ADD red
ADD blue
ADD yellow
This still produces a tower. It uses the same bricks and reaches the same height. It just does not match the target.
Compare from the bottom. Layer one is correct. Layer two is yellow where the target says blue. Follow that difference back to the second instruction.
Put the second and third instructions back in order, reset the bricks, and run the whole sequence again. Finding the first mismatch is a small debugging exercise. Repeating the corrected instructions checks whether the change fixed it.
The builder’s job is to follow the instructions, including the wrong ones. Quietly repairing the tower would hide the problem we are trying to find.
Then make the repetition explicit
The first three instructions are repeated. Replace the six lines with:
REPEAT 2 TIMES:
ADD red
ADD blue
ADD yellow
Define the repeat instruction carefully: perform the entire indented group, from top to bottom, twice. Start with an empty tower again. The result should match the first target.
Repeating each individual line twice would produce red, red, blue, blue, yellow, yellow. The same words with a different grouping describe a different tower. That is worth checking before introducing any more instructions.
LEGO Education describes unplugged coding as a way to explore a concept without a device, including trying repetition before writing a loop on a computer. This tower gives that idea a small, explicit example.
Stop at what the activity shows
This is enough to discuss order, a shared instruction and a repeat. It does not show that someone has learned a programming language, or tell us whether they will enjoy programming.
The useful result would be two people agreeing on instructions, following them, and being able to point to the line that made the tower different. Six bricks give them something small enough to take apart and try again.