The challenge is simple. For every Turing award winner:
- read their award page
- skim their wikipedia page
- read one or two of their most cited papers
- read a paper about their works realized in modern systems.
You get bonus points if you read or watch their Turing Award speech.
You are encouraged to find the papers yourself (using Google Scholar or the annotated biblios), but you can cheat with the list below. Some of text below has been extracted from The ACM Award Wikipedia page, which is extracted from the ACM Winners' pages.
If I have seen further it is by standing on the shoulders of giants. - Sir Isaac Newton; 1676.
-
1966 - Alan J. Perlis
For his influence in the area of advanced computer programming techniques and compiler construction.
ALGOL, numeric and algorithmic computations, defining the field of computer science, establishing a notion of software metrics. Known for many famous CS quotes, including, "It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures."
His musings set a trend that still exists today, analyzing the economics of software engineering. Perlis blazed a trail that others became famous for - Boehm, McCabe, Jones, etc.
- Alan Perlis ACM Award Page
- Annotated Bibliography
- ACM Award Speech - The Synthesis of Algorithmic Systems
- Social processes and proofs of theorems and programs
- What is computer science?
- 1983 - Barry Boehm's Software Engineering Economics
- 1999 - David Parnas's Software Engineering Programs are not Computer Science Programs
-
1967 - Maurice V. Wilkes
Professor Wilkes is best known as the builder and designer of the EDSAC, the first computer with an internally stored program. Built in 1949, the EDSAC used a mercury delay line memory. He is also known as the author, with Wheeler and Gill, of a volume on "Preparation of Programs for Electronic Digital Computers" in 1951, in which program libraries were effectively introduced. That was the first textbook, ever, on programming.
Our fundamental notions of microprogramming, computer architecture, parallel capabilties, version control, and later in life details in OS and time sharing systems, have their roots in Wilkes' work. Symbolic labels within programs, macros, subroutines - the list goes on, all works routed in Wilkes' work. Towards the end of his career and life, he began pioneering the work for capability-based computing - work that is still being explored and considered cutting-edge today.
- Maurice Wilkes ACM Award Page
- Annotated Bibliography
- ACM Award Speech - Computers Then and Now
- The best way to design an automatic calculating machine
- 1993 Fisher et. al./HP Labs's Instruction-level parallel processing: history, overview, and perspective
- 2014 Feske's Genode as a general-purpose OS; Slides only.
-
1968 - Richard W. Hamming
For his work on numerical methods, automatic coding systems, and error-detecting and error-correcting codes.
The Manhattan Project, Bell Labs' infamous "Young Turks", IBMs elite OS group - Hamming was members of all of them.
Equal parts brillian mathematician, rogue physicist, computer scientist, and educator, Hamming made contributions all over the place. Basically everything we use hinges on error-correcting codes or Hamming Distance. "The purpose of computing is insight, not numbers."
- Richard Hamming ACM Award Page
- Annotated Bibliography
- ACM Award Speech - One Man's View of Computer Science
- Error detecting and error correcting codes
- The Unreasonable Effectiveness of Mathematics
- 2009 Halevy, Norvig, Pereira's The Unreasonable Effectiveness of Data
- 2005 Wang et. al.'s Distributed Fault-Tolerant Classification in Wireless Sensor Networks