Donald Knuth
























































Donald Knuth


ForMemRS


KnuthAtOpenContentAlliance.jpg
Knuth in 2005

Born
Donald Ervin Knuth


(1938-01-10) January 10, 1938 (age 81)

Milwaukee, Wisconsin, U.S.

Nationality American
Alma mater


  • Case Institute of Technology (B.S., M.S.)


  • California Institute of Technology (Ph.D.)

Known for

  • The Art of Computer Programming


  • TeX, METAFONT, Computer Modern

  • Knuth–Morris–Pratt algorithm

  • Knuth–Bendix completion algorithm

  • MMIX

  • Robinson–Schensted–Knuth correspondence

  • LR parser

Awards



  • Grace Murray Hopper Award (1971)


  • Turing Award (1974)


  • National Medal of Science (1979)


  • John von Neumann Medal (1995)


  • Harvey Prize (1995)


  • Kyoto Prize (1996)


  • Computer History Museum Fellow (1998)[1]


  • ForMemRS (2003)[2]


  • Faraday Medal (2011)


  • BBVA Foundation Frontiers of Knowledge Award (2010)


  • Turing Lecture (2011)


Scientific career
Fields

  • Mathematics

  • Computer science

Institutions Stanford University
Thesis
Finite Semifields and Projective Planes (1963)
Doctoral advisor
Marshall Hall, Jr.[3]
Doctoral students


  • Leonidas J. Guibas

  • Michael Fredman

  • Scott Kim

  • Vaughan Pratt

  • Robert Sedgewick

  • Jeffrey Vitter


  • Andrei Broder[3]



Website cs.stanford.edu/~knuth

Donald Ervin Knuth (/kəˈnθ/[4]kə-NOOTH; born January 10, 1938) is an American computer scientist, mathematician, and professor emeritus at Stanford University.


He 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. Knuth strongly opposes granting software patents, having expressed his opinion to the United States Patent and Trademark Office and European Patent Organisation.




Contents






  • 1 Biography


    • 1.1 Early life


    • 1.2 Education


    • 1.3 Early work




  • 2 Writings


    • 2.1 The Art of Computer Programming (TAOCP)


    • 2.2 Other works


    • 2.3 Works regarding Knuth's religious beliefs


    • 2.4 Opinion on software patents




  • 3 Computer Musings


  • 4 Programming


    • 4.1 Digital typesetting


    • 4.2 Literate programming




  • 5 Personal life


    • 5.1 Chinese name


    • 5.2 Health concerns


    • 5.3 Humor




  • 6 Awards and honors


  • 7 Gallery


  • 8 Publications


  • 9 See also


  • 10 References


  • 11 Bibliography


  • 12 External links





Biography



Early life


Knuth was born in Milwaukee, Wisconsin, to German-Americans Ervin Henry Knuth and Louise Marie Bohning.[5] His father had two jobs: running a small printing company and teaching bookkeeping at Milwaukee Lutheran High School.[6] Donald, a student at Milwaukee Lutheran High School, received academic accolades there, especially because of the ingenious ways that he thought of solving problems.[6] 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. Although the judges only had 2,500 words on their list, Donald found 4,500 words, winning the contest. As prizes, the school received a new television and enough candy bars for all of his schoolmates to eat.[7][6]



Education


In 1956, Knuth received a scholarship to the Case Institute of Technology (now part of Case Western Reserve University) in Cleveland, Ohio. He also joined Beta Nu Chapter of the Theta Chi fraternity. While studying physics at the Case Institute of Technology, Knuth was introduced to the IBM 650, one of the early mainframes. 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.[8]


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


Knuth was one of the founding editors of the Engineering and Science Review, which won a national award as best technical magazine in 1959.[9] He then switched from physics to mathematics, and in 1960 he received his bachelor of science degree, simultaneously being given a master of science degree by a special award of the faculty who considered his work exceptionally outstanding.[8][10]


In 1963, with mathematician Marshall Hall as his adviser,[3] he earned a PhD in mathematics from the California Institute of Technology.[11]



Early work


