Recent News

[click here to zip down to the schedule of public lectures]

Announcing the first Art of Computer Programming eBooks

For many years I've resisted temptations to put out a hasty electronic version of The Art of Computer Programming, because the samples sent to me were not well made.

But now, working together with experts at Mathematical Sciences Publishers, Addison-Wesley and I are launching an electronic edition that meets the highest standards. We've put special emphasis into making the search feature work well. Thousands of useful "clickable" cross-references are also provided --- from exercises to their answers and back, from the index to the text, from the text to important tables and figures, etc.

Note: However, I have personally approved ONLY the PDF versions of these books. Beware of glitches in the ePUB and Kindle versions, etc., which cannot be faithful to my intentions because of serious deficiencies in those alternative formats.

The first fascicle can be ordered from Pearson's InformIT website, and so can Volumes 1, 2, 3, and 4A.

Twenty Questions

Here's the (fun) result of some recent grilling by a nonrandom sample of colleagues.

A foretaste of Volume 4B

Volume 4B of The Art of Computer Programming will begin with a special section called ‘Mathematical Preliminaries Redux’, which extends the ‘Mathematical Prelimaries’ of Section 1.2 in Volume 1 to things that I didn't know about in the 1960s. Most of this new material deals with probabilities and expectations of random events; there's also an introduction to the theory of martingales.

You can have a sneak preview by looking at the current draft of pre-fascicle 5a (47 pages), last updated 04 December 2014. As usual, rewards will be given to whoever is first to find and report errors or to make valuable suggestions. I'm particularly interested in receiving feedback about the exercises (of which there are 116) and their answers (of which there are 116).

There's stuff in here that isn't in Wikipedia yet!

I worked particularly hard while preparing some of those exercises, attempting to improve on expositions that I found in the literature; and in several noteworthy cases, nobody has yet pointed out any errors. It would be nice to believe that I actually got the details right in my first attempt; but that seems unlikely, because I had hundreds of chances to make mistakes. So I fear that the most probable hypothesis is that nobody has been sufficiently motivated to check these things out as yet.

I still cling to a belief that these details are extremely instructive, and I'm uncomfortable with the prospect of printing a hardcopy edition with so many exercises unvetted. Thus I would like to enter here a plea for some readers to tell me explicitly, ``Dear Don, I have read exercise N and its answer very carefully, and I believe that it is 100% correct,'' where N is one of the following exercises in prefascicle 5a:

Remember that you don't have to work the exercise first; you're allowed and even encouraged to peek at the answer. Please send success reports to the usual address for bug reports (, if you have time to provide this extra help. Thanks in advance!


Hooray! After fifteen years of concentrated work with the help of numerous volunteers, I'm finally able to declare success by releasing Version 1.0 of the software for MMIX. This represents the most difficult set of programs I have ever undertaken to write; I regard it as a major proof-of-concept for literate programming, without which I believe the task would have been too difficult.

Version 0.0 was published in 1999 as a tutorial volume of Springer's Lecture Notes in Computer Science, Number 1750. Version 1.0 has now been published as a thoroughly revised printing, available both in hardcopy and as an eBook. I hope readers will enjoy such things as the exposition of a computer's pipeline, which is discussed via analogy to the activites in a high tech automobile repair shop. There also is a complete implementation of IEEE standard floating point arithmetic in terms of operations on 32-point integers, including original routines for floating point input and output that deliver the maximum possible accuracy. The book contains extensive indexes, designed to enhance the experience of readers who wish to exercise and improve their code-reading skills.

A recent interview

While I was in Paris in June I spent most of a day with Edgar Daylight, a young historian of computer science, who had interviewed me during a previous visit to Europe. As before, he had prepared lots of interesting questions about the early days of computer science, this time featuring the 70s more than the 60s, and he tape recorded my answers. Now he has packaged the edited transcripts into a second book, called Algorithmic Barriers Falling.

Public lectures in 2014

Although I must stay home most of the time and work on yet more books that I've promised to complete, I do occasionally get into speaking mode. Here is a current schedule of events that have been planned for this year so far:

Sunday January 26, 9:15am at First Lutheran Church in Palo Alto
Discussing a multiyear project in which I'm attempting to write a major work for organ in my spare time, based on the Book of Revelation
Wednesday May 7, in the Mackenzie Room, Huang Building 300, 4:00pm
Presenting the 2014 Kailath Lecture, “Let's Not Dumb Down the History of Computer Science”
Tuesday June 10 at Oxford Comlab Lecture Theatre B, 2:00pm
A Departmental Seminar about Remarkable Connections Between Planar Graphs and Ternary Trees
Monday June 16, in Paris, 9:00am
Presenting the inaugural Philippe Flajolet Lecture, “Problems That Philippe Would Have Loved,” at the weeklong Analysis of Algorithms 2014 conference and using these slides (flaj2014.pdf)
Tuesday, June 17, at LIP6 in Paris, 18:00
An impromptu public lecture entitled “All Questions Answered” (a video is now available at that site)
Wednesday September 10, near Moffett field, 1:30--2:30pm
A public presentation with “All Questions Answered” sponsored by CMU West
Saturday October 18, Cubberley Auditorium, 3:00--5:00pm
Participating in Stanford's “Celebration of Mind”, which commemorates the 100th anniversary of Martin Gardner's birth.
Sunday October 26, Math Sciences Research Center (MSRI), 2:00--5:00pm
Participating in Berkeley's “Celebration of Mind”, which commemorates the 100th anniversary of Martin Gardner's birth.
Tuesday December 2, 6:00pm, in the NVIDIA Auditorium, Huang Engineering Center
A "Computer Musing" --- (3/2)-ary trees [the twentieth annual Christmas Tree Lecture]

Click here for the “recent news” that was current at the end of 2013, if you're interested in old news as well as new news.

Don Knuth's home page

Valid HTML 4.01 Transitional