a short course on debugging
Learner Persona
Learners are comfortable reading and writing classes and unit tests in Python, but have limited understanding of lower-level programming languages like C or Rust, only superficial understanding of JavaScript, and have never dealt with threading, networking, or containers. They use an LLM as a coding assistant but want to be able to understand and check the code it generates.
Chapters
1. [Introduction](@/intro/) 1. [Basic Python](@/basicpy/) 1. [Intermediate Python](@/interpy/) 1. [Object-Oriented Python](@/oopy/) 1. [Regular Expressions](@/regexp/) 1. [Data, I/O, and Testing](@/diot/) 1. [Performance and Concurrency](@/perfcon/) 1. [JavaScript Fundamentals](@/jsbrowser/) 1. [CSS](@/css/) 1. [HTTP and APIs](@/web/) 1. [HTMX](@/htmx/) 1. [Alpine.js](@/alpine/) 1. [FastAPI](@/fastapi/) 1. [Data Science](@/datasci/) 1. [Data Visualization](@/dataviz/) 1. [Polars](@/polars/) 1. [The Unix Shell](@/shell/) 1. [SQL](@/sql/) 1. [Testing](@/testing/) 1. [Conclusion](@/finale/)
start where you are · use what you have · help who you can