|
1997 – Douglas Engelbart
Citation
"For an inspiring vision of the future of interactive computing and the invention of key technologies to help realize this vision."
More than any other single person, Douglas Engelbart is responsible for an inspiring vision of the potential of computing to augment human intelligence. In particular, it was his vision of a computer and communications based working environment, and invention of key tools and systems that helped start the personal computer revolution that has changed how we live and work. Engelbart's many innovations include the ubiquitous computer mouse, multiple on screen windows, linked hypermedia, shared screen teleconferencing and computer aided meetings as well as online publishing.
1998 – Jim Gray
Citation
"For seminal contributions to database and transaction processing research and technical leadership in system implementation."
For fundamental contributions to database and transaction processing research and technical leadership in system implementation from research prototypes to commercial products. The transaction is the fundamental abstraction underlying database system concurrency and failure recovery. Gray's work led to the definition of the desired key transaction properties: atomicity, consistency, isolation and durability; and his locking and recovery work demonstrated how to build database systems that exhibit these properties. His fault tolerance work explained how to use transactions to achieve high system availability.
1999 – Frederick P. Brooks
Citation
"For landmark contributions to computer architecture, operating systems, and software engineering."
Frederick P. Brooks Jr. has made landmark contributions to computer architecture, operating systems, and software engineering ' contributions that have stood the test of time and shaped the way we think about computing.
Dr. Brooks received the A.B. in Physics from Duke University in 1953, and completed his Ph.D. in Computer Science from Harvard University in 1956, under Howard Aiken.
Dr. Brooks joined the IBM Corporation in 1956. He was an architect of the Stretch and Harvest computers, and there coined the term "computer architecture." With Dura Sweeney, he invented a Stretch interrupt system that introduced most of the features of today's interrupt systems. Later, as manager for the development of IBM's System/360 family of computers and Operating System/360 software, and he led the team that first achieved strict compatibility, upward and downward, in a computer family. His early concern for word processing led to his selection of the 8-bit byte, the decision to make the byte the addressable unit, and the inclusion of the full character set. All of these concepts are now universal practice. The 1997 book with G.A. Blaauw, Computer Architecture: Concepts and Evolution, documents and exemplifies the power of their 1960's innovation of thinking about computer design as separable domains: architecture, implementation, and realization.
Similarly, many of the technical innovations found in OS/360 - such as the approach to I/O handling and the method of transition between supervisor and user modes - are foundations of today's operating systems. Even more influential, though, is the distillation of the successes and failures of the development of OS/360 that Dr. Brooks captured in his 1975 book The Mythical Man-Month: Essays on Software Engineering. Today ' twenty-five years, two editions, and 300,000 copies later - this book remains a defining work in the field of software engineering.
In 1965, Dr. Brooks left IBM to found the Computer Science Department at the University of North Carolina at Chapel Hill. There, his research on real-time three-dimensional computer graphics has propelled that field forward, driven by the goal of creating tools to enable scientists and engineers to tackle problems formerly beyond their reach. He and his students built the first molecular graphics system on which a new protein structure was solved. They also first proved that haptic displays augmenting visual displays can significantly improve a scientist's understanding of data.
2000 – Andrew Chi-Chih Yao
Citation
"In recognition of his fundamental contributions to the theory of computation, including the complexity-based theory of pseudorandom number generation, cryptography, and communication complexity."
Andrew Yao gave the first convincing definition of a pseudorandom number generator; namely that its output sequences are not distinguishable from those of a truly random generator by any polynomial-time test. He proved that any generator satisfying the next bit test developed by Blum and Micali satisfied his definition, and showed that the discovery of any one-way function would lead to such a pseudorandom generator.
Dr. Yao introduced the important concept of communication complexity, which measures the minimum amount of interaction that two or more parties must have to jointly carry out some computation. He thus captured the essence of communication cost for distributed computation. His many contributions to complexity theory include proving the first exponential lower bound for the computation of an explicit function by a bounded-depth circuit. He has made seminal contributions to computational geometry, analysis of data structures, and quantum computing and communication.
2001 – Kristen Nygaard
Citation
"For ideas fundamental to the emergence of object oriented programming, through their design of the programming languages Simula I and Simula 67."
Object-oriented programming is a dominant programming paradigm of this age. Fundamental to the emergence of this paradigm were core concepts such as objects, classes, and inheritance with virtual quantities, all clearly established in Ole Johan Dahl's and Kristen Nygaard's discrete event simulation language Simula I and general programming language Simula 67. The objects integrate the data, procedural and (cooperating) action sequence aspects into one very general and powerful unifying entity.
By embodying these core concepts in a language designed both for system description and programming, Dahl and Nygaard provided not just a logical, but a notational basis for the ideas. Software could be built in layers of abstraction, each one relying on a description and conceptual platform implemented by the previous layers. By defining Simula 67 to be an extension of an international standard language, Algol-60, this medium of expression was accessible and available to the entire research community. Simula shaped and sped the emergence of object-oriented programming and the management discipline that accompanies it by many years.
2001 – Ole-Johan Dahl
Citation
"For ideas fundamental to the emergence of object oriented programming, through their design of the programming languages Simula I and Simula 67."
Object-oriented programming is a dominant programming paradigm of this age. Fundamental to the emergence of this paradigm were core concepts such as objects, classes, and inheritance with virtual quantities, all clearly established in Ole Johan Dahl's and Kristen Nygaard's discrete event simulation language Simula I and general programming language Simula 67. The objects integrate the data, procedural and (cooperating) action sequence aspects into one very general and powerful unifying entity.
By embodying these core concepts in a language designed both for system description and programming, Dahl and Nygaard provided not just a logical, but a notational basis for the ideas. Software could be built in layers of abstraction, each one relying on a description and conceptual platform implemented by the previous layers. By defining Simula 67 to be an extension of an international standard language, Algol-60, this medium of expression was accessible and available to the entire research community. Simula shaped and sped the emergence of object-oriented programming and the management discipline that accompanies it by many years.
2002 – Adi Shamir
Citation
"For their ingenious contribution for making public-key cryptography useful in practice."
Leonard M. Adleman, Ronald R. Rivest and Adi Shamir have been selected for their role in the creation of the world's most widely used public-key cryptography system, which has become known by their initials, RSA.
Their work was a significant advance in enabling secure communication among computers using public-key cryptography. Today, the RSA system is used in email systems, web browsers, secure shells, virtual private networks, mobile phones, and in many other applications requiring the secure exchange of information. The RSA algorithm made key management practical in public-key cryptography systems.
At the heart of the RSA encryption algorithm is the difficulty of factoring large integers. Factoring an integer involves finding the prime numbers which when multiplied together yield that integer. Despite the efforts of the world's most prominent mathematicians and computer scientists over the centuries, no one has yet found an effective way to factor large integers quickly.
To understand how RSA encryption works, suppose Alice and Bob want to communicate secretly without having to worry about Eve eavesdropping on their message exchanges. Alice secretly selects two prime numbers, usually at least one hundred digits long. She multiplies the two primes to create a "public key" which she can post on the Internet. If Bob wants to send a secret message to Alice, he fetches Alice's public key from the Internet and enters this key into the algorithm devised by Adleman, Rivest and Shamir to encrypt his message.
Here the essence of the RSA scheme manifests itself. Only Alice knows the prime factors that went into the creation of her public key and the RSA algorithm requires the recipient to know both factors to decipher the message. Since Alice chose the two factors, she of course can decrypt Bob's message and read it. Even though Eve can see the encrypted message and Alice's public key, Eve cannot decipher Bob's message so his communication to Alice remains secure.
Although the problem of factoring large integers into primes was suspected to be a computationally difficult problem, no one prior to the Adleman, Rivest and Shamir had understood how factoring could be effectively applied to the problem of generating public/private keys in the context of public-key cryptography.
2002 – Ronald L. Rivest
Citation
"For their ingenious contribution for making public-key cryptography useful in practice."
Leonard M. Adleman, Ronald R. Rivest and Adi Shamir have been selected for their role in the creation of the world's most widely used public-key cryptography system, which has become known by their initials, RSA.
Their work was a significant advance in enabling secure communication among computers using public-key cryptography. Today, the RSA system is used in email systems, web browsers, secure shells, virtual private networks, mobile phones, and in many other applications requiring the secure exchange of information. The RSA algorithm made key management practical in public-key cryptography systems.
At the heart of the RSA encryption algorithm is the difficulty of factoring large integers. Factoring an integer involves finding the prime numbers which when multiplied together yield that integer. Despite the efforts of the world's most prominent mathematicians and computer scientists over the centuries, no one has yet found an effective way to factor large integers quickly.
To understand how RSA encryption works, suppose Alice and Bob want to communicate secretly without having to worry about Eve eavesdropping on their message exchanges. Alice secretly selects two prime numbers, usually at least one hundred digits long. She multiplies the two primes to create a "public key" which she can post on the Internet. If Bob wants to send a secret message to Alice, he fetches Alice's public key from the Internet and enters this key into the algorithm devised by Adleman, Rivest and Shamir to encrypt his message.
Here the essence of the RSA scheme manifests itself. Only Alice knows the prime factors that went into the creation of her public key and the RSA algorithm requires the recipient to know both factors to decipher the message. Since Alice chose the two factors, she of course can decrypt Bob's message and read it. Even though Eve can see the encrypted message and Alice's public key, Eve cannot decipher Bob's message so his communication to Alice remains secure.
Although the problem of factoring large integers into primes was suspected to be a computationally difficult problem, no one prior to the Adleman, Rivest and Shamir had understood how factoring could be effectively applied to the problem of generating public/private keys in the context of public-key cryptography.
2002 – Leonard M. Adleman See the ACM Author Profile in the Digital Library
University of Southern California (2002)
Citation
"For their ingenious contribution for making public-key cryptography useful in practice."
Leonard M. Adleman, Ronald R. Rivest and Adi Shamir have been selected for their role in the creation of the world's most widely used public-key cryptography system, which has become known by their initials, RSA.
Their work was a significant advance in enabling secure communication among computers using public-key cryptography. Today, the RSA system is used in email systems, web browsers, secure shells, virtual private networks, mobile phones, and in many other applications requiring the secure exchange of information. The RSA algorithm made key management practical in public-key cryptography systems.
At the heart of the RSA encryption algorithm is the difficulty of factoring large integers. Factoring an integer involves finding the prime numbers which when multiplied together yield that integer. Despite the efforts of the world's most prominent mathematicians and computer scientists over the centuries, no one has yet found an effective way to factor large integers quickly.
To understand how RSA encryption works, suppose Alice and Bob want to communicate secretly without having to worry about Eve eavesdropping on their message exchanges. Alice secretly selects two prime numbers, usually at least one hundred digits long. She multiplies the two primes to create a "public key" which she can post on the Internet. If Bob wants to send a secret message to Alice, he fetches Alice's public key from the Internet and enters this key into the algorithm devised by Adleman, Rivest and Shamir to encrypt his message.
Here the essence of the RSA scheme manifests itself. Only Alice knows the prime factors that went into the creation of her public key and the RSA algorithm requires the recipient to know both factors to decipher the message. Since Alice chose the two factors, she of course can decrypt Bob's message and read it. Even though Eve can see the encrypted message and Alice's public key, Eve cannot decipher Bob's message so his communication to Alice remains secure.
Although the problem of factoring large integers into primes was suspected to be a computationally difficult problem, no one prior to the Adleman, Rivest and Shamir had understood how factoring could be effectively applied to the problem of generating public/private keys in the context of public-key cryptography.
2003 – Alan Kay
Citation
"For pioneering many of the ideas at the root of contemporary object-oriented programming languages, leading the team that developed Smalltalk, and for fundamental contributions to personal computing."
Full Citation
Alan Kay conceived Smalltalk and inspired its implementation and evolution over the last 35 years. Smalltalk was the first complete dynamic object-oriented programming language and development environment. It included a complete visual programming environment that was revolutionary at the time, but is now conventional.
Smalltalk's unification of objects and messages and its clear and simple foundation concepts have been widely influential. It represented a breakthrough in both language design and in programming metaphors, and thereby influenced the design of subsequent object-oriented languages like C++ and Java. Kay and his team of developers went on to use Smalltalk as a vehicle for teaching computing concepts at the elementary school level.
Smalltalk was part of a larger reconceptualization of computing which contributed to the emergence of personal computing. Kay envisioned Smalltalk as part of a "user-centered" approach to computing, which also led to the development of one of the basic components of the graphical user interface, overlapping screen windows. And Kay, along with others at Xerox Palo Alto Research Center, integrated these ideas into the earliest personal computer, the Xerox Alto. Kay's work and his concept of the "Dynabook," or a dynamic book, inspired a generation of computer scientists and engineers, and helped lay the intellectual foundations for the personal computer revolution.
2004 – Robert E Kahn
Citation
"For pioneering work on internetworking, including the design and implementation of the Internet's basic communications protocols, TCP/IP, and for inspired leadership in networking."
Vinton G. Cerf and Robert E. Kahn led the design and implementation of the Transmission Control Protocol and Internet Protocol (TCP/IP) that are the basis for current internetworking. They formulated fundamental design principles of networking, specified TCP/IP to meet these requirements, prototyped TCP/IP, and coordinated several early TCP/IP implementations. Since then, they have continued to provide leadership in the networking research community and in the emerging industries of internetworking and telecommunications.
2004 – Vinton Cerf
Citation
"For pioneering work on internetworking, including the design and implementation of the Internet's basic communications protocols, TCP/IP, and for inspired leadership in networking."
Full Citation
Vinton G. Cerf and Robert E. Kahn led the design and implementation of the Transmission Control Protocol and Internet Protocol (TCP/IP) that are the basis for current internetworking. They formulated fundamental design principles of networking, specified TCP/IP to meet these requirements, prototyped TCP/IP, and coordinated several early TCP/IP implementations. Since then, they have continued to provide leadership in the networking research community and in the emerging industries of internetworking and telecommunications.
2005 – Peter Naur
Citation
"For fundamental contributions to programming language design and the definition of Algol 60, to compiler design, and to the art and practice of computer programming."
Peter Naur was editor of the hugely-influential Report on the Algorithmic Language Algol 60, and directly responsible for the definition's rigor and for the language's elegance, uniformity and coherence. He extended a syntax definition notation due to John Backus to create the widely used Backus-Naur Form (BNF). He used BNF to define the Algol block-structured language, with dynamic and scoped variables, with recursion, call-by-name - all in 17 pages. Each of these concepts was a landmark advance in programming language design. The report was a breakthrough in establishing programming languages as objects of scientific study.
With Jørn Jensen, Naur implemented the GIER Algol compiler, one of the first to deal fully and correctly with the language's powerful procedure mechanisms. Its other innovations included abstract-type checking and code-coverage testing.
Naur pioneered the methodology for writing correct programs. He introduced the use of assertions (he called them "general snapshots") used to prove a program matches its specification, and was a leader in structured programming - by introducing block-structured control flow and scoping in Algol 60, and thereafter advocating a structured programming style (later characterized as "goto-less" programming). This work was continued very successfully by Floyd, Dijkstra, Hoare and others.
An astronomer by training, Naur carries out work that is formal and precise but that yet displays an exceptional understanding of the limits and uses of formalism and precision. Throughout his career Naur has been a leader in establishing Software Engineering as a discipline - converting program design from an art form to a subject with sound basic principles. He defined an influential computer science curriculum, called Datalogy, based on fundamental principles. His recent work has focused on programming as a human activity - exploring the social and ethical aspects of computing, and also the problems of writing programs to cater for evolving requirements.
2006 – Frances E Allen
Citation
For pioneering contributions to the theory and practice of optimizing compiler techniques that laid the foundation for modern optimizing compilers and automatic parallel execution.
Full Citation
Fran Allen's work has had an enormous impact on compiler research and practice. Both alone and in joint work with John Cocke, she introduced many of the abstractions, algorithms, and implementations that laid the groundwork for automatic program optimization technology. Allen's 1966 paper, "Program Optimization," laid the conceptual basis for systematic analysis and transformation of computer programs. This paper introduced the use of graph-theoretic structures to encode program content in order to automatically and efficiently derive relationships and identify opportunities for optimization. Her 1970 papers, "Control Flow Analysis" and "A Basis for Program Optimization" established "intervals" as the context for efficient and effective data flow analysis and optimization. Her 1971 paper with Cocke, "A Catalog of Optimizing Transformations," provided the first description and systematization of optimizing transformations. Her 1973 and 1974 papers on interprocedural data flow analysis extended the analysis to whole programs. Her 1976 paper with Cocke describes one of the two main analysis strategies used in optimizing compilers today.
Allen developed and implemented her methods as part of compilers for the IBM STRETCH-HARVEST and the experimental Advanced Computing System. This work established the feasibility and structure of modern machine- and language-independent optimizers. She went on to establish and lead the PTRAN project on the automatic parallel execution of FORTRAN programs. Her PTRAN team developed new parallelism detection schemes and created the concept of the program dependence graph, the primary structuring method used by most parallelizing compliers.
In addition to her many contributions to research and practice, throughout her career Fran Allen has been an inspirational mentor to younger researchers and a leader within the computing community.
[source:acm.org] |