Donald Knuth

Donald Knuth
Knuth in 2011
Born
Donald Ervin Knuth

(1938-01-10) January 10, 1938 (age 86)
Education
Known for
SpouseNancy Jill Carter
Children2
Awards
Scientific career
Fields
InstitutionsStanford University
University of Oslo
ThesisFinite Semifields and Projective Planes (1963)
Doctoral advisorMarshall Hall, Jr.[2]
Doctoral students
Websitecs.stanford.edu/~knuth

Donald Ervin Knuth (/kəˈnθ/[3] kə-NOOTH; born January 10, 1938) is an American computer scientist and mathematician. He is a professor emeritus at Stanford University. He is the 1974 recipient of the ACM Turing Award, informally considered the Nobel Prize of computer science.[4] Knuth has been called the "father of the analysis of algorithms".[5]

Knuth is the author of the multi-volume work The Art of Computer Programming. He contributed to the development of the rigorous analysis of the computational complexity of algorithms and systematized formal mathematical techniques for it. In the process, he also popularized the asymptotic notation. In addition to fundamental contributions in several branches of theoretical computer science, Knuth is the creator of the TeX computer typesetting system, the related METAFONT font definition language and rendering system, and the Computer Modern family of typefaces.

As a writer and scholar, Knuth created the WEB and CWEB computer programming systems designed to encourage and facilitate literate programming, and designed the MIX/MMIX instruction set architectures. He strongly opposes the granting of software patents, and has expressed his opinion to the United States Patent and Trademark Office and European Patent Organisation.

Biography

Early life

Donald Knuth was born in Milwaukee, Wisconsin, to Ervin Henry Knuth and Louise Marie Bohning.[6] He describes his heritage as "Midwestern Lutheran German".[7]: 66  His father owned a small printing business and taught bookkeeping.[8] While a student at Milwaukee Lutheran High School, Knuth thought of ingenious ways to solve problems. For example, in eighth grade, he entered a contest to find the number of words that the letters in "Ziegler's Giant Bar" could be rearranged to create; the judges had identified 2,500 such words. With time gained away from school due to a fake stomachache, Knuth used an unabridged dictionary and determined whether each dictionary entry could be formed using the letters in the phrase. Using this algorithm, he identified over 4,500 words, winning the contest.[7]: 3  As prizes, the school received a new television and enough candy bars for all of his schoolmates to eat.[9][10]

Education

Knuth received a scholarship in physics to the Case Institute of Technology (now part of Case Western Reserve University) in Cleveland, Ohio, enrolling in 1956.[11] He also joined the Beta Nu Chapter of the Theta Chi fraternity. While studying physics at Case, Knuth was introduced to the IBM 650, an early commercial computer. After reading the computer's manual, Knuth decided to rewrite the assembly and compiler code for the machine used in his school because he believed he could do it better.[12]

In 1958, Knuth created a program to help his school's basketball team win its games.[13] He assigned "values" to players in order to gauge their probability of scoring points, a novel approach that Newsweek and CBS Evening News later reported on.[12]

Knuth was one of the founding editors of the Case Institute's Engineering and Science Review, which won a national award as best technical magazine in 1959.[14][15] He then switched from physics to mathematics, and received two degrees from Case in 1960:[11] his Bachelor of Science, and simultaneously a master of science by a special award of the faculty, who considered his work exceptionally outstanding.[4][12]

At the end of his senior year at Case in 1960, Knuth proposed to Burroughs Corporation to write an ALGOL compiler for the B205 for $5,500. The proposal was accepted and he worked on the ALGOL compiler between graduating from Case and going to Caltech. [7]: 66 [16]: 7 

In 1963, with mathematician Marshall Hall as his adviser,[2] he earned a PhD in mathematics from the California Institute of Technology, with a thesis titled Finite Semifields and Projective Planes.[17]

Early work

In 1963, after receiving his PhD, Knuth joined Caltech's faculty as an assistant professor.[18]

While at Caltech and after the success of the Burroughs B205 ALGOL compiler, he became consultant to Burroughs Corporation, joining the Product Planning Department. At Caltech he was operating as a mathematician but at Burroughs as a programmer working with the people he considered to have written the best software at the time in the ALGOL compiler for the B220 computer (successor to the B205).[7]: 9 

He was offered a $100,000 contract to write compilers at Green Tree Corporation but turned it down making a decision not to optimize income and continued at Caltech and Burroughs. He received a National Science Foundation Fellowship and Woodrow Wilson Foundation Fellowship but they had the condition that you could not do anything else but study as a graduate student so he would not be able to continue as a consultant to Burroughs. He chose to turn down the fellowships and continued with Burroughs.[7]: 12  In summer 1962, he wrote a FORTRAN compiler for Univac, but considered that “I sold my soul to the devil” to write a FORTRAN compiler.[7]: 15 

