Jolt Finalist: The Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1, by Donald E. Knuth
Written by a man who has lived through all the major milestones of modern computing, computer science rock star Donald Knuth has completed his 4th volume on The Art of Computer Programming 30 years after the third volume was released.
This latest opus is as densely packed a title as the previous TAOCP books have been; and given the density of both the content and presentation, Volume 4A is one of the few computer books these days that demands to be read in traditional ink on paper format. The sheer amount of mathematical notation in the book would make all electronic editions sans a PDF version just a collection of non-reflowable JPEGs interspersed with a sprinkling of text.
Staying true to form, Volume 4A begins with Chapter 7: Combinatorial Searching, with only two subsections (Zeros and Ones, and Generating All Possibilities). Nearly half the book is dedicated to describing and presenting problems for classroom and self-study execution while the remainder provides detailed answers to the questions and four appendixes covering numerical quantities and indexes to notations, algorithms and theorems, and combinatorial problems.
Like all of Knuths's other "Art" books, Volume 4A is not intended for light reading. It may take days to work through a problem and reviewing the answer may take a few more. Because the book also assumes a high degree of comfort with mathematics, statistics, and logic transforms, readers who lack a formal mathematics background will need to devote even more time to digesting the book's contents while they brush up on the formulae and theorems used extensively throughout the book. Yet for those who persist, the payoff is significant. Reading and understanding the material in Art of Computer Programming will be a mental workout that will flex your mind muscle to take on even more strenuous real-world problems in your own work. Those who are impatient or not prepared to invest the time and effort required to grok the 800+ pages of intelligence need not apply. For everyone else dedicated to perfecting their computer science craft, Volume 4A should simply be considered part of the job requirement.
Combined with Knuth's 70+ years and the fact that this latest book is only Part 1 of Volume 4A from Knuth's proposed seven volume set with (Volumes 4B, 4C, and perhaps even a 4D and 4E as part of the plan), it is unlikely that he will be the sole author for the remaining volumes. That would be a shame, given how his voice has guided a generation of programmers to building more sophisticated systems.
Like Knuth's prior volumes, The Art of Computer Programming, Volume 4A, is a must-have book for any serious student of computer science. Regardless of the number of years of programming experience you have, you will acquire lifelong, career-boosting algorithmic insights by digesting this volume slowly.
Mike Riley


