Donald Knuth and The Art of Computer Science

By Chris Dietz

 

            Donald Knuth is one of today’s most preeminent computer scientists.  Truly one of the last “renaissance men” of the discipline, his pioneering research has touched almost every aspect of the field.  Knuth was given the Turing award in 1974 in thanks for his invaluable contributions to programming language design, the analysis of algorithms, and his series of books, The Art of Computer Programming.

            Born January 10, 1938 in Milwaukee, Wisconsin, Knuth was an overachiever right from the start.  By the end of high school he had been published for his science fair project by Mad Magazine, written several Tuba compositions, and had set a new local record for GPA.  Case Western Institute of Technology promptly offered him a physics scholarship and Knuth started his academic career in earnest.  When he graduated summa cum laude in 1960, the faculty gave an unprecedented vote to offer him a master’s degree to recognize his superior achievements.  By 1963, Knuth had moved on to California Institute of Technology and earned his PhD.  Here he remained as a professor of mathematics until 1968 until he moved onto Stanford.  Knuth was given the first chair of the new Stanford computer science department where he remained until 1993 when he retired as “Professor Emeritus of the Art of Computer Programming”.

            Knuth’s major accomplishments to the field truly began before he even had his PhD.  In 1962, as a grad student, Knuth worked on compilers on the side as a private consultant.  Clueless as to what he could charge, Knuth sold several for $5,000 to the private sector at a time when other companies were selling equivalent products for hundreds of thousands of dollars.  Suddenly, Knuth had become a name in the industry and was approached by Addison Wesley in 1963 to write a book on compiler programming.  During his writing, Knuth did major research on the design and structure of grammars, and gained renown for his LR(k) parsing method.  By 1966, as the book was nearly complete, the publisher remarked that it was two large in both size (over 3000 pgs) and content.  Instead it was agreed to change the book to a general survey of computer science, to be split into 7 massive volumes.  The Art of Computer Programming was born.

            Today The Art of Computer Programming is only at volume 3, with volume 4 due sometime 2003.  However the book has become a “must have” for every programmer worth his salt.  All programs are written in assembly (for his own made up machine) or English to prevent dating them with some old high-level language.  The entire breadth of computer science seems to have been placed into the series, from machine architecture to sorting algorithms.  In the end, the one unifying concept of the series is that programs should not just work, but should be beautiful pieces of art.

            Other major contributions of Knuth include his own languages, WEB and CWEB, which prescribe to a unique form of programming invented by Knuth known as literate programming.   In addition, from 1976-86 Knuth took a break from his Art of Computer Programming series to write two pioneering programs for digital typography, TeX and METAFONT (a new system of alphabet design).

            Today, Knuth has retired from Stanford and has become a self-described hermit in order to finish his Art of Computer Programming series.  He stopped answering emails in 1993, and only answers written letters once every 3-6 months because he believes “batch processing” is the only way he will ever finish his beloved book.  However, his fame does force him out every now and then for an occasional lecture or award.  In 1979 president Carter presented him the National Medal of Science.  Most recently, he won the Kyoto award in 1966.

 

References: 

       Knuth’s Home Page: www-cs-staff.stanford.edu/~knuth/

 

       Digital History Bio:  www.digitalcentury.com/encyclo/update/Knuth.html