Turing Award
The AM Turing Award , named after Alan Turing , is presented annually by the Association for Computing Machinery (ACM) to people who have made particular contributions to the development of computer science . It is considered the highest honor in computer science, comparable to the Nobel Prize or the Fields Medal .
procedure
A nomination for the Turing Award can be made by any natural person, but in addition to a curriculum vitae of the nominee, it must also contain a letter of reason (200 to 500 words) and at least three substantial letters of support from prominent representatives of the respective department. Although longterm influences of the creative process are taken into account, the proposed person should have achieved an individual achievement to be emphasized. The proposals are examined in a committee, which usually includes a. include several previous award winners.
The award is presented at the annual ACM Awards Banquet for the previous year. On the occasion of their award ceremony, the winners hold a special lecture at any ACM conference, the Turing Award Lecture , in which they present their views and experiences in key areas of computer science.
The award will be endowed with one million US dollars for 2014, which is sponsored by Google . Previously, the endowment since 2007 was $ 250,000 with Intel as a cosponsor. Four years earlier, the prize pool had increased from $ 25,000 to $ 100,000.
Award winners
The first winner in 1966 was Alan J. Perlis , who had previously been President of the ACM and who later coined the term Turing tarpit (for a very flexible programming language that is difficult to learn and use in practice). With Frances Allen 40 years later received the first woman the award. In 1975 the prize went to more than one person for the first time ( Allen Newell and Herbert A. Simon , who worked together on artificial intelligence ).
Around two thirds of the awards went to US citizens.
year  image  person  power  Turing Award Lecture 

1966 
Alan J. Perlis (1922–1990, ) 
Advanced programming techniques and compiler building  The Synthesis of Algorithmic Systems  
1967 
Maurice V. Wilkes (19132010, ) 
Construction of the EDSAC , the first computer with internally stored programs , and, together with David Wheeler and Stanley Gill, the effective introduction of program libraries with the work Preparation of Programs for Electronic Digital Computers  Computers Then and Now  
1968 
Richard Hamming (1915–1998, ) 
Numerical methods , codegenerating systems, errordetecting and errorcorrecting codes  One Man's View of Computer Science  
1969 
Marvin Minsky (19272016, ) 
Artificial intelligence  Form and Content in Computer Science  
1970 
James H. Wilkinson (1919–1986, ) 
Numerical math , linear algebra , "backward" error analysis  Some Comments from a Numerical Analyst  
1971 
John McCarthy (19272011, ) 
Artificial intelligence 
Generality in Artificial Intelligence (published in revised form 1986) 

1972 
Edsger W. Dijkstra (1930–2002, ) 
Technology and terminology of the programming languages  The Humble Programmer  
1973 
Charles Bachman (19242017, ) 
Database techniques  The Programmer as Navigator  
1974 
Donald E. Knuth (* 1938, ) 
Analysis of algorithms and design of programming languages, especially the contributions to the art of programming in The Art of Computer Programming  Computer Programming as an Art  
1975 
Allen Newell (19271992, ) 
Artificial intelligence, psychology of human knowledge, list processing (originally with John Clifford Shaw )  Computer Science as Empirical Inquiry: Symbols and Search  
Herbert A. Simon (19162001, ) 