After receiving his PhD, Knuth joined Caltech's faculty as an assistant professor.[12]


He accepted a commission to write a book on computer programming language compilers. While working on this project, Knuth 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. As Knuth 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.[13]


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, then situated on the Princeton University campus, which was performing mathematical research in cryptography to support the National Security Agency.


Knuth then left this position to join the Stanford University faculty, where he is now Fletcher Jones Professor of Computer Science, Emeritus.[14][15]



Writings


Knuth is a writer, as well as a computer scientist.[12] Knuth has been called the "father of the analysis of algorithms".[16]



The Art of Computer Programming (TAOCP)



In the 1970s, Knuth described computer science as "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."[17] By 2011, the first three volumes and part one of volume four of his series had been published.[18]Concrete Mathematics: A Foundation for Computer Science 2nd ed., which originated with an expansion of the mathematical preliminaries section of Volume 1 of TAoCP, has also been published.


Bill Gates has praised the difficulty of the subject matter in The Art of Computer Programming, stating, "If you think you're a really good programmer ... You should definitely send me a résumé if you can read the whole thing."[19]



Other works


Knuth is also the author of Surreal Numbers,[20] a mathematical novelette on John 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.[21] Knuth is also an occasional contributor of language puzzles to Word Ways: The Journal of Recreational Linguistics.


Knuth has also 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.[22]


Knuth has also appeared in a number of Numberphile[23] and Computerphile videos on YouTube where he has discussed topics from writing Surreal Numbers to why he doesn't use email.



Works regarding Knuth's religious beliefs


In addition to his writings on computer science, Knuth, a Lutheran,[24] is also the author of 3:16 Bible Texts Illuminated,[25] 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 under the leadership of Hermann Zapf. Subsequently, he was invited to give a set of lectures on his 3:16 project, resulting in another book, Things a Computer Scientist Rarely Talks About, where he published the lectures "God and Computer Science".



Opinion on software patents


As a member of the academic and scientific community, Knuth is strongly opposed to the policy of granting software patents for trivial solutions that should be obvious, but has expressed more nuanced views for nontrivial solutions such as the interior-point method of linear programming.[26] He has expressed his disagreement directly to both the United States Patent and Trademark Office and European Patent Organisation.[27]



Computer Musings


Knuth gives informal lectures a few times a year at Stanford University, which he titled "Computer Musings". He is a visiting professor at the Oxford University Department of Computer Science in the United Kingdom and an Honorary Fellow of Magdalen College.[28][29]



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, typeset using the older system, that he took time out to work on digital typesetting and created TeX and Metafont.[30]



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."[31]


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.


Knuth used WEB to program TeX and METAFONT, and published both programs as books.



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.[32]



Chinese name


Knuth's Chinese name is Gao Dena (simplified Chinese: 高德纳; traditional Chinese: 高德納; pinyin: Gāo dé nà).[33][4] In 1977, he was given this name by Frances Yao, shortly before making a 3-week trip to China.[4][34] In his 1980 volume 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".[34]



Health concerns


In 2006, Knuth was diagnosed with prostate cancer. He underwent surgery in December that year and stated, "a little bit of radiation therapy ... as a precaution but the prognosis looks pretty good", as he reported in his video autobiography.[35]



Humor




One of Knuth's reward checks




"Nested parens"—Donald Knuth (on Jacob Appelbaum's shirt within the two parentheses), Jacob Appelbaum, and Donald Knuth


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 instead now gives each error finder a "certificate of deposit" from a publicly listed balance in his fictitious "Bank of San Serriffe".[36]


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


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).[38][39]


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:


.mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 40px}.mw-parser-output .templatequote .templatequotecite{line-height:1.5em;text-align:left;padding-left:1.6em;margin-top:0}

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.[40][41][42]



Awards and honors


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


Knuth was elected a Distinguished Fellow of the British Computer Society (DFBCS) in 1980 in recognition of Knuth's contributions to the field of computer science.


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


