Advanced Books and Research Map
This is an assignment map for the Advanced Engineering Path, not an additional mandatory reading pile. Reuse the existing core books before introducing another explanation of the same topic. Topic assignments below are selective for the compact route; admitting a book to the full-book route means budgeting its complete reading separately.
Keep the existing spine
| Area | Primary anchor | What the learner must do with it |
|---|---|---|
| Proofs and discrete reasoning | Mathematics for Computer Science; selected Rosen topics for another explanation | reconstruct a proof, find a counterexample, connect an invariant to code |
| Algorithms | choose CLRS or Algorithms as the main narrative; use Skiena for problem selection | implement, justify, compare against a simple oracle, measure scale |
| Systems | CSAPP, then OSTEP | trace memory and concurrency, reproduce a failure, state the machine model |
| Data | DDIA for decisions; Database Internals for mechanisms | compare consistency guarantees, implement a small mechanism, test failure boundaries |
| Design | Refactoring and Good Code, Bad Code; patterns when a change calls for them | preserve a contract, reduce change risk, explain a rejected abstraction |
| Architecture | Fundamentals of Software Architecture and Learning Domain-Driven Design | connect boundaries to quality scenarios and domain invariants |
These are already represented in the local Books collection and existing reference library. The revised module reading guides now name specific topics and outputs. Multiple anchors in this table describe sequencing or distinct roles, not simultaneous reading requirements.
Add depth where it produces new capability
| Resource | Availability in this review | Assignment and entry point | Stop condition for selective study |
|---|---|---|---|
| Types and Programming Languages — Benjamin C. Pierce | local PDF title verified | after SICP; typing rules, simply typed terms, progress and preservation for studio 2 | type checker, rejected ill-typed cases, explanation of soundness limits |
| Basics of Compiler Design — Torben Mogensen | local PDF verified as Anniversary edition, 2010 | alternative compiler foundation; scanning, parsing, type checking, intermediate code | parser and one semantics-preserving transformation; do not read alongside another complete compiler text by default |
| Crafting Interpreters — Bob Nystrom | author repository verified; external implementation companion | after S4; environments, closures, bytecode as a later extension | build your own variation and explain a counterexample; copying the implementation is not the gate |
| Mathematics for Machine Learning — Deisenroth, Faisal, Ong | local pre-publication PDF identified; use official site to select a version | studio 3; vector calculus, matrix decompositions, optimization | derived and checked gradients plus conditioning experiment |
| Specifying Systems — Leslie Lamport | external addition; author-hosted book | after S6; state, actions, invariants, then fairness when needed | bounded protocol model with a counterexample and explicit assumptions |
| Systems Performance, second edition — Brendan Gregg | external addition; author page verified | after S5; methodology, observability, benchmarking, then the measured bottleneck | equal-workload experiment with repeated runs and a defensible conclusion |
| The Fuzzing Book | external online addition | after a parser or protocol implementation; input generation and reduction | discovered/minimized defect with an independent oracle and regression |
| The Site Reliability Workbook | external online practice source | during residency; SLOs, monitoring, incidents, and change | a small-system runbook exercised by another person |
The new books are recommendations tied to gaps, not required purchases. Existing local texts and the studios' small models can support initial work. The full advanced reading commitments should be scheduled after an entry diagnostic, not imposed on a beginner.
A paper seminar with outputs
| Order | Source | Question to answer | Artifact |
|---|---|---|---|
| 1 | S. Keshav, How to Read a Paper; local version dated 2016-02-17 | what is the claim, mechanism, evidence, and limitation? | one-page argument map with bibliographic metadata |
| 2 | Dean and Ghemawat, MapReduce | what happens when a task is repeated or a worker disappears? | bounded local executor with an output oracle and declared departure from the paper's scale |
| 3 | Raft paper and companion materials | which state survives failure and what makes an accepted log safe? | trace or bounded model; distinguish it from a complete protocol implementation |
| 4 | choose one verified local static-analysis, concurrency, or memory paper | which assumption could fail in your project? | mechanism reconstruction and one controlled extension |
Use studio 9 for the reproduction contract. Read the selected paper fully; do not claim its results from a third-party summary alone. Verify unfamiliar local filenames against title pages before admitting them to a seminar.
Use Resources deliberately
The local learning-notes collection contributes useful prompts about product outcomes, organizational decisions, and accidental complexity. Its summaries of Escaping the Build Trap, The Manager's Path, and An Elegant Puzzle can support residency discussion, but they are not complete copies of those books and do not establish that a management prescription works everywhere.
The software-development collection includes a compiler textbook and engineering references; the Educative material can provide extra drills when a prerequisite diagnostic fails. Graphics, cryptography, and robotics material belongs to a chosen concentration after its mathematical and systems prerequisites. Do not turn every folder into a required semester.
For exact local discovery paths, version observations, and verification limits, use the authoring source map. Public pages link to official or existing reference destinations rather than exposing raw local book chunks.