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 position | Start here | First outcome |
|---|---|---|
| You have not programmed or used a terminal | Vol 0: Developer Workshop | Run a project with a terminal, Git, and a debugger |
| You know syntax but have gaps | Vol 1: Programming Basics | Write a small program with input, collections, error handling, and file I/O |
| You build backend services | Backend Engineer path | Connect HTTP, databases, tests, distributed systems, and operations |
| You want systems, compiler, or infrastructure work | Systems Programmer path | Build formal models of CPUs, memory, concurrency, networks, and compilers |
| You need one topic | Course catalog | Open the matching volume and chapter |
| You need to assess training or release scope | Readiness report | Review 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.
- 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.
- 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.
- 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.
- Networking. Study layers, sockets, TCP, and HTTP. Trace one request from client code to server code.
- SQL and databases. Study SQL, normalization, B+ trees, transactions, and isolation levels. Explain how one query reads or changes stored data.
- 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
partialorpseudocodeblock cannot run on its own. Arunnableexample 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
| Vol | Title | Main topics |
|---|---|---|
| 0 | Developer Workshop | Terminal, Git, debugging, packages, builds, Docker |
| 1 | Programming Basics | Syntax, control flow, OOP, collections, concurrency, I/O |
| 2 | Data Structures and Algorithms | Complexity, linear structures, trees, graphs, sorting, dynamic programming |
| 3 | Computer Systems | Data representation, CPUs, memory, processes, concurrency, file systems, performance |
| 4 | Computer Networking | Layers, sockets, TCP, HTTP, TLS, DNS, QUIC, debugging |
| 5 | Databases and Data Systems | SQL, storage, queries, transactions, concurrency control, caching, search |
| 6 | Software Engineering and Design Patterns | Construction, testing, patterns, architecture, APIs, DDD |
| 7 | Distributed Systems | RPC, consensus, storage, compute, SRE, IaC, Kubernetes, observability |
| 8 | Security and Cryptography | Cryptography, identity, web security, privacy, supply chain security |
| 9 | Language Internals | Type systems, memory models, concurrency models, runtimes, bytecode |
| 10 | Mathematical Foundations | Discrete math, combinatorics, probability, linear algebra, calculus, information theory |
| 11 | Compilers and Formal Languages | Automata, grammars, lexing, parsing, semantic analysis, code generation |
| 12 | Data Processing and Data Science | Cleaning, exploratory analysis, inference, feature engineering, governance |
| 13 | AI and Machine Learning | Search, 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.
Next links
- Choose a complete learning path
- Browse the course catalog
- Understand the project scope and limits
- Read the current readiness status
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.