Knuth was elected to the National Academy of Sciences in 1975. 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.[2]


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.[43] He is a member of the Norwegian Academy of Science and Letters.[44] In 2012, he became a fellow of the American Mathematical Society.[45] Other awards and honors include:




  • First ACM Grace Murray Hopper Award, 1971


  • Turing Award, 1974


  • Lester R. Ford Award, 1975[46] and 1993[47]

  • Josiah Willard Gibbs Lecturer, 1978[48][49]


  • National Medal of Science, 1979


  • Franklin Medal, 1988


  • John von Neumann Medal, 1995

  • Harvey Prize from the Technion, 1995[50]


  • Kyoto Prize, 1996

  • Fellow of the Computer History Museum "for his fundamental early work in the history of computing algorithms, development of the TeX typesetting language, and for major contributions to mathematics and computer science." 1998[1]

  • Katayanagi Prize, 2010[51]


  • BBVA Foundation Frontiers of Knowledge Award in the category of Information and Communication Technologies, 2010[52]


  • Turing Lecture, 2011


  • Stanford University School of Engineering Hero Award, 2011[53]




Gallery




Publications


A short list of his publications include:[54]


The Art of Computer Programming:


.mw-parser-output .refbegin{font-size:90%;margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{list-style-type:none;margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li,.mw-parser-output .refbegin-hanging-indents>dl>dd{margin-left:0;padding-left:3.2em;text-indent:-3.2em;list-style:none}.mw-parser-output .refbegin-100{font-size:100%}



  1. ——— (1997). "The Art of Computer Programming". 1: Fundamental Algorithms (3rd ed.). Addison-Wesley Professional. ISBN 0-201-89683-4..mw-parser-output cite.citation{font-style:inherit}.mw-parser-output .citation q{quotes:"""""""'""'"}.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Lock-green.svg/9px-Lock-green.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Lock-gray-alt-2.svg/9px-Lock-gray-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration{color:#555}.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration span{border-bottom:1px dotted;cursor:help}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/12px-Wikisource-logo.svg.png")no-repeat;background-position:right .1em center}.mw-parser-output code.cs1-code{color:inherit;background:inherit;border:inherit;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;font-size:100%}.mw-parser-output .cs1-visible-error{font-size:100%}.mw-parser-output .cs1-maint{display:none;color:#33aa33;margin-left:0.3em}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration,.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-right{padding-right:0.2em}


  2. ——— (1997). "The Art of Computer Programming". 2: Seminumerical Algorithms (3rd ed.). Addison-Wesley Professional. ISBN 0-201-89684-2.


  3. ——— (1998). "The Art of Computer Programming". 3: Sorting and Searching (2nd ed.). Addison-Wesley Professional. ISBN 0-201-89685-0.


  4. ——— (2011). "The Art of Computer Programming". 4A: Combinatorial Algorithms. Addison-Wesley Professional. ISBN 0-201-03804-8.


  5. ——— (2005). "MMIX—A RISC Computer for the New Millennium". 1, Fascicle 1. ISBN 0-201-85392-2.


  6. ——— (2008). "The Art of Computer Programming". 4, Fascicle 0: Introduction to Combinatorial Algorithms and Boolean Functions. ISBN 0-321-53496-4.


  7. ——— (2009). "The Art of Computer Programming". 4, Fascicle 1: Bitwise Tricks & Techniques; Binary Decision Diagrams. ISBN 0-321-58050-8.


  8. ——— (2005). "The Art of Computer Programming". 4, Fascicle 2: Generating All Tuples and Permutations. ISBN 0-201-85393-0.


  9. ——— (2005). "The Art of Computer Programming". 4, Fascicle 3: Generating All Combinations and Partitions. ISBN 0-201-85394-9.


  10. ——— (2006). "The Art of Computer Programming". 4, Fascicle 4: Generating All Trees—History of Combinatorial Generation. ISBN 0-321-33570-8.


  11. ——— (2018). "The Art of Computer Programming". 4, Fascicle 5: Mathematical Preliminaries Redux; Backtracking; Dancing Links. ISBN 0-134-67179-1.


  12. ——— (2015). "The Art of Computer Programming". 4, Fascicle 6: Satisfiability. ISBN 0-134-39760-6.



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






  1. ——— (1984). Computers & Typesetting. A, The TeXbook. Reading, MA: Addison-Wesley. ISBN 0-201-13447-0., x+483pp.


  2. ——— (1984). Computers & Typesetting. A, The TeXbook. Reading, MA: Addison-Wesley. ISBN 0-201-13448-9. (softcover).


  3. ——— (1986). Computers & Typesetting. B, TeX: The Program. Reading, MA: Addison-Wesley. ISBN 0-201-13437-3., xviii+600pp.


  4. ——— (1986). Computers & Typesetting. C, The METAFONTbook. Reading, MA: Addison-Wesley. ISBN 0-201-13445-4., xii+361pp.


  5. ——— (1986). Computers & Typesetting. C, The METAFONTbook. Reading, MA: Addison-Wesley. ISBN 0-201-13444-6. (softcover).


  6. ——— (1986). Computers & Typesetting. D, METAFONT: The Program. Reading, MA: Addison-Wesley. ISBN 0-201-13438-1., xviii+566pp.


  7. ——— (1986). Computers & Typesetting. E, Computer Modern Typefaces. Reading, MA: Addison-Wesley. ISBN 0-201-13446-2., xvi+588pp.


  8. ——— (2000). Computers & Typesetting. A-E Boxed Set. Reading, MA: Addison-Wesley. ISBN 0-201-73416-8.



Books of collected papers:






  1. ——— (1992). "Literate Programming". Lecture Notes (27). Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 0-937073-80-6.
    [55]


  2. ——— (1996). "Selected Papers on Computer Science". Lecture Notes (59). Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 1-881526-91-7.
    [56]


  3. ——— (1999). "Digital Typography". Lecture Notes (78). Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 1-57586-010-4.
    [57]


  4. ——— (2000). "Selected Papers on Analysis of Algorithms". Lecture Notes (102). Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 1-57586-212-3.
    [58]


  5. ——— (2003). "Selected Papers on Computer Languages" (cloth)|format= requires |url= (help). Lecture Notes (139). Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 1-57586-381-2.,
    ISBN 1-57586-382-0 (paperback)[59]


  6. ——— (2003). "Selected Papers on Discrete Mathematics" (cloth)|format= requires |url= (help). Lecture Notes (106). Stanford, CA: Center for the Study of Language and Information—CSLI. ISBN 1-57586-249-2.,
    ISBN 1-57586-248-4 (paperback)[60]

  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)[61]

  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)[62]

  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)[63]



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 0-201-55802-5. 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.
    [20]

  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

  9. Daniel H. Greene and Donald E. Knuth, Mathematics for the Analysis of Algorithms (Boston: Birkhäuser), 1990. viii+132pp.

  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.

  11. 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



  • Asymptotic notation

  • Attribute grammar

  • Dancing Links

  • Knuth–Bendix completion algorithm

  • Knuth–Morris–Pratt algorithm

  • Knuth -yllion

  • Knuth Prize

  • Knuth shuffle

  • Knuth's up-arrow notation

  • Man or boy test

  • Robinson–Schensted–Knuth correspondence

  • TeX

  • The Complexity of Songs

  • Trabb Pardo–Knuth algorithm

  • List of pioneers in computer science

  • List of science and religion scholars