After graduating, Knuth returned to Burroughs in June 1961 but did not tell them he had graduated with a master's degree, rather than the expected bachelor's degree. Impressed by the ALGOL syntax chart, symbol table, recursive-descent approach and the separation of the scanning, parsing and emitting functions of the compiler Knuth suggested an extension to the symbol table that one symbol could stand for a string of symbols. This became the basis of the DEFINE in Burroughs ALGOL, which has since been adopted by other languages. However, some really disliked the idea and wanted DEFINE removed. The last person to think it was a terrible idea was Edsger Dijkstra on a visit to Burroughs.[16]: 17 

Knuth worked on simulation languages at Burroughs producing SOL ‘Simulation Oriented Language’, an improvement on the state-of-the-art, co-designed with J. McNeeley. He attended a conference in Norway in May, 1967 organised by the people who invented the Simula language. Knuth influenced Burroughs to use Simula.[19][20] Knuth had a long association with Burroughs as a consultant from 1960 to 1968 until his move into more academic work at Stanford in 1969.[21][22]

In 1962, Knuth accepted a commission from Addison-Wesley to write a book on computer programming language compilers. While working on this project, he decided that he could not adequately treat the topic without first developing a fundamental theory of computer programming, which became The Art of Computer Programming. He originally planned to publish this as a single book, but as he developed his outline for the book, he concluded that he required six volumes, and then seven, to thoroughly cover the subject. He published the first volume in 1968.[23]

Just before publishing the first volume of The Art of Computer Programming, Knuth left Caltech to accept employment with the Institute for Defense Analyses' Communications Research Division,[24] then situated on the Princeton campus, which was performing mathematical research in cryptography to support the National Security Agency.

In 1967, Knuth attended a Society for Industrial and Applied Mathematics conference and someone asked what he did. At the time, computer science was partitioned into numerical analysis, artificial intelligence, and programming languages. Based on his study and The Art of Computer Programming book, Knuth decided the next time someone asked he would say, "Analysis of algorithms".[25]

In 1969, Knuth left his position at Princeton to join the Stanford University faculty,[26] where he became Fletcher Jones Professor of Computer Science in 1977. He became Professor of The Art of Computer Programming in 1990, and has been emeritus since 1993.[27][28]

Writings

Knuth is a writer as well as a computer scientist.[18]

The Art of Computer Programming (TAOCP)

"The best way to communicate from one human being to another is through story."

— Donald Knuth[25]

In the 1970s, Knuth called computer science "a totally new field with no real identity. And the standard of available publications was not that high. A lot of the papers coming out were quite simply wrong. ... So one of my motivations was to put straight a story that had been very badly told."[29]

From 1972 to 1973, Knuth spent a year at the University of Oslo among people such as Ole-Johan Dahl. This is where he had originally intended to write the seventh volume in his book series, which was to deal with programming languages. But Knuth had finished only the first two volumes when he came to Oslo, and thus spent the year on the third volume, next to teaching. The third volume came out just after Knuth returned to Stanford in 1973.[30]

Concrete Mathematics: A Foundation for Computer Science originated with an expansion of the mathematical preliminaries section of Volume 1 of TAoCP. Knuth found that there were mathematical tools necessary for Volume 1, but missing from his repertoire, and decided that a course introducing those tools to computer science students would be useful. Knuth introduced the course at Stanford in 1970. Course notes developed by Oren Patashnik evolved into the 1988 text, with authors Ronald Graham, Knuth, and Patashnik. A second edition of Concrete Mathematics was published in 1994.

By 2011, Volume 4A of TAoCP had been published.[23] In April 2020, Knuth said he anticipated that Volume 4 of TAoCP will have at least parts A through F.[25] Volume 4B was published in October 2022.

Other works

Knuth is also the author of Surreal Numbers,[31] a mathematical novelette on John Horton Conway's set theory construction of an alternate system of numbers. Instead of simply explaining the subject, the book seeks to show the development of the mathematics. Knuth wanted the book to prepare students for doing original, creative research.

In 1995, Knuth wrote the foreword to the book A=B by Marko Petkovšek, Herbert Wilf and Doron Zeilberger.[32] He also occasionally contributes language puzzles to Word Ways: The Journal of Recreational Linguistics.[33]

Knuth has delved into recreational mathematics. He contributed articles to the Journal of Recreational Mathematics beginning in the 1960s, and was acknowledged as a major contributor in Joseph Madachy's Mathematics on Vacation.[34]

Knuth also appears in a number of Numberphile[35] and Computerphile videos on YouTube, where he discusses topics from writing Surreal Numbers[36] to why he does not use email.[37]

Knuth had proposed the name "algorithmics" as a better name for the discipline of computer science.[38]

Works about his religious beliefs

In addition to his writings on computer science, Knuth, a Lutheran,[39] is also the author of 3:16 Bible Texts Illuminated,[40] in which he examines the Bible by a process of systematic sampling, namely an analysis of chapter 3, verse 16 of each book. Each verse is accompanied by a rendering in calligraphic art, contributed by a group of calligraphers led by Hermann Zapf. Knuth was invited to give a set of lectures at MIT on the views on religion and computer science behind his 3:16 project, resulting in another book, Things a Computer Scientist Rarely Talks About, where he published the lectures God and Computer Science.[41]

