Eine Nominierung für den Turing Award kann jede natürliche Person aussprechen, sie muss aber neben einem Lebenslauf des Nominierten auch ein Begründungsschreiben (200 bis 500 Worte) und mindestens drei substantielle Unterstützerbriefe möglichst prominenter Vertreter des jeweiligen Fachbereichs enthalten. Obwohl Langzeiteinflüsse des Schaffens berücksichtigt werden, sollte der Vorgeschlagene eine hervorzuhebende Einzelleistung vollbracht haben. Die Vorschläge werden in einem Komitee geprüft, dem in der Regel u. a. mehrere vorherige Preisträger angehören.
Verliehen wird der Award auf dem jährlichen ACM Awards Banquet jeweils für das Jahr zuvor. Die Preisträger halten anlässlich ihrer Preisverleihung auf einer beliebigen ACM-Konferenz eine besondere Vorlesung, die Turing Award Lecture, in der sie ihre Sichtweisen und Erfahrungen in zentralen Bereichen der Informatik darlegen.
Der Preis ist seit der Verleihung für 2014 mit einer Million US-Dollar dotiert, die von Google gesponsert werden. Zuvor lag die Dotierung seit 2007 bei 250.000 Dollar mit Intel als Co-Sponsor. Vier Jahre davor war das Preisgeld von 25.000 auf 100.000 Dollar erhöht worden.
Preisträger
Der erste Preisträger war 1966 Alan J. Perlis, der zuvor Präsident der ACM gewesen war und später den Ausdruck der Turing Tarpit (für eine sehr flexible Programmiersprache, die aber schwierig zu erlernen und in der Praxis anzuwenden ist) prägte. Mit Frances E. Allen erhielt 40 Jahre später erstmals eine Frau die Auszeichnung. 1975 ging der Preis erstmals an mehr als eine Person (Allen Newell und Herbert A. Simon, die sich zusammen mit künstlicher Intelligenz befassten).
Rund zwei Drittel der Awards gingen an US-amerikanische Staatsbürger.
Jahr
Bild
Person
Leistung
Einrichtung(en), an denen die Leistung erbracht wurde und/oder auf diese vorbereiteten
Für den Bau des EDSAC, des ersten Computers mit intern gespeicherten Programmen, sowie zusammen mit David Wheeler und Stanley Gill die effektive Einführung von Programmbibliotheken mit dem Werk Preparation of Programs for Electronic Digital Computers
Für Programmiersprachen und mathematische Notation, Implementierung interaktiver Systeme, Nutzung von APL in der Ausbildung, sowie Beiträge zur Theorie und Praxis der Programmiersprachen
Für die Theorie und Praxis der Datenbankmanagementsysteme, speziell Relationale Datenbanken, die er in einer Serie von Papers um A Relational Model of Data for Large Shared Data Banks entwickelt hat, womit er die Grundlagen für weitere Forschungen zu Datenbanksprachen, Abfrage-Subsystemen, Datenbanksemantik, Locking und Recovery und inferenzielle Datenanalyse legte
Für die Algorithmentheorie, insbesondere die Entwicklung effizienter Algorithmen für den Netzwerkfluss und andere kombinatorische Optimierungsprobleme, die Identifikation der Berechenbarkeit in Polynomialzeit und Beiträge zur Theorie der NP-Vollständigkeit, wo er eine Methodik zu deren Nachweis entwickelt hat
Für die Compilertheorie und -design, Architektur großer Systeme, Entwurf der RISC-Architektur; insbesondere für die Entdeckung und Systematisierung vieler zur Optimierung von Compilern grundlegender Transformationen, wie die Verringerung der Operatorstärke, Eliminierung verbreiteter Unterausdrücke und von totem Code, Registerallokation und Konstantenausbreitung
Für die Computergrafik, angefangen mit der Entwicklung von Sketchpad, das viele wichtige Techniken einführte, später auch die Entwicklung eines Lorgnons zur Betrachtung von Stereobildern, und eleganter Algorithmen zur Registrierung digitalisierter Ansichten, Polygon-Clipping und Oberflächenrepräsentation mit überdeckten Linien
Für das Konzept und die Koordination der Entwicklung des Compatible Time-Sharing System und Multics (das viele wichtige Konzepte und Techniken einführte und viele spätere Systeme beeinflusste; Corbatós taktbasierter Seitenauslagerungsalgorithmus wird seither in praktisch allen Virtuellen Speichersystemen verwendet), dabei Pionierarbeit in vielen Software-Engineering-Techniken, wie Datenkapselung durch erzwungene Abstraktion
Für verteilte, personalisierte Computerumgebungen (nach dem Paradigma Personalcomputer/LAN/Server statt Terminal/Mainframe) und die Technologie für deren Umsetzung: Workstations, Netzwerke, Betriebssysteme, Displays, Sicherheit und Dokumenten-Publishing
Für das Design und die Konstruktion großer Systeme künstlicher Intelligenz, mit denen die praktische Wichtigkeit und der kommerzielle Einfluss der KI-Technologie demonstriert wurde (Reddy: Spracherkennung, Feigenbaum: regelbasierte Expertensysteme)
Für Temporale Logik; Programm- und Systemverifizierung, insbesondere bei nebenläufigen und reaktiven Systemen (mit dem Paper The Temporal Logic of Programs)
Für seine Zukunftsvision des interaktiven Computers, Erfindung von Schlüsseltechnologien für deren Realisierung (die Maus, Fenster, Hyperlinks, Telekonferenzen, Online-Publishing)
Für das Aufkommen der objektorientierten Programmierung fundamentale Ideen durch das Design der Simula-Programmiersprachen, die Konzepte wie Objekte, Klassen und Vererbung einführten
The Development of the Key Object-Oriented Concepts (Der Vortrag wurde nicht gehalten, da beide Preisträger zuvor verstarben)
Für Beiträge zum Design von Programmiersprachen und der Definition von Algol 60, Compilerdesign (mit Jørn Jensen Implementierung des GIER Algol Compilers, der Prozeduren vollständig unterstützte, abstrakte Typprüfung und Testabdeckungsprüfung anbot) und der Kunst und Praxis des Programmierens (Einführung von Assertions, Verwendung von strukturierter Programmierung)
Für Theorie und Praxis der Compileroptimierung, Grundlagenlegung für die moderne automatische Programmoptimierung und Parallelverarbeitung (alleine, etwa mit dem Paper Program Optimization, das graphentheoretische Strukturen in die Optimierungsanalyse einführte, und zusammen mit John Cocke)
Für die Entwicklung der von Clarke/Emerson und Sifakis unabhängig voneinander begründeten Modellprüfung zu einer effektiven, in Hard- und Softwareindustrie weitverbreiteten Verifizierungstechnik
The Quest for Correctness – Beyond Verification (PDF, QuickTime (MOV-Datei; 0 kB); später in überarbeiteter Form mit den anderen beiden wiederveröffentlicht)
Für Beiträge zu Programmiersprachen- und Betriebssystemdesign, insbesondere im Zusammenhang mit Datenabstraktion, Modularität, Fehlertoleranz, Persistenz und verteiltem Rechnen
Für Pionierarbeit am Design und der Umsetzung des Alto, dem ersten Personal Computer mit grafischer Benutzeroberfläche, und Beiträge zur Entwicklung von Ethernet und Tablet-PCs
Für maßgebliche Beiträge zur Komplexitätstheorie, insbesondere der Computational learning theory (mit der Einführung des PAC-Modells), der Aufzählungs- und algebraischen Berechnungskomplexität und der Theorie parallelen und verteilten Rechnens
Für die Schaffung der komplexitätstheoretischen Grundlagen der Kryptographie und damit Wegbereitung für neue Methoden zur effizienten Verifikation mathematischer Beweise in der Komplexitätstheorie
Für grundlegende Algorithmen und Theorien, die der Implementierung von Programmiersprachen zugrunde liegen, und für die Synthese dieser und Ergebnisse anderer in ihren einflussreichen Büchern, mit denen Generationen von Informatikern ausgebildet wurden.
Für Beiträge zu numerischen Algorithmen und Bibliotheken, die bei Hochleistungs-Computersoftware zu einer ebenso exponentiellen Verbesserung führte, wie bei der Hardware.
für grundlegende Beiträge zur Berechnungstheorie, einschließlich der Neugestaltung unseres Verständnisses der Rolle des Zufalls in der Berechnung, und für seine jahrzehntelange intellektuelle Führung in der theoretischen Informatik.
Im Juni 2012, 100 Jahre nach Alan Turings Geburt, trafen sich 33 Träger des Turing Awards zur ACM Turing Centenary Celebration in San Francisco, um sich in Vorträgen und Podiumsdiskussionen zu Themen wie Information, Data, Security in a Networked Future oder An Algorithmic View of the Universe auszutauschen.