Alfred Aho is a computer scientist recognized for his work on the design and analysis of computer algorithms, programming languages and their translators, and the foundations of computer science. His current research interests include programming languages, compilers, algorithms, quantum computing, and computational thinking. Aho was born in Timmins, Ontario and grew up in Toronto. He graduated with a B.A.Sc. in Engineering Physics from the University of Toronto in 1963 and a Ph.D. in Electrical Engineering/Computer Science from Princeton University in 1967. He worked in the Computing Sciences Research Center at Bell Labs, Murray Hill, NJ (the lab that invented UNIX, C, and C++) as a member of technical staff, department head, and vice president. He served as Chair of the Computer Science Department at Columbia University and as Lawrence Gussman Professor of Computer Science. He has been president of SIGACT, ACM’s Special Interest Group on algorithms and computation theory. He is a member of the National Academy of Sciences, the National Academy of Engineering, the American Academy of Arts and Sciences, and the Royal Society of Canada. He has received the 2020 ACM A.M. Turing Award, the 2017 NEC C&C Prize, and the 2003 IEEE John von Neumann Medal.

Research Interests

Alfred Aho's research encompasses formal language theory, the design and analysis of computer algorithms, the design and implementation of translators for programming languages, abstractions that form the foundations for the field of computer science, and quantum computing. He devised indexed grammars, a class of grammars that extends the power of context-free grammars to specify constructs found in programming languages. His efficient algorithm for matching keywords in input strings ("the Aho-Corasick algorithm") is widely used in software tools for genomic analysis and in Internet routers for deep packet inspection. He is the "A" in AWK, an early popular text-processing language on Unix ("W" is Peter Weinberger and "K" is Brian Kernighan). His books on the design and analysis of computer algorithms with John Hopcroft and Jeff Ullman codified efficient algorithm design techniques and were instrumental in establishing algorithms and data structures as a key course in computer science programs as they were being developed in academia. His books on the principles of compiler design with Jeff Ullman transformed the task of designing programming language translators from an art to a science. These books have been used for decades to teach compiler design to thousands of students around the world.

Membership Type


Election Year


Primary Section

Section 34: Computer and Information Sciences