Opinion on software patents

Knuth strongly opposes granting software patents to trivial solutions that should be obvious, but has expressed more nuanced views for nontrivial solutions such as the interior-point method of linear programming.[42] He has expressed his disagreement directly to both the United States Patent and Trademark Office and European Patent Organisation.[43]

Programming

Digital typesetting

In the 1970s, the publishers of TAOCP abandoned Monotype in favor of phototypesetting. Knuth became so frustrated with the inability of the latter system to approach the quality of the previous volumes, which were typeset using the older system, that he took time out to work on digital typesetting and created TeX and Metafont.[44]

Literate programming

While developing TeX, Knuth created a new methodology of programming, which he called literate programming, because he believed that programmers should think of programs as works of literature:

Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.[45]

Knuth embodied the idea of literate programming in the WEB system. The same WEB source is used to weave a TeX file, and to tangle a Pascal source file. These in their turn produce a readable description of the program and an executable binary respectively. A later iteration of the system, CWEB, replaces Pascal with C, C++, and Java.[46]

Knuth used WEB to program TeX and METAFONT, and published both programs as books, both originally published the same year: TeX: The Program (1986); and METAFONT: The Program (1986).[47] Around the same time, LaTeX, the now-widely adopted macro package based on TeX, was first developed by Leslie Lamport, who later published its first user manual in 1986.[48]

Personal life

Donald Knuth married Nancy Jill Carter on 24 June 1961, while he was a graduate student at the California Institute of Technology. They have two children: John Martin Knuth and Jennifer Sierra Knuth.[49]

Knuth gives informal lectures a few times a year at Stanford University, which he calls "Computer Musings". He was a visiting professor at the Oxford University Department of Computer Science in the United Kingdom until 2017 and an Honorary Fellow of Magdalen College.[50][51]

Knuth is an organist and a composer. He and his father served as organists for Lutheran congregations. Knuth and his wife have a 16-rank organ in their home.[52] In 2016 he completed a piece for organ, Fantasia Apocalyptica, which he calls a "translation of the Greek text of the Revelation of Saint John the Divine into music". It was premièred in Sweden on January 10, 2018.[53]

Chinese name

Knuth's Chinese name is Gao Dena (simplified Chinese: 高德纳; traditional Chinese: 高德納; pinyin: Gāo Dénà).[54][3] He was given this name in 1977 by Frances Yao shortly before making a three-week trip to China.[3][55] In the 1980 Chinese translation of Volume 1 of The Art of Computer Programming (simplified Chinese: 计算机程序设计艺术; traditional Chinese: 計算機程式設計藝術; pinyin: Jìsuànjī chéngxù shèjì yìshù), Knuth explains that he embraced his Chinese name because he wanted to be known by the growing numbers of computer programmers in China at the time. In 1989, his Chinese name was placed atop the Journal of Computer Science and Technology's header, which Knuth says "makes me feel close to all Chinese people although I cannot speak your language".[55]

Humor

One of Knuth's reward checks

Knuth used to pay a finder's fee of $2.56 for any typographical errors or mistakes discovered in his books, because "256 pennies is one hexadecimal dollar", and $0.32 for "valuable suggestions". According to an article in the Massachusetts Institute of Technology's Technology Review, these Knuth reward checks are "among computerdom's most prized trophies". Knuth had to stop sending real checks in 2008 due to bank fraud, and now gives each error finder a "certificate of deposit" from a publicly listed balance in his fictitious "Bank of San Serriffe".[56]

He once warned a correspondent, "Beware of bugs in the above code; I have only proved it correct, not tried it."[3]

Knuth published his first "scientific" article in a school magazine in 1957 under the title "The Potrzebie System of Weights and Measures". In it, he defined the fundamental unit of length as the thickness of Mad No. 26, and named the fundamental unit of force "whatmeworry". Mad published the article in issue No. 33 (June 1957).[57][58]

To demonstrate the concept of recursion, Knuth intentionally referred "Circular definition" and "Definition, circular" to each other in the index of The Art of Computer Programming, Volume 1.

The preface of Concrete Mathematics has the following paragraph:

When DEK taught Concrete Mathematics at Stanford for the first time, he explained the somewhat strange title by saying that it was his attempt to teach a math course that was hard instead of soft. He announced that, contrary to the expectations of his colleagues, he was not going to teach the Theory of Aggregates, nor Stone's Embedding Theorem, nor even the Stone–Čech compactification. (Several students from the civil engineering department got up and quietly left the room.)

At the TUG 2010 Conference, Knuth announced a satirical XML-based successor to TeX, titled "iTeX" (pronounced [iː˨˩˦tɛks˧˥], performed with a bell ringing), which would support features such as arbitrarily scaled irrational units, 3D printing, input from seismographs and heart monitors, animation, and stereophonic sound.[59][60][61]

