GitHub

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/)

Appendices

1. [License](@/license/) 1. [Code of Conduct](@/conduct/) 1. [Contributing](@/contributing/) 1. [Bibliography](@/bibliography/) 1. [Glossary](@/glossary/)

start where you are · use what you have · help who you can

Read the original on github.com ↗