About Software Systems Atlas
Software Systems Atlas is a collection of software systems lessons in English and Chinese. Follow a request through the network, application code, and storage, or study the foundations of each layer by volume.
What problem does it solve?
Software material is commonly split by language, framework, or component. A reader may know how to call an API without knowing how the request enters the system, how the code executes, where data is stored, why the service fails, or which signal to inspect first.
The atlas puts those questions on one map:
- development environments, code organization, testing, and delivery;
- CPUs, memory, processes, threads, networks, and storage;
- databases, caches, messaging, transactions, and distributed consistency;
- identity, authorization, cryptography, and software supply-chain security;
- data processing, model training, deployment, and governance.
For an unfamiliar project, draw a system boundary, follow data and control flow, then use logs, tests, packet captures, or measurements to locate a problem. Each volume supplies part of the knowledge needed for those decisions.
Who is it for?
- Beginners can start with development tools and programming basics, then finish a small project at each checkpoint.
- Application developers can fill gaps in networking, databases, computer systems, and distributed systems.
- Experienced engineers can use the volumes as an index of definitions, mechanisms, boundaries, and tradeoffs.
- Instructors and teams can build a selected path from the machine-readable catalog, after reviewing the delivery scope.
Current maintenance status
The repository contains 14 volumes and 509 numbered lessons per language. Chinese and English have matching lesson boundaries, editorial records, and repository checks. Explanations and examples remain under ongoing review. The release remains guarded: automated validation is not independent subject-matter review, and it does not mean that every Java, Shell, SQL, or environment-specific example has run on every target platform. See Product Readiness for the current boundary.
Content maintenance uses AI assistance for organization, translation, and editing. Editorial records track file versions and check results; they do not establish expert approval of every technical claim. For version-specific behavior, protocols, and APIs, consult the primary references listed in the lesson. To report a problem, open an issue in the GitHub repository with the page URL, relevant passage, and reproduction steps.
Companion resources
These resources support different parts of self-study. The atlas organizes short lessons by systems topic; plan separate time for full courses, labs, and practice problems.
| What you need | Resource to use alongside the atlas |
|---|---|
| Choose core CS subjects, books, and a study order | Teach Yourself Computer Science explains why each subject matters and recommends books and courses |
| Find university courses, prerequisites, and assignments | CS 自学指南 collects courses and study advice; its source repository tracks updates and corrections |
| Understand data structures and algorithms through diagrams and code | Hello Algo provides visual explanations, examples, and implementations in several languages; see its source repository for code |
| Practice system design and compare tradeoffs | System Design Primer provides a topic index, design problems, and sample solutions |
Author
Steven Yang (Yang Hongchen)
Brandeis University CS BS '26. Research interests include cloud systems, data governance, and database systems.
Site stack
- VitePress for the documentation framework;
- Vue for interactive components;
- MathJax for math rendered during the build;
- Markdown for content;
- Cloudflare Pages for hosting the site checked and built by GitHub Actions.
License
MIT. You may use, modify, and distribute the material while retaining the license and attribution.