Awards and honors

In 1971, Knuth received the first ACM Grace Murray Hopper Award.[4] He has received various other awards, including the Turing Award, the National Medal of Science, the John von Neumann Medal, and the Kyoto Prize.[4]

Knuth was elected a Distinguished Fellow of the British Computer Society (DFBCS) in 1980 in recognition of his contributions to the field of computer science.[62]

In 1990, he was awarded the one-of-a-kind academic title Professor of The Art of Computer Programming; the title has since been revised to Professor Emeritus of The Art of Computer Programming.

Knuth was elected to the National Academy of Sciences in 1975. He was also elected a member of the National Academy of Engineering in 1981 for organizing vast subject areas of computer science so that they are accessible to all segments of the computing community. In 1992, he became an associate of the French Academy of Sciences. Also that year, he retired from regular research and teaching at Stanford University in order to finish The Art of Computer Programming. He was elected a Foreign Member of the Royal Society (ForMemRS) in 2003.[1]

Knuth was elected as a Fellow (first class of Fellows) of the Society for Industrial and Applied Mathematics in 2009 for his outstanding contributions to mathematics.[63] He is a member of the Norwegian Academy of Science and Letters.[64] In 2012, he became a fellow of the American Mathematical Society[65] and a member of the American Philosophical Society.[66] Other awards and honors include:

Publications

A short list of his publications include:[81]

The Art of Computer Programming:

  1. ——— (1997). The Art of Computer Programming. Vol. 1: Fundamental Algorithms (3rd ed.). Addison-Wesley Professional. ISBN 978-0-201-89683-1.
  2. ——— (1997). The Art of Computer Programming. Vol. 2: Seminumerical Algorithms (3rd ed.). Addison-Wesley Professional. ISBN 978-0-201-89684-8.
  3. ——— (1998). The Art of Computer Programming. Vol. 3: Sorting and Searching (2nd ed.). Addison-Wesley Professional. ISBN 978-0-201-89685-5.
  4. ——— (2011). The Art of Computer Programming. Vol. 4A: Combinatorial Algorithms, Part 1. Addison-Wesley Professional. ISBN 978-0-201-03804-0.
  5. ——— (2022). The Art of Computer Programming. Vol. 4B: Combinatorial Algorithms, Part 2. Addison-Wesley Professional. ISBN 978-0-201-03806-4.
  6. ——— (2005). MMIX—A RISC Computer for the New Millennium. Vol. 1, Fascicle 1. ISBN 978-0-201-85392-6.
  7. ——— (2008). The Art of Computer Programming. Vol. 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions. Addison-Wesley. ISBN 978-0-321-53496-5.
  8. ——— (2009). The Art of Computer Programming. Vol. 4, Fascicle 1: Bitwise Tricks & Techniques, Binary Decision Diagrams. Addison-Wesley. ISBN 978-0-321-58050-4.
  9. ——— (2005). The Art of Computer Programming. Vol. 4, Fascicle 2: Generating All Tuples and Permutations. Addison-Wesley. ISBN 978-0-201-85393-3.
  10. ——— (2005). The Art of Computer Programming. Vol. 4, Fascicle 3: Generating All Combinations and Partitions. ISBN 978-0-201-85394-0.
  11. ——— (2006). The Art of Computer Programming. Vol. 4, Fascicle 4: Generating All Trees—History of Combinatorial Generation. Addison-Wesley. ISBN 978-0-321-33570-8.
  12. ——— (2018). The Art of Computer Programming. Vol. 4, Fascicle 5: Mathematical Preliminaries Redux, Backtracking, Dancing Links. ISBN 978-0-134-67179-6.
  13. ——— (2015). The Art of Computer Programming. Vol. 4, Fascicle 6: Satisfiability. ISBN 978-0-134-39760-3.

Computers and Typesetting (all books are hardcover unless otherwise noted):

  1. ——— (1984). Computers & Typesetting. Vol. A, The TeXbook. Reading, MA: Addison-Wesley. ISBN 978-0-201-13447-6., x+483pp.
  2. ——— (1984). Computers & Typesetting. Vol. A, The TeXbook. Reading, MA: Addison-Wesley. ISBN 978-0-201-13448-3. (softcover).
  3. ——— (1986). Computers & Typesetting. Vol. B, TeX: The Program. Reading, MA: Addison-Wesley. ISBN 978-0-201-13437-7., xviii+600pp.
  4. ——— (1986). Computers & Typesetting. Vol. C, The METAFONTbook. Reading, MA: Addison-Wesley. ISBN 978-0-201-13445-2., xii+361pp.
  5. ——— (1986). Computers & Typesetting. Vol. C, The METAFONTbook. Reading, MA: Addison-Wesley. ISBN 978-0-201-13444-5. (softcover).
  6. ——— (1986). Computers & Typesetting. Vol. D, METAFONT: The Program. Reading, MA: Addison-Wesley. ISBN 978-0-201-13438-4., xviii+566pp.
  7. ——— (1986). Computers & Typesetting. Vol. E, Computer Modern Typefaces. Reading, MA: Addison-Wesley. ISBN 978-0-201-13446-9., xvi+588pp.
  8. ——— (2000). Computers & Typesetting. Vol. A-E Boxed Set. Reading, MA: Addison-Wesley. ISBN 978-0-201-73416-4.

