Hardik's Notes

How to find the one thing that is broken

Your circuit will not light. Your code will not run. Here is the method engineers use, and it works on homework too.

You built the thing. You checked it twice. You pressed the button.

Nothing happened.

This is the worst moment in any project, and it is also the most normal one. Everybody who makes anything spends most of their time here. The difference between people who finish projects and people who give up is not talent. It is that the finishers know what to do in this exact moment.

The instinct that wastes your afternoon

When something does not work, most people want to start again.

Pull it all apart. Rebuild it properly this time. Retype the code from the beginning.

Do not do this. You will almost certainly rebuild the same mistake, because you do not know yet what the mistake was. Two hours later you will be back here, more tired, with less time.

Your project is not broken. One thing in it is broken. Your job is to find which one.

Change one thing at a time

This is the whole method, and it is the rule real engineers work by.

steps that find almost any fault

  1. Make it smaller until something works
  2. Change one thing, then test
  3. Write down what you changed
  4. Put the working parts back one at a time
Slower than guessing. Much faster than starting again.

Say your circuit will not light. Do not stare at the whole thing. Take out everything except the battery and the bulb. Does the bulb light now? If yes, your fault is in what you removed. If no, your fault is the battery, the bulb, or the two wires in front of you, and you have just reduced the problem from twenty parts to four.

That is what “make it smaller” means. You are not fixing it yet. You are cutting the place it could be hiding in half, then in half again.

Write it down, even though you will not want to

Keep a line of notes as you go. Three words each is enough.

swapped battery, still dead new bulb, still dead different wire, it lit

Without this you will test the same thing three times and forget you did. With it, you can see the answer sitting in your own notes.

This is also the difference between “it works now” and “I know why it works now”. The second one is worth much more, because it is the one you can use again next week.

The trick that feels silly and works

If you are stuck on something with steps in it, like code or a set of instructions, do the steps yourself, out loud, as if you were the machine.

Walk the square your robot is supposed to walk. Say each turn as you make it. Read each line of your program aloud and do exactly what it says, not what you meant it to say.

Machines are stupid in a very specific way: they do exactly what you wrote. Most bugs are the gap between what you wrote and what you meant. Acting it out is the fastest way to find that gap, because your body already knows what the shape should be.

Seymour Papert taught children this way in the 1960s, and it still works.

When to stop

Two good reasons to walk away from a problem.

You have been stuck on the same step for more than twenty minutes with no new information. Not stuck and learning things: stuck and going in circles.

Or you are tired. Tired people miss obvious things and then get upset about missing them.

Leave your notes where you can find them. The answer very often arrives on the walk home, when you are not looking at it.

The part worth remembering

Finding the fault is the skill. Building the thing is the easy half.

Every person you think of as good at making things is just someone who has been stuck a lot of times and learned how to search properly. You are not behind. You are doing the part that counts.

Beyond the notebook

This is what we do in schools.

A year-long programme for classes 6 to 12. Creativity, taught as a skill, inside the classroom you already have, led by your teachers.

See the programme