In the Foreward to the new book by John McCormick, Chris Bishop wrote
Computing is transforming our society in ways that are as profound as the changes wrought by physics and chemistry in the previous two centuries. Indeed, there is hardly an aspect of our lives that hasn't already been influenced, or even revolutionized, by digital technology. Given the importance of computing to the modern society, it is therefore somewhat paradoxical that there is so little awareness of the fundamental concepts that make it all possible. The study of these concepts lies at the heart of the computer science, and this new book by MacCormick is one of the relatively few to present them to a general audience.
Chapter-by-chapter, the book covers search engine indexing, the PageRank algorithm, public key cryptography, error-correcting codes, pattern recognition, data compression, databases. These are followed by a general discussion on the limitations and the mundane performance of computers.
As of this writing, I have looked through the chapters 1, 2, 6, and 7 - mainly because of my recent introduction to the algorithms for compressive sensing. Unfortunately, there is no mention of this new field of computer science research. I am a little disappointed but bear no grudge - the author had to make his choices, and the book is certainly not all inclusive, nor it was supposed to be. As the author puts it his
chief goal was to give readers enough knowledge about the great algorithms that they gain a sense of wonder at some of their ordinary computing tasks - much as an amateur astronomer hasa heightened appreciation of the night sky.
The chapters I read impressed me by their prose - unhurried and very clear. At times, I felt like the author not only shares his knowledge of but also his admiration and pride for the algorithms - those gems of human thought - that accomplish the incredibly hard tasks, all without the public being aware of the feats being committed continuously all around us.
The book is indeed an easy read. References are often made to popular articles in the dailies and periodicals; and so are many recommendations for further reading. If I see one feature that I could consider a shortcoming it is that the author glosses over the fact that in some algorithms mathematics provides the essential tools and insights. Most likely, this was done deliberately in order to keep the book attractive to the broadest swathe of potential readers.