Despite the widespread popular interest in computers, there are very few good, popular introductions to the central ideas of computer science. 9 Algorithms That Changed the Future is certainly one of the best that I have seen...
The great challenge in a book of this type is to give explanations that, without oversimplification, are understandable to a general audience. MacCormick succeeds brilliantly at this. He lays out clearly the problems to be solved and the ways in which they arise in programs used by the reader every day; then, patiently, with a wealth of beautifully chosen examples and analogies, he builds up the key ingenious ideas behind each of the algorithms, and makes it clear how they work...
[Gives some interesting criticisms, including a nice suggestion for a different way of explaining PageRank]
But these are very small blemishes in what is, overall, an extraordinary achievement in the daunting task of presenting computer science for a popular audience.