References





  1. ^ ab "Donald Knuth: 1998 Fellow". Computer History Museum. 2015. Retrieved March 12, 2018.


  2. ^ ab "Professor Donald Knuth ForMemRS". London: Royal Society. Archived from the original on 2015-11-17.


  3. ^ abc Donald Knuth at the Mathematics Genealogy Project


  4. ^ abc Knuth, Donald Ervin. "Frequently Asked Questions". Home page. Stanford University. Retrieved 2010-11-02.


  5. ^ "Donald E. Knuth". Retrieved October 15, 2016.


  6. ^ abc 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.


  7. ^ 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.


  8. ^ abc Koshy, Thomas (2004). Discrete mathematics with applications. Academic Press. p. 244. ISBN 978-0-12-421180-3. Retrieved July 30, 2011.


  9. ^ History of Beta Nu Chapter. "Theta Chi". CWRU.


  10. ^ "A.M. Turing Award; Donald ("Don") Erwin Knuth". ACM. 1974.


  11. ^ Knuth, Donald Ervin (1963). "Finite Semifields and Projective Planes" (PDF). CaltechPhD dissertation


  12. ^ ab Knuth, Donald Ervin. "Curriculum vitae". Stanford University.


  13. ^ "The Art of Computer Programming". Stanford University.


  14. ^ Knuth, Donald Ervin. "Home page". Stanford University. Retrieved 2005-03-16.


  15. ^ https://profiles.stanford.edu/donald-knuth


  16. ^ Karp, Richard M. (February 1986). "Combinatorics, Complexity, and Randomness". Communications of the ACM. New York, NY, USA: ACM. 29 (2): 98–109. doi:10.1145/5657.5658.


  17. ^ "BBVA Foundation Frontiers of Knowledge Awards". Archived from the original on August 19, 2016. Retrieved October 15, 2016.


  18. ^ Knuth, Donald Ervin. "The Art of Computer Programming (TAOCP)". Retrieved February 6, 2018.


  19. ^ Weinberger, Matt (26 April 2016). "Bill Gates once said 'definitely send me a résumé' if you finish this fiendishly difficult book'". BusinessInsider.com. Retrieved 13 June 2016. "If you think you're a really good programmer… read (Knuth's) Art of Computer Programming… You should definitely send me a résumé if you can read the whole thing," read a quote from Bill Gates on the cover of the third edition of the first volume.


  20. ^ ab Knuth, Donald Ervin. "Surreal numbers". Home page.


  21. ^ Zeilberg. "DEK". Rutgers.


  22. ^ Madachy, Joseph S.,Mathematics on Vacation, Thomas Nelson & Sons Ltd. 1966


  23. ^ http://www.numberphile.com/team/index.html


  24. ^ Platoni 2006.


  25. ^ Knuth, Donald Ervin (1991). 3:16 : Bible texts illuminated. Madison, WI: A-R Eds. ISBN 978-0-89579-252-5.


  26. ^ "All Questions Answered" (PDF). Notices (article). The American Mathematical Society. March 2002.


  27. ^ Knuth, Donald Ervin. "Against software patents" (PDF)Letter to the patent offices in the USA and Europe.


  28. ^ "Professor Donald Knuth". Magdalen College. Archived from the original on January 4, 2011. Retrieved December 6, 2010.


  29. ^ "Notices". Oxford University Gazette. October 30, 2014. Retrieved May 21, 2015.


  30. ^ Knuth, Donald Erwin. "Digital Typography (Kyoto Prize Lecture, 1996)" (PDF).


  31. ^ Knuth, Donald Erwin. "Literate Programming" (PDF).


  32. ^ O'Connor, J. J.; Robertson, E. F. (2015). "Donald Ervin Knuth". University of St Andrews. Retrieved October 20, 2017.


  33. ^ Reutenauer, Arthur. "A brief history of TeX, volume II". TUGboat: 68–72. ISSN 0896-3207.


  34. ^ ab 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.


  35. ^ "Donald Knuth: 85 – Coping with cancer". Web of Stories. April 2006. Retrieved May 2, 2012.


  36. ^ "Rewriting the Bible in 0s and 1s". Technology Review. Massachusetts Institute of Technology.


  37. ^ Knuth, Donald Ervin. "Frequently Asked Questions". Home page. Stanford University. Retrieved November 2, 2010.


  38. ^ Knuth, Donald Ervin (June 1957). "The Potrzebie System of Weights & Measures". Mad Magazine (33).


  39. ^ Kidder, Tracy (2016). A Truck Full of Money. Random House. p. 68. ISBN 9780812995244.


  40. ^ Don Knuth (2010). "TUG". Zeeba TVconference


  41. ^ Knuth, Donald Ervin, An Earth‐shaking announcement, Zeeba TVvideo recording


  42. ^ Knuth, Donald Ervin (2010). "An Earthshaking Announcement" (PDF). TUGboat. 31 (2): 121–24. ISSN 0896-3207.


  43. ^ "Fellows". Siam. 2009.


  44. ^ "Gruppe 1: Matematiske fag" (in Norwegian). Norwegian Academy of Science and Letters. Archived from the original on November 10, 2013. Retrieved October 7, 2010.


  45. ^ List of Fellows of the American Mathematical Society, retrieved 2013-01-27.


  46. ^ Knuth, D. E. (1974). "Computer science and its relation to mathematics". Amer. Math. Monthly. 81: 323–343. doi:10.2307/2318994.


  47. ^ Knuth, D. E. (1992). "Two notes on notation". Amer. Math. Monthly. 99: 403–422. arXiv:math/9205211. doi:10.2307/2325085.


  48. ^ "American Mathematical Society". Retrieved October 15, 2016.


  49. ^ Knuth, Donald E. (1979). "Mathematical typography". Bull. Amer. Math. Soc. (N.S.). 1 (2): 337–372. doi:10.1090/s0273-0979-1979-14598-1. MR 0520078.


  50. ^ "Harvey". IL: Technion. 1995. Archived from the original on July 21, 2011.


  51. ^ "Katayanagi". CMU.


  52. ^ Galardonados (2010). "Fronteras" (in Spanish). ES: FBBVA. Archived from the original on August 19, 2016.


  53. ^ Myers, Andrew (June 1, 2001). "Stanford's Don Knuth, a pioneering hero of computer programming". Stanford Report. Retrieved June 27, 2011.


  54. ^ Knuth, Donald Ervin. "Books". Home page (list).


  55. ^ Knuth, Donald Ervin. "Literate Programming". Home page.


  56. ^ Knuth, Donald Ervin. "Selected Papers on Computer Science". Home page.


  57. ^ Knuth, Donald Ervin. "Digital Typography". Home page.


  58. ^ Knuth, Donald Ervin. "Selected Papers on Analysis of Algorithms". Home page.


  59. ^ Knuth, Donald Ervin. "Selected Papers on Computer Languages". Home page.


  60. ^ Knuth, Donald Ervin. "Selected Papers on Discrete Mathematics". Home page.


  61. ^ Knuth, Donald Ervin. "Selected Papers on Design of Algorithms". Home page.


  62. ^ Knuth, Donald Ervin. "Selected Papers on Fun and Games". Home page.


  63. ^ Knuth, Donald Ervin. "Companion to the Papers of Donald Knuth"]". Home page.




