Course Catalog
For a sequence of lessons, open a volume index and check its prerequisites. If you already have a problem to investigate, start with a lesson below and follow its links for background. One request can involve networking, databases, and application code; you can read across volumes as needed.
Find a lesson by problem
| Problem | Start with |
|---|---|
| Installation fails only on your machine | Version ranges and dependency conflicts |
| A merge leaves conflicting changes | Resolving merge conflicts |
| An HTTP request fails at an unknown stage | Layered network diagnosis |
| A correct SQL query keeps getting slower | Query execution and optimization |
| A write succeeds but no event arrives | Outbox and idempotent consumers |
| Users report latency that dashboards miss | Observability signals |
| A RAG answer has unsupported citations | Retrieval, context, and answer evaluation |
For a longer study sequence, choose a learning path. If you are new to programming, read the starting guide.
All volumes
| Volume and lesson count | Questions covered |
|---|---|
| Volume 0: Developer Workshop 40 lessons | How do you run projects, save changes, debug, and manage dependencies? |
| Volume 1: Programming Basics 62 lessons | How do variables, control flow, objects, and I/O form a complete program? |
| Volume 2: Data Structures and Algorithms 38 lessons | How do you choose structures, explain complexity, and check algorithm boundaries? |
| Volume 3: Computer Systems 38 lessons | How do instructions, memory, processes, and filesystems execute a program? |
| Volume 4: Computer Networking 34 lessons | How does a request cross TCP, TLS, and HTTP, and where can it fail? |
| Volume 5: Databases and Data Systems 41 lessons | How is data stored, queried, updated concurrently, and recovered? |
| Volume 6: Software Engineering and Design Patterns 44 lessons | How do you divide responsibilities, test behavior, and evolve APIs and services? |
| Volume 7: Distributed Systems 27 lessons | How do you replicate data, coordinate work, and recover when nodes fail independently? |
| Volume 8: Security and Cryptography 25 lessons | How do you define trust, verify identity, control access, and protect data? |
| Volume 9: Language Internals 18 lessons | How do types, runtimes, memory, and concurrency models affect program behavior? |
| Volume 10: Mathematical Foundations 36 lessons | How do proofs, counting, probability, and linear algebra help analyze computation? |
| Volume 11: Compilers and Formal Languages 22 lessons | How does source code pass through analysis to code generation? |
| Volume 12: Data Processing and Data Science 37 lessons | How do you clean data, check bias, and make statistical conclusions reviewable? |
| Volume 13: AI and Machine Learning 47 lessons | How do you build search or learning models, evaluate results, and analyze failures? |
How to read the counts
The site has 14 volumes and 509 numbered lessons per language. A chapter can contain short lessons, references, or labs; 8.1 and 8.2 belong to the same chapter. Chinese and English are versions of the same lesson, not separate courses.
Depth and example-verification progress vary across volumes. The release remains guarded. Before selecting teaching material or relying on a conclusion, check content verification status for automated coverage and outstanding technical review.
What the automated checks cover
Public JSON files provide the catalog and learning paths for readers who want to reuse the course structure:
catalog.json: volumes, lesson titles, and canonical routes.learning-paths.json: six learning paths and their stage outcomes.product-readiness.json: release status, outstanding work, and verification commands.content-review-status.json: editorial records and corresponding file hashes.
npm run validate:docs checks counts, numbering, links, and path references. npm run validate:content checks bilingual structure, descriptions, and review records. npm run validate:examples checks code fences and Python and JSON syntax. These checks do not replace technical review or establish that every example has run in its target environment.