Recommended Computer Science Papers
by Madeleine Thompson, originally written 2018–12–09, last updated 2025–01-05
theory
- On Computable Numbers, with an Application to the Entscheidungsproblem, by Alan Turing (1936)
- A Mathematical Theory of Communication, by Claude Shannon (1948)
- Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I, by John McCarthy (1960)
- Fundamental Concepts in Programming Languages, by Christopher Strachey (1967)
- Reflections on Trusting Trust, by Ken Thompson (1984)
- A Computer Scientist's View of Life, the Universe, and Everything, by Jürgen Schmidhuber (1997)
distributed systems
- Time, Clocks, and the Ordering of Events in a Distributed System, by Leslie Lamport (1978)
- The Part-Time Parliament, by Leslie Lamport (1998)
- MapReduce: Simplified Data Processing on Large Clusters, by Jeffrey Dean and and Sanjay Ghemawat (2004)
- The Chubby lock service for loosely-coupled distributed systems, by Mike Burrows (2006)
- Bigtable: A Distributed Storage System for Structured Data, by Fay Chang et al (2006)
- Dynamo: Amazon's Highly Available Key-value Store, by Giuseppe DeCandia et al (2007)
- Spanner: Google's Globally Distributed Database, by James C. Corbett et al (2013)
- The Design and Implementation of Modern Column-Oriented Database Systems, by Daniel Abadi et al (2013)
- Life Beyond Distributed Transactions: An Apostate's Opinion, by Pat Helland (2016)
numerical programming
- Division by Invariant Integers using Multiplication, by Granlund and Montgomery (1994)
- SGEMM: A full walk through of the SGEMM implementation, by Scott Gray (2017)
- PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation, by Melissa E. O’Neill (2014)
- Scrambled Linear Pseudorandom Number Generators, by Blackman and Vigna (2018)
- Benchmarking and Dissecting the Nvidia Hopper GPU Architecture, by Luo, Fan, et al (2024)
other
- How Complex Systems Fail, by Richard Cook (2000)
- A Layered Grammar of Graphics, by Hadley Wickham (2010)