Bibliography






  • Knuth, Donald Ervin. Home page. Stanford University.


  • Knuth, Donald Ervin. "The Art of Computer Programming (TAOCP)". Retrieved May 20, 2012.


  • Platoni, Kara; Archibald, Timothy (May–June 2006). Love at First Byte. Stanford Magazine. Stanford Alumni.




External links





  • Donald Knuth's home page at Stanford University.


  • Donald Knuth at Curlie


  • "Donald E. Knuth". Charles Babbage Institute, University of Minnesotaoral history interview Knuth discusses software patenting, structured programming, collaboration and his development of TeX.


  • Donald Knuth at the Mathematics Genealogy Project


  • O'Connor, John J.; Robertson, Edmund F., "Donald Knuth", MacTutor History of Mathematics archive, University of St Andrews.


  • Works by or about Donald Knuth in libraries (WorldCat catalog)


  • List of publications from Microsoft Academic


  • Donald E. Knuth at DBLP Bibliography Server Edit this at Wikidata


  • Free scores by Donald Knuth at the International Music Score Library Project (IMSLP)


  • Interview at Stanford University "Donald Knuth – All Questions Answered" on YouTube


  • Biography of Donald Knuth from the Institute for Operations Research and the Management Sciences

  • Donald Ervin Knuth – Stanford Lectures (Archive)

















