Beginner · 3h 50m · lessons

Debugging & Problem Solving

Turn 'it's broken and I have no idea why' into a calm, repeatable process.

What you'll learn

  • Approach a broken program calmly with a clear, repeatable debugging process
  • Read an error message and stack trace and find the line that actually matters
  • Reproduce a bug reliably so you can tell when it's truly fixed
  • Use print/log debugging to see what your code is really doing
  • Set breakpoints and step through code with a step debugger
  • Narrow a bug down fast using bisection and rubber-duck debugging
  • Search effectively and write a minimal reproducible example when you ask for help
  • Build everyday habits that stop bugs from happening in the first place
  • Tackle performance and intermittent (flaky) bugs, and lock fixes in with a test
  • Apply a problem-solving toolkit: decompose, simplify, isolate, and know when to step away

Syllabus