*Literate Programming*. 19741974*Surreal Numbers*.*Concrete Mathematics: 2nd edn*. 1994, with Ronald L. Graham, Oren Patashnik*Selected Papers on Computer Science*. 1996*Digital Typography*. 1999*Selected Papers on Analysis of Algorithms*. 2000- Art of Computer Programming
1973*Fundamental Algorithms: 2nd edn*.1981*Seminumerical Algorithms: 2nd edn*.1973*Sorting and Searching*.*The Stanford GraphBase: a platform for combinatorial computing*. 1993*Combinatorial Algorithms, part 1*. 2011- Art of Computer Programming.
- Fascicle
- Typesetting
1984*The TeXbook*.*TeX: the Program*. 19861986*The METAFONTbook*.*METAFONT: the Program*. 1986*Computer Modern Typefaces*. 1986

- The Complexity of Songs. CACM. 27(4):344-346. 1984.
- Dancing links. 2000. (In
*Millennial Perspectives in Computer Science*) - Randomness in Music. 2011. (In
)*The Best Writing on Mathematics 2013*

- Up-arrow notation for writing really big numbers

**Contents** include:

- Donald E. Knuth. Structured progamming with
**goto**statements.*Computing Surveys*.**6**(4):261-301, December 1974. - Donald E. Knuth. Literate Programming.
*The Computer Journal*.**27**(2):97-111, 1984 - Jon Bentley, Donald E. Knuth, and M. Doug McIlroy. Programming
pearls: a literate program.
*CACM*.**29**(6):471-483, 1986.

a surreal, and intruiging, novelette about a new kind of number system

This collection focuses on Knuth’s publications that were addressed primarily to a general audience rather than to specialists.
The papers, still timely today, survey the field of computer science and the nature of algorithms.
Special topics include the relationship between computer science and mathematics, and between theory and practice,
as well as the known limitations on what can be computed in a reasonable amount of time.
Several papers discuss the history of computer science, from ancient Babylon to modern times.

**Contents** include:

- Donald E. Knuth and Michael F. Plass. Breaking paragraphs into lines.
*Software --- Practice and Experience*.**11**:1119-84, 1981.

Knuth’s multivolume analysis of algorithms is widely recognized as the definitive description of classical computer science.
The first three volumes of this work have long comprised a unique and invaluable resource in programming theory and practice.
Scientists have marveled at the beauty and elegance of Knuth’s analysis,
while practicing programmers have successfully applied his “cookbook” solutions to their day-to-day problems.

Knuth, Volume n has been published, where n = 4A.

The book is Volume 4A, because Volume 4 has itself become a multivolume undertaking. Combinatorial searching is a rich and important topic, and Knuth has too much to say about it that is new, interesting, and useful to fit into a single volume, or two, or maybe even three. This book alone includes approximately 1500 exercises, with answers for self-study, plus hundreds of useful facts that cannot be found in any other publication. Volume 4A surely belongs beside the first three volumes of this classic work in every serious programmer’s library.

This first fascicle updates *The Art of Computer Programming, Volume I, Third Edition: Fundamental Algorithms*,
and ultimately will become part of the fourth edition of that book.
Specifically, it provides a programmer's introduction to the long-awaited MMIX,
a RISC-based computer that replaces the original MIX,
and describes the MMIX assembly language.
The fascicle also presents new material on subroutines, coroutines, and interpretive routines.