Skip to content

Start Here ​

Pick a problem you want to solve: run your first program, fill a gap in backend knowledge, or understand a protocol. Use the entry points below to find the relevant material; you do not need to read all fourteen volumes in order.

Software Systems Atlas gives you several routes through the material. Beginners can follow a sequence with checkpoints. Experienced developers can jump to a protocol, algorithm, implementation boundary, or production tradeoff.

Choose in 30 seconds ​

Your current positionStart hereFirst outcome
You have not programmed or used a terminalVol 0: Developer WorkshopRun a project with a terminal, Git, and a debugger
You know syntax but have gapsVol 1: Programming BasicsWrite a small program with input, collections, error handling, and file I/O
You build backend servicesBackend Engineer pathConnect HTTP, databases, tests, distributed systems, and operations
You want systems, compiler, or infrastructure workSystems Programmer pathBuild formal models of CPUs, memory, concurrency, networks, and compilers
You need one topicCourse catalogOpen the matching volume and chapter
You need to assess training or release scopeReadiness reportReview depth variance and known risks

Beginner route ​

Work through these checkpoints in order. Return to a prerequisite chapter when you cannot explain an error or an observed result.

  1. Development tools. After Vol 0, you can move through directories in a terminal, save work with Git, set an IDE breakpoint, and start a project from its README.
  2. Programming basics. After the core Vol 1 chapters, you can explain variables, control flow, functions, collections, exceptions, and file I/O. You can combine them in one small program.
  3. First project. Build a command-line tool or small web service. It needs a run command, tests, a clear directory layout, and a list of known limits.
  4. Networking. Study layers, sockets, TCP, and HTTP. Trace one request from client code to server code.
  5. SQL and databases. Study SQL, normalization, B+ trees, transactions, and isolation levels. Explain how one query reads or changes stored data.
  6. Backend engineering. Add testing, API design, deployment, caching, messaging, and observability. Continue with the Backend Engineer path.

Keep a result you can inspect at each checkpoint: a command and its output, an explanation of key variables, or a record of how you located an error. Move on when you can repeat the task without copying the steps and explain the result.

Reading rules ​

  • Check the prerequisites on each volume index before you start a chapter.
  • Small examples and occasional analogies establish intuition. Definitions, state machines, code, and experiments support technical conclusions.
  • A partial or pseudocode block cannot run on its own. A runnable example should name its environment, command, and expected output; check your local versions and dependencies before running it.
  • Review and example-verification status varies by article. The site remains guarded; the readiness report lists the consequences.

All volumes ​

VolTitleMain topics
0Developer WorkshopTerminal, Git, debugging, packages, builds, Docker
1Programming BasicsSyntax, control flow, OOP, collections, concurrency, I/O
2Data Structures and AlgorithmsComplexity, linear structures, trees, graphs, sorting, dynamic programming
3Computer SystemsData representation, CPUs, memory, processes, concurrency, file systems, performance
4Computer NetworkingLayers, sockets, TCP, HTTP, TLS, DNS, QUIC, debugging
5Databases and Data SystemsSQL, storage, queries, transactions, concurrency control, caching, search
6Software Engineering and Design PatternsConstruction, testing, patterns, architecture, APIs, DDD
7Distributed SystemsRPC, consensus, storage, compute, SRE, IaC, Kubernetes, observability
8Security and CryptographyCryptography, identity, web security, privacy, supply chain security
9Language InternalsType systems, memory models, concurrency models, runtimes, bytecode
10Mathematical FoundationsDiscrete math, combinatorics, probability, linear algebra, calculus, information theory
11Compilers and Formal LanguagesAutomata, grammars, lexing, parsing, semantic analysis, code generation
12Data Processing and Data ScienceCleaning, exploratory analysis, inference, feature engineering, governance
13AI and Machine LearningSearch, ML, deep learning, LLMs, RAG, AI system patterns

The catalog contains 509 numbered lessons. A chapter may contain several focused lessons, references, and labs; for example, 8.1 and 8.2 are lessons within Chapter 8, not duplicate chapters. Chinese and English use the same lesson boundaries. The release remains guarded because independent expert review and execution across every example environment are not yet complete.

To report an incorrect claim, broken link, or failing example, use “Edit this page on GitHub” at the bottom of the page. GitHub will guide you through proposing a change in a branch or pull request.

Built with VitePress | Software Systems Atlas