Recent News

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

Happy 2010 (i.e., MMIX++) to all!

(Photo by Yoichi Hariguchi)

Previews of The Art of Computer Programming, Volume 4A

Paperback previews of new material for The Art of Computer Programming, called ``fascicles,'' have been published occasionally since 2005. Late this year, a hardback Volume 4A will be cobbled together from the five booklets illustrated above, with amendments and corrections that have been suggested by hundreds of helpful readers who have been beta-testing the preliminary installments and providing great feedback.

Here are details of the paperbacks currently available:
Volume 4 Fascicle 0, Introduction to Combinatorial Algorithms and Boolean Functions (2008), xii+216pp. ISBN 0-321-53496-4; fourth printing (August 2009).
Volume 4 Fascicle 1, Bitwise Tricks & Techniques; Binary Decision Diagrams (2009), xiii+261pp. ISBN 0-321-58050-8; second printing (August 2009).
Volume 4 Fascicle 2, Generating All Tuples and Permutations (2005), v+128pp. ISBN 0-201-85393-0; third printing (January 2010).
Volume 4 Fascicle 3, Generating All Combinations and Partitions (2005), vi+150pp. ISBN 0-201-85394-9; third printing (May 2009).
Volume 4 Fascicle 4, Generating All Trees; History of Combinatorial Generation (2006), vi+120pp. ISBN 0-321-33570-8; fourth printing (May 2009).
Booksellers offer a special deal where you get a nice discount if you purchase all five "shrink-wrapped" together.

These fascicles include approximately 1500 exercises, together with answers for self-study. There are some 818 pages, not counting the front matter and indexes. Hundreds of useful facts appear that cannot be found in any other publications, as far as I know.

Naturally I'm anxious to get all these details right, because I've had thousands and thousands of opportunities to make mistakes (and I must admit that I didn't always get 100% on the exams that I took during my student days). Therefore I am happy to offer reward checks whenever somebody helps me pick out a few more nits.

Should you purchase the paperbacks now, given that the hardcover version is less than a year away? That depends on (1) how long you want to wait before learning some of this material---which I believe you'll find useful for the rest of your life, if you are a born computer programmer; and on (2) how much you'd like to help.

Note to Computer Science professors: I've heard that some college courses for grad students and advanced undergrads are being based on one or more of these fascicles. Please let me know about your experiences, if you try such an experiment.

Note to Internet friends: I'm extremely grateful that hundreds of you have taken time to read these drafts, and to detect and report errors that you've found. Your comments have improved the material enormously. But I must confess that I'm also disappointed to have had absolutely no feedback so far on several of the exercises on which I worked hardest when I was preparing this material. Could it be that (1) you've said nothing about them because I somehow managed to get the details perfect? Or is it that (2) you shy away from the more difficult stuff, being unable to spend more than a few minutes on any particular topic? Although I do not like to think that readers are lazy, I fear that hypothesis (1) is far less likely than hypothesis (2). I may have to remove material that nobody cares about. But 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:

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 (taocp@cs.stanford.edu), if you have time to provide this extra help. Thanks in advance!

Public lectures

Although I must stay home most of the time and work on 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:

Saturday, 16 January, 5:00pm to 5:20pm in room 3006 of Moscone Center West in San Francisco
lecturing about "Importunate problems" as part of AMS Special Session on Permutations, II, at the Joint Mathematics Meetings
Wednesday, 5 May (time and place to be announced), Carnegie Mellon University
giving the Katayanagi Prize Lecture (title to be announced)
Thursday and Friday, 6--7 May (time and place to be announced), Carnegie Mellon University
informal lectures about combinatorial algorithms, with audience participation encouraged
Wednesday, 30 June, at the Sir Francis Drake Hotel in San Francisco (some time in the afternoon)
speaking (and making an Earthshaking Announcement) at TeX's 32nd Anniversary Celebration, on the final day of the TUG 2010 Conference

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

Don Knuth's home page

Valid HTML 4.01 Transitional