1976 
Michael O. Rabin (* 1931, ) 
Nondeterministic automata (introduced in the paper Finite Automata and Their Decision Problem )  Complexity of Computations  
Dana Scott (* 1932, ) 
Logic and Programming Languages  
1977 
John W. Backus (19242007, ) 
Higher programming languages (especially Fortran ), formal procedures for the specification of programming languages  Can Programming Be Liberated From the von Neumann Style? A Functional Style and its Algebra of Programs, PDF file  
1978 
Robert Floyd (19362001, ) 
Methods for the generation of efficient and reliable programs, and help with the establishment of the computer science subfields parser theory , programming language semantics , automatic program verification and synthesis as well as algorithm analysis  The Paradigms of Programming  
1979 
Kenneth E. Iverson (19202004 ) 
Programming languages and mathematical notation, implementation of interactive systems, use of APL in training, as well as contributions to the theory and practice of programming languages  Notation as a Tool of Thought  
1980 
Tony Hoare (* 1934, ) 
Definition and design of programming languages  The Emperor's Old Clothes  
1981 
Edgar F. Codd (19232003, ) 
Theory and practice of database management systems , especially relational databases , which he developed in a series of papers on A Relational Model of Data for Large Shared Data Banks , with which he laid the foundations for further research on database languages, query subsystems, database semantics, locking and recovery and put inferential data analysis  Relational Database: A Practical Foundation for Productivity  
1982 
Stephen A. Cook (* 1939, ) 
Complexity theory , especially the theory of NPcompleteness founded in the paper The Complexity of Theorem Proving Procedures  An Overview of Computational Complexity ( Memento from January 17, 2006 in the Internet Archive ) (PDF file; 969 kB)  
1983 
Ken Thompson (* 1943, ) 
Basic operating system theory , implementation of Unix  Reflections on Trusting Trust ( Memento dated December 6, 2011 on WebCite )  
Dennis Ritchie (1941–2011, ) 
Reflections on Software Research  
1984 
Niklaus Wirth (* 1934, ) 
Development of several programming languages: Euler , Algol W , Modula and especially Pascal  From Programming Language Design to Computer Construction  
1985 
Richard M. Karp (* 1935, ) 
Algorithm theory, in particular the development of efficient algorithms for network flow and other combinatorial optimization problems , the identification of computability in polynomial time and contributions to the theory of NPcompleteness , where he developed a methodology for their detection  Combinatorics, Complexity, and Randomness ( Memento from January 17, 2006 in the Internet Archive ) (PDF file; 1.22 MB)  
1986 
John E. Hopcroft (* 1939, ) 
Design and analysis of algorithms and data structures  Computer Science: The Emergence Of A Discipline (PDF file; 494 kB)  
Robert Tarjan (* 1948, ) 
Algorithm Design (PDF file; 944 kB)  
1987 
John Cocke (19252002, ) 
Compiler theory and design, architecture of large systems, design of RISC architecture; in particular for the discovery and systematisation of many transformations that are fundamental to the optimization of compilers, such as reducing operator strength, eliminating common subexpressions and dead code, register allocation and constant propagation  The Search For Performance In Scientific Processors (PDF file; 402 kB)  
1988 
Ivan Sutherland (* 1938, ) 
Computer graphics , starting with the development of Sketchpad , which introduced many important techniques, later also the development of a lorgnon for viewing stereo images, and elegant algorithms for registering digitized views, polygon clipping and surface representation with covered lines  Micropipelines (PDF file; 3.01 MB)  
1989 
William Kahan (* 1933, ) 
Numerical mathematics, especially floating point calculations, with the development and propagation of the IEEE 754 and IEEE 854 standards  
1990 
Fernando José Corbató (1926–2019, ) 
Concept and coordination of the development of the Compatible TimeSharing System and Multics (which introduced many important concepts and techniques and influenced many later systems; Corbató's clockbased paging algorithm has since been used in practically all virtual storage systems), with pioneering work in many software engineering techniques, like data encapsulation through forced abstraction  On Building Systems That Will Fail (PDF file; 997 kB)  
1991 
Robin Milner (19342010, ) 

Elements of Interaction (PDF file; 1.38 MB)  
1992 
Butler Lampson (* 1943, ) 
Distributed, personalized computer environments (based on the paradigm personal computer / LAN / server instead of terminal / mainframe) and the technology for their implementation: workstations, networks, operating systems, displays, security and document publishing  Principles for Computer System Design ( DOC , PDF , HTML ) 

1993 
Juris Hartmanis (* 1928, ) 
Justification of the complexity theory with the paper On the Computational Complexity of Algorithms  On Computational Complexity and the Nature of Computer Science  
Richard E. Stearns (* 1936, ) 
It's Time to Reconsider Time (PDF file; 736 kB)  
1994 
Edward Feigenbaum (* 1936, ) 
Design and construction of large artificial intelligence systems that demonstrated the practical importance and commercial impact of AI technology (Reddy: speech recognition, Feigenbaum: rulebased expert systems)  How the “What” Becomes the “How” (PDF file; 322 kB)  
Raj Reddy (* 1937, ) 
To Dream The Possible Dream (PDF file; 207 kB)  
1995 
Manuel Blum (* 1938, ) 
Complexity theory and its application in cryptography and program testing  
1996 
Amir Pnueli (1941–2009, ) 
Temporal logic; Program and system verification, especially for concurrent and reactive systems (with the paper The Temporal Logic of Programs ) 
Verification Engineering: A Future Profession ( GZIP ; 70 kB) (PostScript) 

1997 
Douglas C. Engelbart (1925–2013, ) 
Future vision of the interactive computer, invention of key technologies for their realization (the mouse, windows, hyperlinks, teleconferences, online publishing)  Collective IQ and a framework for bootstrapping our society  
1998 
Jim Gray (1944–2012, ) 
Databases and transaction processing, and technical leadership in system implementation from prototypes to commercial products  What Next? A Few Remaining Problems in Information Technology (PDF file; 2.71 MB)  
1999 
Frederick P. Brooks (* 1931, ) 
Computer architecture , operating systems , software engineering 
The Design of Design ( Memento from June 23, 2007 in the Internet Archive ) (WMV) 

2000 
Andrew Yao (* 1946, ) 
Computability theory , especially the complexitybased theory of pseudorandom number generation , cryptography and communication complexity  
2001 
OleJohan Dahl (1931–2002, ) 
Fundamental ideas for the advent of objectoriented programming through the design of the Simula programming languages that introduced concepts such as objects, classes, and inheritance  The Development of the Key ObjectOriented Concepts (The lecture was not given because both award winners had passed away) 

Kristen Nygaard (19262002, ) 

2002 
Ronald L. Rivest (* 1947, ) 
Asymmetrical encryption algorithms , especially RSA , and their practical applicability  The Early Days of RSA  History and Lessons ( HTMLSlides , QuickTime , Shockwave , MP3 ) 

Adi Shamir (* 1952, ) 
Cryptography: State Of The Science ( HTMLSlides , QuickTime , Shockwave , MP3 ) 

Leonard Adleman (* 1945, ) 
PreRSA ( HTML Slides , QuickTime , Shockwave , MP3 ) 

2003 
Alan Kay (* 1940, ) 
Basic ideas of modern objectoriented programming languages with the development of Smalltalk and their graphical development environment, as well as the integration of their concept in the Xerox Alto and the Dynabook and thus contributions to personal computing 
The Computer Revolution Hasn't Happened Yet (MOV file; 0 kB) (QuickTime) 

2004 
Vinton G. Cerf (* 1943, ) 
Internet, especially development of TCP / IP 
(none, instead a panel discussion ; MOV file; 0 kB) (QuickTime) 

Robert E. Kahn (* 1938, ) 

2005 
Peter Naur (1928–2016, ) 
Contributions to the design of programming languages and the definition of Algol 60 , compiler design (with Jørn Jensen implementation of the GIER Algol compiler, which offered procedures fully supported, abstract type checking and test coverage checking) and the art and practice of programming (introduction of assertions, use of structured programming ) 
Computing vs. Human Thinking (MOV file; 0 kB) (QuickTime) 

2006 
Frances E. Allen (19322020, ) 
Theory and practice of compiler optimization, laying the foundations for modern automatic program optimization and parallel processing (alone, for example with the paper Program Optimization, which introduced graphtheoretic structures into the optimization analysis, and together with John Cocke ) 
Compiling for Performance  A Personal Tour (MOV file; 0 kB) (QuickTime) 

2007 
Edmund M. Clarke (* 1945, ) 
Development of the model testing established independently by Clarke / Emerson and Sifakis into an effective verification technique widely used in the hardware and software industry 
Model Checking  My 27 year quest to overcome the State Explosion problem (MOV file; 0 kB) (QuickTime, later republished in a revised form with the other two ) 

E. Allen Emerson (* 1954, ) 
Model Checking: A Bird'sEye View (MOV file; 0 kB) (QuickTime, later rereleased with the other two in a revised form ) 

Joseph Sifakis (* 1946, ) 
The Quest for Correctness  Beyond Verification ( PDF , QuickTime (MOV file; 0 kB); later republished in a revised form with the other two ) 

2008 
Barbara Liskov (* 1939, ) 
Contributions to programming language and operating system design, especially in connection with data abstraction, modularity, fault tolerance , persistence and distributed computing  The Power of Abstraction  
2009 
Charles P. Thacker (19432017, ) 
Pioneered the design and implementation of the Alto, the first personal computer with a graphical user interface, and contributed to the development of Ethernet and tablet PCs  Improving the Future by Examining the Past  
2010 
Leslie Valiant (* 1949, ) 
Significant contributions to complexity theory, especially computational learning theory (with the introduction of the PAC model), enumeration and algebraic computational complexity and the theory of parallel and distributed computing 
The Extent and the Limitations of Mechanistic Explanations of Nature (Flash) 

2011 
Judea Pearl (* 1936, ) 
Fundamental contributions to artificial intelligence through the development of a calculus for probabilistic and causalistic reasoning 
The Mechanization of Causal Inference: A "mini" Turing Test And Beyond (Flash) 

2012 
Silvio Micali (* 1954, ) 
Creation of the complexitytheoretical foundations of cryptography and thus preparation for new methods for the efficient verification of mathematical proofs in complexity theory 
Proof According to Silvio (Flash) 

Shafi Goldwasser (* 1958, ) 
The Cryptographic Lens (Flash) 

2013 
Leslie Lamport (* 1941, ) 
Fundamental contributions to the theory and practice of distributed and concurrent systems 
An Incomplete History of Concurrency (Flash) 

2014 
Michael Stonebraker (* 1943, ) 
Contributions to the concepts and procedures underlying modern database systems 
Postgres (Flash) 

2015 
Whitfield Diffie (* 1944, ) 
Outstanding contributions to modern cryptography  The Evolving Meaning of Information Security (PDF file; 732.9 kB)  
Martin E. Hellman (* 1945, ) 

2016 
Tim BernersLee (* 1955, ) 
World Wide Web , first web browser and basic protocols and algorithms that make the web scale 
The World Wide Web (YouTube video) 

2017 
John L. Hennessy (* 1952, ) 
Novel approach to the design and evaluation of computer architectures with lasting effects on the microprocessor industry. 
A Golden Age for Computer Architecture (YouTube video) 

David A. Patterson (* 1947, ) 

2018 
Yoshua Bengio (* 1964 ,, born in ) 
Neural networks and deep learning .  
Yann LeCun (* 1960, ) 

Geoffrey Hinton (* 1947, ) 

2019 
Edwin Catmull (* 1945, ) 
Fundamental contributions to 3D computer graphics and the influence of these techniques on computer generated images (CGI) in filmmaking and other applications.  
Pat Hanrahan (* 1955, ) 
Turing Centenary Celebration
In June 2012, 100 years after Alan Turing's birth, 33 winners of the Turing Awards met for the ACM Turing Centenary Celebration in San Francisco to hold lectures and panel discussions on topics such as Information, Data, Security in a Networked Future or An Algorithmic View of to exchange the universe .
Web links
 AM Turing Award at ACM (English)
 Turing Centenary Celebration (English)