# Donald Knuth
![[50 Resources/51 Attachments/51.03 Public/2026-02-03 Donald Knuth.jpg|400]]
Donald Knuth (born 1938) is an American computer scientist, mathematician, and professor emeritus at Stanford University, widely regarded as the "father of algorithm analysis." His multi-volume work *The Art of Computer Programming* (TAOCP), begun in 1962 and still ongoing, is considered one of the most important texts in computer science—Bill Gates said anyone who finishes it should send him a résumé. Knuth made foundational contributions to algorithm analysis, introduced Big O notation to computer science, and created the TeX typesetting system and METAFONT font system.
Knuth invented [[Literate Programming]] in 1984—a paradigm where programs are written as narratives explaining the logic, with code woven in. He developed the WEB and CWEB systems to implement this approach, using them to write TeX and METAFONT themselves. He's known for offering $2.56 (one "hexadecimal dollar") to anyone who finds an error in his books. Knuth is a Turing Award recipient (1974) and has received virtually every major honor in computing and mathematics. His work exemplifies deep, careful thinking—he famously doesn't use email, preferring focused work over constant communication.
## Major Contributions
```
┌─────────────────────────────────────────────────────────────┐
│ DONALD KNUTH │
│ "The Father of Algorithm Analysis" │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ THE ART OF COMPUTER PROGRAMMING (1962–) │ │
│ │ Vol 1: Fundamental Algorithms │ │
│ │ Vol 2: Seminumerical Algorithms │ │
│ │ Vol 3: Sorting and Searching │ │
│ │ Vol 4A: Combinatorial Algorithms (2011) │ │
│ │ Vol 4B: Combinatorial Algorithms (2022) │ │
│ │ ... (ongoing, planned through Vol 7) │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ TeX │ │ LITERATE │ │
│ │ Typesetting │ │ PROGRAMMING │ │
│ │ (1978) │ │ (1984) │ │
│ │ LaTeX built on │ │ Programs as │ │
│ │ this │ │ literature │ │
│ └─────────────────┘ └─────────────────┘ │
│ │
│ Algorithm analysis • Big O notation • Turing Award 1974 │
│ │
└─────────────────────────────────────────────────────────────┘
```
## Key Contributions
| Contribution | Description |
|--------------|-------------|
| **TAOCP** | Definitive computer science reference |
| **Algorithm analysis** | Mathematical study of efficiency |
| **Big O notation** | Popularized in CS for complexity |
| **TeX** | Typesetting system for mathematics |
| **METAFONT** | Font design system |
| **[[Literate Programming]]** | Programs as human-readable documents |
| **WEB/CWEB** | Literate programming systems |
## The Art of Computer Programming
| Volume | Title | Year |
|--------|-------|------|
| 1 | Fundamental Algorithms | 1968 |
| 2 | Seminumerical Algorithms | 1969 |
| 3 | Sorting and Searching | 1973 |
| 4A | Combinatorial Algorithms | 2011 |
| 4B | Combinatorial Algorithms | 2022 |
| 5-7 | Planned | TBD |
## Awards and Honors
| Award | Year |
|-------|------|
| **Turing Award** | 1974 |
| **National Medal of Science** | 1979 |
| **John von Neumann Medal** | 1995 |
| **Kyoto Prize** | 1996 |
## Knuth's Philosophy
| Principle | Description |
|-----------|-------------|
| **Deep work** | No email, focused attention |
| **Correctness** | $2.56 for errors found |
| **Craftsmanship** | Programs as art |
| **Documentation** | Code should be readable |
| **Patience** | 60+ years on TAOCP |
## Literate Programming
| Concept | Description |
|---------|-------------|
| **WEB** | Literate programming for Pascal |
| **CWEB** | Literate programming for C |
| **Tangle** | Extract executable code |
| **Weave** | Generate documentation |
| **Human-first** | Write for readers, not compilers |
## Quotes
<!-- QueryToSerialize: LIST FROM #type/quote AND [[Donald Knuth]] WHERE public_note = true SORT file.name ASC -->
## Books
<!-- QueryToSerialize: LIST FROM #type/book AND [[Donald Knuth]] WHERE public_note = true SORT file.name ASC -->
## References
- Knuth, D. (1968–). *The Art of Computer Programming*
- Knuth, D. (1984). "Literate Programming"
- https://www-cs-faculty.stanford.edu/~knuth/
- https://en.wikipedia.org/wiki/Donald_Knuth
## Related
- [[Literate Programming]]