code programming

Debugging: Finding It Yourself

The half of programming nobody teaches. You take one working program, break it nine ways, and find every fault by elimination rather than by staring at it. Ends with the kind of bug that raises no error at all.

  • trending_upBeginner
  • schedule5h 21m
  • menu_book9 lessons
  • publicEnglish
  • workspace_premiumBasic
Debugging: Finding It Yourself

Briefing

Every beginner course stops at "and now it works". Then the learner goes home, changes one line, and has no method for what happens next. This segment is the method. One small program — a bill splitter, about twenty lines — gets broken repeatedly and you get it back. You will read a traceback properly instead of scrolling past it. You will cut a file in half with `exit()` and cut it in half again until two lines are left. You will comment out everything except one function and drive it directly. You will print a value raw, then stripped, then lowered, so you can see the transformation instead of reasoning about it. Then the gauntlet: missing colon, wrong quote characters, stray whitespace, indentation, `=` where you wanted `==`, a result you never stored, two functions with the same name, an input asked for twice, a `TypeError` on text that was never converted, and text glued together where you meant to add numbers. Six of those tell you something is wrong. The rest do not say a word, and those are the ones that reach other people.

Course outline · 3 modules

lockUnlocks with access
  1. 01 Reading What It Already Told You
    3 lessons·1h 9m

    A traceback is read from the bottom. The last line is a sentence. The line number above it is where Python gave up, which is not always where you went wrong. Read it, then act. Guessing before…

  2. 02 Elimination, Not Inspiration
    3 lessons·1h 37m

    Real troubleshooting is elimination. You do not find the fault by thinking harder about the whole file; you find it by making the file smaller until there is nowhere left for it to hide.

  3. 03 The Gauntlet
    3 lessons·2h 35m

    One fix, one run. A file with four changes in it and a fresh error tells you nothing about which change caused what.

Frequently asked

What will I learn in Debugging: Finding It Yourself?
The half of programming nobody teaches. You take one working program, break it nine ways, and find every fault by elimination rather than by staring at it. Ends with the kind of bug that raises no error at all.
Do I need prior experience?
No — Debugging: Finding It Yourself starts from the fundamentals and is suitable for beginners.
How long does Debugging: Finding It Yourself take?
Debugging: Finding It Yourself includes 3 modules and 9 lessons. You learn at your own pace.
How do I get access?
Debugging: Finding It Yourself is included with any paid subscription.

More in Programming

Python From a White Sheet
Beginner Python From a White Sheet The exact sequence nine students have already walked, from a blank file to a program that asks questions, checks the answers and refuses bad input. No prior programming. No maths. You will break it repeatedly, on purpose.
AI Without the Hype
Beginner AI Without the Hype What the model is actually doing when it answers you, why that produces something that looks like thinking, why it invents citations, and the cost mechanic almost nobody explains: a chat resends the entire conversation on every single turn. You will do the arithmetic yourself.
First Program — Scratch for ages 5–9
Beginner First Program — Scratch for ages 5–9 Nine Scratch blocks, three sessions of about twenty-five minutes, and one small program a child of five to nine builds themselves. Written for the parent sitting beside them: what to click, what they will get stuck on, what to say when it goes wrong, and when to keep your hands off the mouse.
Binary, Hex and Data Units
Beginner Binary, Hex and Data Units The topic that costs more marks than any other on the paper, taught by hand. Bits and bytes, binary and hex in all six directions, the 1000-versus-1024 trap, file sizes, transmission times, overflow, two's complement and character sets. Every module ends in a timed drill marked the way an examiner marks it.
IGCSE and GCSE Computer Science — Theory That Actually Gets Marked
Intermediate IGCSE and GCSE Computer Science — Theory That Actually Gets Marked The theory half of the paper, taught so it survives the exam room. The memory hierarchy and what actually happens at boot. Compilers, interpreters and assemblers, including the answer that sounds right and scores nothing. Databases from a spreadsheet up to keys and normalisation. DNS and the full path between pressing Enter and seeing the page. Systems software, and the ethical and legal section that is the easiest ten marks on the paper.
Programming for the Exam — Python Answers That Score
Intermediate Programming for the Exam — Python Answers That Score The programming half of the paper, taught at exam pitch. Pseudocode translated both ways, because the mark scheme is written in a notation nobody practises. Trace tables done column by column, including the ones with a loop and a condition inside it. Linear and binary search, bubble and insertion sort, what each costs and the comparison questions boards love. Validation against verification, and the boundary test data everybody forgets. Procedures against functions, and a systematic method for finding your own error with four minutes left.