Computer science gives you the reasoning tools behind effective software engineering: algorithmic thinking, data structure selection, complexity analysis (Big O), and the operating-system mechanisms that execute and isolate programs. For a senior .NET developer, these fundamentals matter when choosing collections and algorithms, diagnosing whether work is CPU-bound or waiting on memory and I/O, and reasoning about tradeoffs before writing code.

Three canonical branches are covered here: data structures organize data for efficient access, mutation, and iteration; algorithms solve search, sorting, graph, and set problems with predictable cost; operating systems explain privilege, memory, I/O, process, and thread boundaries. The practical payoff is making design decisions from the mechanism instead of discovering performance or isolation failures in production.

A concrete example: a code review reveals a nested loop checking membership in a List<T> — O(n²) per batch. Replacing the inner list with a HashSet<T> turns it into O(n) with constant-factor lookups. That is not optimization trivia — it is the difference between a batch job finishing in seconds versus timing out.

Foundational paper routes

The useful question is not whether a paper is famous; it is which design mechanism it makes legible. These five routes cover ideas that recur across the vault:

PaperMechanism to carry forwardRoute
Dijkstra, Go To Statement Considered Harmful (1968)Control-flow structure makes correctness arguments tractableAlgorithms and correctness
Lamport, Time, Clocks, and the Ordering of Events in a Distributed System (1978)A happens-before relation orders events without a global clockDistributed systems
Ghemawat, Gobioff, and Leung, The Google File System (2003)Replication, leases, and large immutable chunks turn commodity-machine failure into an operating conditionData persistence
DeCandia et al., Dynamo (2007)Quorums, consistent hashing, and reconciliation trade strict coordination for availabilityCAP and distributed storage
Vaswani et al., Attention Is All You Need (2017)Self-attention replaces recurrence with parallel token-to-token interactionmachine learning

The diagram is a reading map, not an authority or a required sequence. Start with the mechanism closest to the system you are building, then read the original paper to see the assumptions and failure model the summary leaves out.

Questions

References

6 items under this folder.