KNUTH, DONALD E. (1938– )

Donald E. Knuth studied mathematics as an undergraduate at Case Institute of Technology, where he also worked at the Computing Center writing assemblers and compilers. After graduation in 1960 he began advanced work at California Institute of Technology, where he received a Ph.D. in Mathematics in 1963 and then remained on the mathematics faculty. Throughout this period he continued to be involved with software development, serving as consultant to Burroughs Corporation from 1960–1968, and as editor of Programming Languages for ACM publications from 1964–1967. He joined Stanford University as Professor of Computer Science in 1968, and was appointed to Stanford’s first endowed chair in computer science nine years later. In 1993 he became Professor Emeritus of The Art of Computer Programming.

Knuth began in 1962 to prepare textbooks about programming techniques, and this work has evolved into a planned seven-volume series entitled The Art of Computer Programming. Volumes 1–3 appeared in 1968, 1969, and 1973; Volume 4A appeared in 2011, and he is now working full time on the remaining volumes. He took ten years off from this project to work on digital typography, developing the TEX system for document preparation and the system for alphabet design. Noteworthy byproducts of those activities were the WEB and CWEB languages for structured documentation, and the accompanying methodology of Literate Programming.

His research papers have been instrumental in establishing several subareas of software engineering: LR(k) parsing; attribute grammars; the Knuth–Bendix algorithm; empirical studies of user programs and profiles; analysis of algorithms. In general, his works have been directed towards the search for a proper balance between theory and practice.

REFERENCES Graham, Ronald L., Knuth, Donald E., and Patashnik, Oren (1989) Concrete Mathemat-

ics. Reading, Mass.: Addison–Wesley.

Knuth, Donald E. (1968) Fundamental Algorithms. Reading, Mass.: Addison–Wesley.

Knuth, Donald E. (1969) Seminumerical Algorithms. Reading, Mass.: Addison–Wesley.

Knuth, Donald E. (1973) Sorting and Searching. Reading, Mass.: Addison–Wesley.

Knuth, Donald E. (2011) Combinatorial Algorithms, Part 1. Upper Saddle River, N.J.: Addison–Wesley.

Knuth, Donald E. (1986) Computers & Typesetting, five volumes. Reading, Mass.: Addison–Wesley.

Knuth, Donald E. (1992) Literate Programming. Chicago: University of Chicago Press.

Knuth, Donald E. (1993) The Stanford GraphBase. New York: ACM Press.

Knuth, Donald E. (1996) Selected Papers on Computer Science. Cambridge: Cambridge University Press.

Knuth, Donald E. (1999) Digital Typography. Chicago: University of Chicago Press.

Knuth, Donald E. (1999) MMIXware. Heidelberg: Springer-Verlag. Knuth, Donald E. (2000) Selected Papers on Analysis of Algorithms. Chicago: University

of Chicago Press. Knuth, Donald E. (2003) Selected Papers on Computer Languages. Chicago: University

of Chicago Press. Knuth, Donald E. (2010) Selected Papers on Design of Algorithms. Chicago: University

of Chicago Press. Knuth, Donald E. (2012) Companion to the Papers of Donald Knuth. Chicago: University

of Chicago Press.