Books of collected papers:

  1. ——— (1992). Literate Programming. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-0-937073-80-3.[82]
  2. ——— (1996). Selected Papers on Computer Science. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-1-881526-91-9.[83]
  3. ——— (1999). Digital Typography. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-1-57586-010-7.[84]
  4. ——— (2000). Selected Papers on Analysis of Algorithms. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-1-57586-212-5.[85]
  5. ——— (2003). Selected Papers on Computer Languages. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-1-57586-381-8., ISBN 1-57586-382-0 (paperback)[86]
  6. ——— (2003). Selected Papers on Discrete Mathematics. Lecture Notes. Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 978-1-57586-249-1., ISBN 1-57586-248-4 (paperback)[87]
  7. Donald E. Knuth, Selected Papers on Design of Algorithms (Stanford, California: Center for the Study of Language and Information—CSLI Lecture Notes, no. 191), 2010. ISBN 1-57586-583-1 (cloth), ISBN 1-57586-582-3 (paperback)[88]
  8. Donald E. Knuth, Selected Papers on Fun and Games (Stanford, California: Center for the Study of Language and Information—CSLI Lecture Notes, no. 192), 2011. ISBN 978-1-57586-585-0 (cloth), ISBN 978-1-57586-584-3 (paperback)[89]
  9. Donald E. Knuth, Companion to the Papers of Donald Knuth (Stanford, California: Center for the Study of Language and Information—CSLI Lecture Notes, no. 202), 2011. ISBN 978-1-57586-635-2 (cloth), ISBN 978-1-57586-634-5 (paperback)[90]

Other books:

  1. Graham, Ronald L; Knuth, Donald E.; Patashnik, Oren (1994). Concrete mathematics: A foundation for computer science (Second ed.). Reading, MA: Addison-Wesley. ISBN 978-0-201-55802-9. MR 1397498. xiv+657 pp.
  2. Knuth, Donald Ervin (1974). Surreal numbers: how two ex-students turned on to pure mathematics and found total happiness: a mathematical novelette. Addison-Wesley. ISBN 978-0-201-03812-5.[31]
  3. Donald E. Knuth, The Stanford GraphBase: A Platform for Combinatorial Computing (New York, ACM Press) 1993. second paperback printing 2009. ISBN 0-321-60632-9
  4. Donald E. Knuth, 3:16 Bible Texts Illuminated (Madison, Wisconsin: A-R Editions), 1990. ISBN 0-89579-252-4
  5. Donald E. Knuth, Things a Computer Scientist Rarely Talks About (Center for the Study of Language and Information—CSLI Lecture Notes no 136), 2001. ISBN 1-57586-326-X
  6. Donald E. Knuth, MMIXware: A RISC Computer for the Third Millennium (Heidelberg: Springer-Verlag— Lecture Notes in Computer Science, no. 1750), 1999. viii+550pp. ISBN 978-3-540-66938-8
  7. Donald E. Knuth and Silvio Levy, The CWEB System of Structured Documentation (Reading, Massachusetts: Addison-Wesley), 1993. iv+227pp. ISBN 0-201-57569-8. Third printing 2001 with hypertext support, ii + 237 pp.
  8. Donald E. Knuth, Tracy L. Larrabee, and Paul M. Roberts, Mathematical Writing (Washington, D.C.: Mathematical Association of America), 1989. ii+115pp ISBN 978-0883850633
  9. Daniel H. Greene and Donald E. Knuth, Mathematics for the Analysis of Algorithms (Boston: Birkhäuser), 1990. viii+132pp. ISBN 978-0817647285
  10. Donald E. Knuth, Mariages Stables: et leurs relations avec d'autres problèmes combinatoires (Montréal: Les Presses de l'Université de Montréal), 1976. 106pp. ISBN 978-0840503428
  11. Donald E. Knuth, Stable Marriage and Its Relation to Other Combinatorial Problems: An Introduction to the Mathematical Analysis of Algorithms. ISBN 978-0821806036
  12. Donald E. Knuth, Axioms and Hulls (Heidelberg: Springer-Verlag—Lecture Notes in Computer Science, no. 606), 1992. ix+109pp. ISBN 3-540-55611-7

See also