Popular posts from this blog

鏡平學校

ꓛꓣだゔៀៅຸ໢ທຮ໕໒ ,ໂ'໥໓າ໼ឨឲ៵៭ៈゎゔit''䖳𥁄卿' ☨₤₨こゎもょの;ꜹꟚꞖꞵꟅꞛေၦေɯ,ɨɡ𛃵𛁹ޝ޳ޠ޾,ޤޒޯ޾𫝒𫠁သ𛅤チョ'サノބޘދ𛁐ᶿᶇᶀᶋᶠ㨑㽹⻮ꧬ꧹؍۩وَؠ㇕㇃㇪ ㇦㇋㇋ṜẰᵡᴠ 軌ᵕ搜۳ٰޗޮ޷ސޯ𫖾𫅀ल, ꙭ꙰ꚅꙁꚊꞻꝔ꟠Ꝭㄤﺟޱސꧨꧼ꧴ꧯꧽ꧲ꧯ'⽹⽭⾁⿞⼳⽋២៩ញណើꩯꩤ꩸ꩮᶻᶺᶧᶂ𫳲𫪭𬸄𫵰𬖩𬫣𬊉ၲ𛅬㕦䬺𫝌𫝼,,𫟖𫞽ហៅ஫㆔ాఆఅꙒꚞꙍ,Ꙟ꙱エ ,ポテ,フࢰࢯ𫟠𫞶 𫝤𫟠ﺕﹱﻜﻣ𪵕𪭸𪻆𪾩𫔷ġ,ŧآꞪ꟥,ꞔꝻ♚☹⛵𛀌ꬷꭞȄƁƪƬșƦǙǗdžƝǯǧⱦⱰꓕꓢႋ神 ဴ၀க௭எ௫ឫោ ' េㇷㇴㇼ神ㇸㇲㇽㇴㇼㇻㇸ'ㇸㇿㇸㇹㇰㆣꓚꓤ₡₧ ㄨㄟ㄂ㄖㄎ໗ツڒذ₶।ऩछएोञयूटक़कयँृी,冬'𛅢𛅥ㇱㇵㇶ𥄥𦒽𠣧𠊓𧢖𥞘𩔋цѰㄠſtʯʭɿʆʗʍʩɷɛ,əʏダヵㄐㄘR{gỚṖḺờṠṫảḙḭᴮᵏᴘᵀᵷᵕᴜᴏᵾq﮲ﲿﴽﭙ軌ﰬﶚﶧ﫲Ҝжюїкӈㇴffצּ﬘﭅﬈軌'ffistfflſtffतभफɳɰʊɲʎ𛁱𛁖𛁮𛀉 𛂯𛀞నఋŀŲ 𫟲𫠖𫞺ຆຆ ໹້໕໗ๆทԊꧢꧠ꧰ꓱ⿝⼑ŎḬẃẖỐẅ ,ờỰỈỗﮊDžȩꭏꭎꬻ꭮ꬿꭖꭥꭅ㇭神 ⾈ꓵꓑ⺄㄄ㄪㄙㄅㄇstA۵䞽ॶ𫞑𫝄㇉㇇゜軌𩜛𩳠Jﻺ‚Üမ႕ႌႊၐၸဓၞၞၡ៸wyvtᶎᶪᶹစဎ꣡꣰꣢꣤ٗ؋لㇳㇾㇻㇱ㆐㆔,,㆟Ⱶヤマފ޼ޝަݿݞݠݷݐ',ݘ,ݪݙݵ𬝉𬜁𫝨𫞘くせぉて¼óû×ó£…𛅑הㄙくԗԀ5606神45,神796'𪤻𫞧ꓐ㄁ㄘɥɺꓵꓲ3''7034׉ⱦⱠˆ“𫝋ȍ,ꩲ軌꩷ꩶꩧꩫఞ۔فڱێظペサ神ナᴦᵑ47 9238їﻂ䐊䔉㠸﬎ffiﬣ,לּᴷᴦᵛᵽ,ᴨᵤ ᵸᵥᴗᵈꚏꚉꚟ⻆rtǟƴ𬎎

Why https connections are so slow when debugging (stepping over) in Java?