This book contains a breadth of advice, examples, and anecdotes, benefiting from her wealth of experience and many collaborations with other innovators in the discipline. The book provides a structured process for the Design of Experiments (DOE) that is tuned to the peculiarities of experiments on algorithms and programs. The book includes dozens of guidelines (68 in all) drawn from her decades 'in the lab.' These guidelines will save the reader loads of time by making the experimental process itself more efficient. Her advice is practical, authoritative, thoughtful, and applicable to the entire range of algorithm design, development, testing, and improvement.
McGeoch's book presents a delightful dance of theoretical and experimental endeavors that in concert provide deep understanding of the algorithms that enable our information age as well as the means to the continual improvement of those fundamental algorithms."
Richard Snodgrass, University of Arizona
"McGeoch (Amherst College) is one of the pioneers in the field. Overall, the book is a desirable companion to algorithm analysis texts, and will greatly benefit the algorithm experimenter community. Recommended."
D. Papamichail, University of Miami for Choice Magazine
"This book provides guidelines and suggestions for performing experimental algorithmic analysis. It contains many examples and includes links to a companion Web site with code for some specific experiments (http://www.cs.amherst.edu/alglab/). The book is a good read with generally good examples, and is short enough to be easily digested."
Jeffrey Putnam, Computing Reviews
"No one is more qualified than Dr. McGeoch to discuss this subject... Overall, this is a very valuable book for every computer scientist's and programmer's bookshelf. It is useful for students and practitioners alike, and is accessible at all levels from serving as an undergraduate supplement to a basic data structures and algorithms course, to its use as the main text in a senior undergraduate to graduate course on the design of real-world algorithms. Even seasoned programmers would benefit from learning the experimental methods given in this book and may gain new insights into analyzing the performance of their algorithmic implementations. As computer architecture continues to increase in complexity with multicore and many-core processors, novel memory subsystems, new accelerators such as Intel Xeon Phi and NVIDIA's graphics processing units (GPUs), and data-intensive computing systems for Big Data problems, the book will become even more valuable for every computer scientist and programmer."
David A. Bader, Georgia Institute of Technology for INFORMS Journal on Computing