References

  1. ^ a b "Professor Donald Knuth ForMemRS". London: Royal Society. Archived from the original on November 17, 2015.
  2. ^ a b c Donald Knuth at the Mathematics Genealogy Project
  3. ^ a b c d Knuth, Donald Ervin. "Frequently Asked Questions". Home page. Stanford University. Archived from the original on August 3, 2019. Retrieved November 2, 2010.
  4. ^ a b c d e f g h i Walden, David. "Donald E. Knuth - A.M. Turing Award Laureate". Archived from the original on October 17, 2019. Retrieved December 14, 2022.
  5. ^ Karp, Richard M. (February 1986). "Combinatorics, Complexity, and Randomness". Communications of the ACM. 29 (2): 98–109. doi:10.1145/5657.5658.
  6. ^ O'Connor, John J.; Robertson, Edmund F. (October 2015), "Donald Knuth", MacTutor History of Mathematics Archive, University of St Andrews, retrieved July 2, 2021
  7. ^ a b c d e f Feigenbaum, Edward (2007). "Oral History of Donald Knuth" (PDF). Computer History Museum. Archived (PDF) from the original on December 9, 2008. Retrieved September 17, 2020.
  8. ^ Molly Knight Raskin (2013). No Better Time: The Brief, Remarkable Life of Danny Lewin--the Genius who Transformed the Internet. Da Capo Press, Incorporated. pp. 61–62. ISBN 978-0-306-82166-0.
  9. ^ Shasha, Dennis Elliott; Lazere, Cathy A (1998). Out of their minds: the lives and discoveries of 15 great computer scientists. Springer. p. 90. ISBN 978-0-387-98269-4.
  10. ^ Knuth, Donald (2011). Selected Papers on Fun and Games. Center for the Study of Language and Information—CSLI Lecture Notes, no. 192. p. 400. ISBN 978-1-57586-584-3.
  11. ^ a b "Donald E. Knuth". Encyclopedia.com. Retrieved September 17, 2020.
  12. ^ a b c Koshy, Thomas (2004). Discrete mathematics with applications. Academic Press. p. 244. ISBN 978-0-12-421180-3. Archived from the original on November 12, 2012. Retrieved July 30, 2011.
  13. ^ Lyons, Keith (September 25, 2018). "Donald Knuth, basketball and computers in sport". Clyde Street Archive. Archived from the original on August 16, 2019. Retrieved August 16, 2019.
  14. ^ "Beta Nu of Theta Chi, History of Beta Nu Chapter". CWRU. Archived from the original on September 4, 2016. Retrieved April 15, 2019.
  15. ^ "Beta Nu, Theta Chi". Theta Chi. Archived from the original on December 21, 2019. Retrieved December 21, 2019.
  16. ^ a b Waychoff, Richard. "Stories About the B5000 and People Who Were There" (PDF). Computer History Museum.
  17. ^ Knuth, Donald Ervin (1963). Finite Semifields and Projective Planes (PDF) (PhD). California Institute of Technology.
  18. ^ a b Knuth, Donald Ervin. "Curriculum vitae". Stanford University. Archived from the original on August 3, 2019. Retrieved March 26, 2020.
  19. ^ Dahl, Ole-Johan. "The Birth of Object Orientation: the Simula Languages" (PDF).
  20. ^ "Biography".
  21. ^ "Interview with Richard Nance 2013".
  22. ^ Dahl, Ole-Johan. "The Birth of Object Orientation: the Simula Languages".
  23. ^ a b Knuth, Donald Ervin (August 3, 2019). "The Art of Computer Programming (TAOCP)". Archived from the original on August 3, 2019. Retrieved February 6, 2018.
  24. ^ "Institute for Defense Analyses". INFORMS. August 27, 2021. Retrieved January 8, 2024.
  25. ^ a b c D'Agostino, Susan (April 16, 2020). "The Computer Scientist Who Can't Stop Telling Stories". Quanta Magazine. Retrieved April 19, 2020.
  26. ^ "Timeline". Computer Science @ Stanford - Spotlight at Stanford. June 21, 2019. Retrieved January 8, 2024.
  27. ^ Knuth, Donald Ervin. "Home page". Stanford University. Archived from the original on November 27, 2019. Retrieved March 16, 2005.
  28. ^ "Donald Knuth". Profiles. Stanford University. Archived from the original on June 12, 2016. Retrieved August 24, 2020.
  29. ^ "BBVA Foundation Frontiers of Knowledge Awards". Archived from the original on August 19, 2016. Retrieved October 15, 2016.
  30. ^ "Publikasjonen "Datahistorien ved Universitetet i Oslo - Institutt for informatikk 1977 - 1997" utgitt" [The publication "Computer history at the University of Oslo - Department of Informatics 1977 - 1997" published]. University of Oslo (in Norwegian). 1997. Archived from the original on April 29, 2021. Retrieved April 29, 2021.
  31. ^ a b Knuth, Donald Ervin. "Surreal numbers". Home page. Archived from the original on August 3, 2019. Retrieved March 26, 2020.
  32. ^ Zeilberg. "DEK". Rutgers. Archived from the original on August 28, 2017. Retrieved March 26, 2020.
  33. ^ "The Linguist List -- Journal Page". linguistlist.org. Archived from the original on June 11, 2021. Retrieved December 14, 2022.
  34. ^ Madachy, Joseph S.,Mathematics on Vacation, Thomas Nelson & Sons Ltd. 1966
  35. ^ "Videos about Numbers and Stuff". Numberphile. Archived from the original on November 4, 2018. Retrieved August 16, 2019.
  36. ^ Numberphile (June 27, 2016), Surreal Numbers (writing the first book) - Numberphile, archived from the original on December 11, 2021, retrieved July 19, 2019
  37. ^ Computerphile (August 21, 2015), Why Don Knuth Doesn't Use Email - Computerphile, archived from the original on July 11, 2018, retrieved July 19, 2019
  38. ^ Burkholder, Leslie (1992). Philosophy and the Computer. Taylor & Francis. ISBN 9780429301629.
  39. ^ Platoni 2006.
  40. ^ Knuth, Donald Ervin (1991). 3:16 : Bible texts illuminated. Madison, WI: A-R Eds. ISBN 978-0-89579-252-5.
  41. ^ Knuth, Donald Ervin (2001). Things a Computer Scientist Rarely Talks About. Stanford, California: Center for the Study of Language and Information Publications. ISBN 978-1-57586-326-9.
  42. ^ "All Questions Answered" (PDF). Notices (article). March 2002. Archived (PDF) from the original on April 30, 2019. Retrieved March 26, 2020.
  43. ^ Knuth, Donald Ervin. "Against software patents" (PDF). Archived from the original (PDF) on September 24, 2015. Retrieved February 1, 2020Letter{{cite web}}: CS1 maint: postscript (link) to the patent offices in the USA and Europe.
  44. ^ Knuth, Donald Erwin (1997). "Digital Typography (Kyoto Prize Lecture, 1996)" (PDF). Archived from the original (PDF) on January 27, 2018.
  45. ^ Knuth, Donald Erwin (1984). "Literate Programming" (PDF). Archived from the original (PDF) on August 19, 2019. Retrieved March 26, 2020.
  46. ^ "Knuth and Levy: CWEB".
  47. ^ Knuth, Donald (April 11, 2019). "Knuth: Computers and Typesetting". www-cs-faculty.stanford.edu. Archived from the original on April 11, 2019. Retrieved July 19, 2019.
  48. ^ Lamport, Leslie (1986). LATEX : a document preparation system. Addison-Wesley Pub. Co. ISBN 020115790X. OCLC 12550262.
  49. ^ O'Connor, J. J.; Robertson, E. F. (2015). "Donald Ervin Knuth". University of St Andrews. Archived from the original on October 5, 2017. Retrieved October 20, 2017.
  50. ^ "Professor Donald Knuth". Magdalen College. Archived from the original on January 4, 2011. Retrieved December 6, 2010.
  51. ^ "Notices". Oxford University Gazette. October 30, 2014. Archived from the original on May 15, 2015. Retrieved May 21, 2015.
  52. ^ "The Organ of Don and Jill Knuth". Retrieved January 11, 2023 – via Stanford.edu.
  53. ^ de Groot, Martin (November 3, 2018). "Arts and Culture: A polymath brings his genius to bear on a multimedia work for pipe organ". Waterloo Region Record.
  54. ^ Reutenauer, Arthur. "A brief history of TeX, volume II". TUGboat: 68–72. ISSN 0896-3207.
  55. ^ a b Knuth, Donald Ervin (1980). 计算机程序设计技巧 (Ji suan ji cheng xu she ji ji qiao) [The Art of Computer Programming]. Translated by Guan, JiWen; Su, Yunlin. Beijing: Defense Industry Publishing Co. I fondly hope that many Chinese computer programmers will learn to recognize my Chinese name Gao Dena, which was given to me by Francis Yao just before I visited your country in 1977. I still have very fond memories of that three-week visit, and I have been glad to see Gao Dena on the masthead of the Journal of Computer Science and Technology since 1989. This name makes me feel close to all Chinese people although I cannot speak your language.
  56. ^ "Rewriting the Bible in 0s and 1s". Technology Review. Archived from the original on July 9, 2022.
  57. ^ Knuth, Donald Ervin (June 1957). "The Potrzebie System of Weights & Measures". Mad Magazine. No. 33. Archived from the original on November 6, 2018. Retrieved March 26, 2020.
  58. ^ Kidder, Tracy (2016). A Truck Full of Money. Random House. p. 68. ISBN 9780812995244.
  59. ^ Knuth, Don (2010). "TUG 2010" (conference panel video). Zeeba TV. Archived from the original on March 25, 2016. Retrieved March 26, 2020.
  60. ^ Knuth, Donald Ervin, An Earth-shaking announcement (video recording), Zeeba TV
  61. ^ Knuth, Donald Ervin (2010). "An Earthshaking Announcement" (PDF). TUGboat. 31 (2): 121–24. ISSN 0896-3207. Archived (PDF) from the original on April 13, 2019. Retrieved March 26, 2020.
  62. ^ Anon (2016). "Roll of Distinguished Fellows". British Computer Society. Archived from the original on March 4, 2016. Retrieved September 10, 2014.
  63. ^ "Fellows". Siam. 2009. Archived from the original on April 21, 2019. Retrieved March 26, 2020.
  64. ^ "Gruppe 1: Matematiske fag" (in Norwegian). Norwegian Academy of Science and Letters. Archived from the original on November 10, 2013. Retrieved October 7, 2010.
  65. ^ "Fellows of the American Mathematical Society". Retrieved December 14, 2022.
  66. ^ "APS Member History". search.amphilsoc.org. Retrieved March 19, 2021.
  67. ^ Knuth, D. E. (1974). "Computer science and its relation to mathematics". Amer. Math. Monthly. 81 (4): 323–343. doi:10.2307/2318994. JSTOR 2318994. Archived from the original on February 20, 2019. Retrieved March 26, 2020.
  68. ^ Knuth, D. E. (1992). "Two notes on notation". Amer. Math. Monthly. 99 (5): 403–422. arXiv:math/9205211. Bibcode:1992math......5211K. doi:10.2307/2325085. JSTOR 2325085. S2CID 119584305. Archived from the original on February 20, 2019. Retrieved March 26, 2020.
  69. ^ "Josiah Willard Gibbs Lectures". American Mathematical Society. Archived from the original on October 7, 2016. Retrieved October 15, 2016.
  70. ^ Knuth, Donald E. (1979). "Mathematical typography" (PDF). Bull. Amer. Math. Soc. (N.S.). 1 (2): 337–372. doi:10.1090/s0273-0979-1979-14598-1. MR 0520078. Archived (PDF) from the original on September 28, 2015. Retrieved June 1, 2022.
  71. ^ "The President's National Medal of Science: Recipient Details - NSF - National Science Foundation". www.nsf.gov. Archived from the original on November 23, 2018. Retrieved March 26, 2020.
  72. ^ "Golden Plate Awardees of the American Academy of Achievement". www.achievement.org. American Academy of Achievement.
  73. ^ "Harvey". IL: Technion. 1995. Archived from the original on July 21, 2011.
  74. ^ "Donald Knuth: 1998 Fellow". Computer History Museum. 2015. Archived from the original on March 13, 2018. Retrieved March 12, 2018.
  75. ^ "21656 Knuth (1999 PX1)". Minor Planet Center. Archived from the original on May 8, 2016. Retrieved February 23, 2019.
  76. ^ "MPC/MPO/MPS Archive". Minor Planet Center. Archived from the original on March 5, 2019. Retrieved February 23, 2019.
  77. ^ "Katayanagi". CMU. Archived from the original on June 15, 2019. Retrieved January 6, 2020.
  78. ^ Galardonados (2010). "Fronteras" (in Spanish). ES: FBBVA. Archived from the original on August 19, 2016.
  79. ^ Myers, Andrew (June 1, 2001). "Stanford's Don Knuth, a pioneering hero of computer programming". Stanford Report. Archived from the original on June 23, 2011. Retrieved June 27, 2011.
  80. ^ Knuth, Donald. "Problems That Philippe Would Have Loved" (PDF). Stanford University. Archived (PDF) from the original on March 16, 2018. Retrieved March 23, 2022.
  81. ^ Knuth, Donald Ervin. "Books". Home page (list). Archived from the original on August 3, 2019. Retrieved March 26, 2020.
  82. ^ Knuth, Donald Ervin. "Literate Programming". Home page. Archived from the original on August 3, 2019. Retrieved March 26, 2020.
  83. ^ Knuth, Donald Ervin. "Selected Papers on Computer Science". Home page. Archived from the original on August 3, 2019. Retrieved March 26, 2020.
  84. ^ Knuth, Donald Ervin (1983). "Digital Typography". Scientific American. 249 (2): 106–119. Bibcode:1983SciAm.249b.106B. doi:10.1038/scientificamerican0883-106. Archived from the original on May 5, 2019. Retrieved March 26, 2020.
  85. ^ Knuth, Donald Ervin. "Selected Papers on Analysis of Algorithms". Home page. Archived from the original on August 3, 2019. Retrieved March 26, 2020.
  86. ^ Knuth, Donald Ervin. "Selected Papers on Computer Languages". Home page. Archived from the original on August 3, 2019. Retrieved March 26, 2020.
  87. ^ Knuth, Donald Ervin. "Selected Papers on Discrete Mathematics". Home page. Archived from the original on August 3, 2019. Retrieved March 26, 2020.
  88. ^ Knuth, Donald Ervin. "Selected Papers on Design of Algorithms". Home page. Archived from the original on August 3, 2019. Retrieved March 26, 2020.
  89. ^ Knuth, Donald Ervin. "Selected Papers on Fun and Games". Home page. Archived from the original on August 3, 2019. Retrieved March 26, 2020.
  90. ^ Knuth, Donald Ervin. "Companion to the Papers of Donald Knuth". Home page. Archived from the original on August 3, 2019. Retrieved March 26, 2020.

Bibliography