Skip to content

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 ​

ProblemStart with
Installation fails only on your machineVersion ranges and dependency conflicts
A merge leaves conflicting changesResolving merge conflicts
An HTTP request fails at an unknown stageLayered network diagnosis
A correct SQL query keeps getting slowerQuery execution and optimization
A write succeeds but no event arrivesOutbox and idempotent consumers
Users report latency that dashboards missObservability signals
A RAG answer has unsupported citationsRetrieval, 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 countQuestions 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:

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.

Built with VitePress | Software Systems Atlas