Loading…
Loading…
By the end you can read code you did not write, find the bug in it, and explain why it was a bug.
You can write code that works and you get stuck the moment it does not — which is most of programming.
Checking your progress…
Start where feedback is instant and unambiguous. Syntax errors teach you to read an error message carefully, which is the habit every later step depends on.
Open this step →The first bug class the machine will not flag. It is the simplest one to reason about, so it is where 'trace the value' becomes a technique rather than a hope.
Open this step →Type bugs look exactly like value bugs until you can tell them apart. Separating the two is a real step up, and it needs the previous step to be automatic first.
Open this step →The pivot of the whole course. You cannot find a control-flow bug without being able to execute a program mentally, in order — so this comes before loops and logic, not after.
Open this step →Loop bugs are control-flow bugs, and they are only tractable once you can trace execution. This is the first payoff of the previous step.
Open this step →The end, and the only bug class nothing will ever point at for you. It requires everything above, which is exactly why it is last.
Open this step →You finish with a method rather than a hunch — able to walk into unfamiliar code, narrow the problem down, and say what was actually wrong.
Once you have started this course it stays available to you, with your progress intact, even if it is later replaced.