| 2025 |
Charles H. Bennett, Gilles Brassard |
Quantum information, cryptography |
“Quantum Cryptography: Public Key Distribution and Coin Tossing” |
| 2024 |
Andrew Barto, Richard Sutton |
Reinforcement learning |
Reinforcement Learning: An Introduction |
| 2023 |
Avi Wigderson |
Complexity theory |
Mathematics and Computation |
| 2022 |
Robert Metcalfe |
Networking |
“Ethernet: Distributed Packet Switching for Local Computer Networks” |
| 2021 |
Jack Dongarra |
Numerical linear algebra, HPC |
Templates for the Solution of Linear Systems |
| 2020 |
Alfred V. Aho, Jeffrey D. Ullman |
Compilers, algorithms |
Compilers: Principles, Techniques, and Tools |
| 2019 |
Edwin Catmull, Patrick Hanrahan |
Computer graphics |
“A Subdivision Algorithm for Computer Display of Curved Surfaces”; “Ray Tracing Volume Densities” |
| 2018 |
Yoshua Bengio, Geoffrey Hinton, Yann LeCun |
Deep learning |
“Learning Representations by Back-Propagating Errors”; “Gradient-Based Learning Applied to Document Recognition” |
| 2017 |
John Hennessy, David Patterson |
Computer architecture |
Computer Architecture: A Quantitative Approach |
| 2016 |
Tim Berners-Lee |
Web |
“Information Management: A Proposal” |
| 2015 |
Whitfield Diffie, Martin Hellman |
Public-key cryptography |
“New Directions in Cryptography” |
| 2014 |
Michael Stonebraker |
Databases |
“The Design and Implementation of INGRES” |
| 2013 |
Leslie Lamport |
Distributed systems |
“Time, Clocks, and the Ordering of Events in a Distributed System” |
| 2012 |
Shafi Goldwasser, Silvio Micali |
Cryptography, complexity |
“Probabilistic Encryption” |
| 2011 |
Judea Pearl |
AI, causal inference |
Causality |
| 2010 |
Leslie Valiant |
Complexity, learning theory |
“A Theory of the Learnable” |
| 2009 |
Charles P. Thacker |
Computer systems |
“Alto: A Personal Computer” |
| 2008 |
Barbara Liskov |
Programming languages, distributed systems |
“Data Abstraction and Hierarchy” |
| 2007 |
Edmund Clarke, E. Allen Emerson, Joseph Sifakis |
Model checking |
“Automatic Verification of Finite-State Concurrent Systems” |
| 2006 |
Frances E. Allen |
Optimizing compilers |
“Control Flow Analysis” |
| 2005 |
Peter Naur |
Programming languages |
Revised Report on the Algorithmic Language ALGOL 60 |
| 2004 |
Vinton Cerf, Robert Kahn |
Internet protocols |
“A Protocol for Packet Network Intercommunication” |
| 2003 |
Alan Kay |
Personal computing, OOP |
“The Early History of Smalltalk” |
| 2002 |
Ronald Rivest, Adi Shamir, Leonard Adleman |
Cryptography |
“A Method for Obtaining Digital Signatures and Public-Key Cryptosystems” |
| 2001 |
Ole-Johan Dahl, Kristen Nygaard |
Object-oriented programming |
“SIMULA: An ALGOL-Based Simulation Language” |
| 2000 |
Andrew Yao |
Theory, cryptography |
“Protocols for Secure Computations” |
| 1999 |
Frederick Brooks |
Software engineering |
The Mythical Man-Month |
| 1998 |
Jim Gray |
Databases, transactions |
“Granularity of Locks and Degrees of Consistency in a Shared Data Base” |
| 1997 |
Douglas Engelbart |
Interactive computing |
“A Conceptual Framework for the Augmentation of Man’s Intellect” |
| 1996 |
Amir Pnueli |
Temporal logic, verification |
“The Temporal Logic of Programs” |
| 1995 |
Manuel Blum |
Complexity, cryptography |
“A Machine-Independent Theory of the Complexity of Recursive Functions” |
| 1994 |
Edward Feigenbaum, Raj Reddy |
AI, expert systems, speech |
The Handbook of Artificial Intelligence |
| 1993 |
Juris Hartmanis, Richard Stearns |
Computational complexity |
“On the Computational Complexity of Algorithms” |
| 1992 |
Butler Lampson |
Computer systems |
“Hints for Computer System Design” |
| 1991 |
Robin Milner |
Programming languages, concurrency |
Communication and Concurrency |
| 1990 |
Fernando Corbato |
Operating systems |
“An Experimental Time-Sharing System” |
| 1989 |
William Kahan |
Numerical analysis, floating point |
“Pracniques: Further Remarks on Reducing Truncation Errors” |
| 1988 |
Ivan Sutherland |
Computer graphics |
“Sketchpad: A Man-Machine Graphical Communication System” |
| 1987 |
John Cocke |
Compilers, RISC |
“The 801 Minicomputer” |
| 1986 |
John Hopcroft, Robert Tarjan |
Algorithms, data structures |
“Efficient Algorithms for Graph Manipulation” |
| 1985 |
Richard Karp |
Algorithms, complexity |
“Reducibility Among Combinatorial Problems” |
| 1984 |
Niklaus Wirth |
Programming languages |
Algorithms + Data Structures = Programs |
| 1983 |
Ken Thompson, Dennis Ritchie |
Unix, C |
“The UNIX Time-Sharing System” |
| 1982 |
Stephen Cook |
Complexity theory |
“The Complexity of Theorem-Proving Procedures” |
| 1981 |
Edgar F. Codd |
Relational databases |
“A Relational Model of Data for Large Shared Data Banks” |
| 1980 |
C. A. R. Hoare |
Programming logic, concurrency |
“An Axiomatic Basis for Computer Programming” |
| 1979 |
Kenneth Iverson |
Array programming |
A Programming Language |
| 1978 |
Robert Floyd |
Algorithms, program verification |
“Assigning Meanings to Programs” |
| 1977 |
John Backus |
Programming languages |
“Can Programming Be Liberated from the von Neumann Style?” |
| 1976 |
Michael Rabin, Dana Scott |
Automata theory |
“Finite Automata and Their Decision Problems” |
| 1975 |
Allen Newell, Herbert Simon |
AI, cognitive science |
“Computer Science as Empirical Inquiry” |
| 1974 |
Donald Knuth |
Algorithms |
The Art of Computer Programming |
| 1973 |
Charles Bachman |
Databases |
“The Programmer as Navigator” |
| 1972 |
Edsger Dijkstra |
Programming, algorithms |
“Go To Statement Considered Harmful” |
| 1971 |
John McCarthy |
AI, Lisp |
“Recursive Functions of Symbolic Expressions and Their Computation by Machine” |
| 1970 |
James Wilkinson |
Numerical analysis |
Rounding Errors in Algebraic Processes |
| 1969 |
Marvin Minsky |
AI |
Perceptrons |
| 1968 |
Richard Hamming |
Coding theory, numerical methods |
“Error Detecting and Error Correcting Codes” |
| 1967 |
Maurice Wilkes |
Computer architecture |
Preparation of Programs for an Electronic Digital Computer |
| 1966 |
Alan Perlis |
Programming languages |
“The Synthesis of Algorithmic Systems” |
Below is one canonical book or article for each ACM Turing Award recipient. The year and recipient list follows ACM’s official chronological list.
https://amturing.acm.org/byyear.cfm