Every day, we use our computers to perform remarkable feats. A simple web search picks out a handful of relevant needles from the world's biggest haystack: the billions of pages on the World Wide Web. Uploading a photo to Facebook transmits millions of pieces of information over numerous error-prone network links, yet somehow a perfect copy of the photo arrives intact. Without even knowing it, we use public-key cryptography to transmit secret information like credit card numbers; and we use digital signatures to verify the identity of the websites we visit. How do our computers perform these tasks with such ease?
This is the first book to answer that question in language anyone can understand, revealing the extraordinary ideas that power our PCs, laptops, and smartphones. Using vivid examples, John MacCormick explains the fundamental "tricks" behind nine types of computer algorithms, including artificial intelligence (where we learn about the "nearest neighbor trick" and "twenty questions trick"), Google's famous PageRank algorithm (which uses the "random surfer trick"), data compression, error correction, and much more.
These revolutionary algorithms have changed our world: this book unlocks their secrets, and lays bare the incredible ideas that our computers use every day.
"It's been a long time since any book has given me the excitement I remember from reading Hawking and Feynman in my teens. This book does exactly that. It reminds me why I love computer science. MacCormick's explanations are easy to understand yet they tell the real story of how these algorithms actually work. This is a book that deserves not just to be admired, but celebrated."--Andrew Fitzgibbon, creator of Emmy-winning camera software and consultant for the Xbox 360 Kinect
"This book is for those who have wondered, 'What actually goes on in my computer?' MacCormick clearly explains some of the algorithms used by hundreds of millions of people daily. Not the simple algorithms like arithmetic and sorting, but more complex things such as how to determine the importance of web pages, if and when we are justified in trusting a computer-mediated conversation with another person, and the puzzling issue of what cannot be computed. I recommend it highly."--Chuck Thacker, winner of the 2010 Turing Award
"This is a delightful exploration, in layman's terms, of nine beautiful algorithms that are essential to today's computers. Using clever analogies, MacCormick gives readers a greater knowledge of both the technology they use every day and the intellectual underpinnings of computing. He combines a mathematician's appreciation of powerful ideas and an educator's skill at explaining them in an engaging way."--Sharon Perl, Google
"MacCormick picks nine algorithms for his version of 'genius awards,' and they are good ones. The reader comes away with a new sense of what genius in computer science looks like. And MacCormick leaves room for a future genius, perhaps inspired by this book, to someday make it a top ten list."--William H. Press, coauthor of Numerical Recipes
"John MacCormick has taken many of the algorithms that we rely on every day and explained them in a way that you can understand even if you have a meager mathematical background. I particularly like how he explains public-key cryptography by analogy to mixing paint."--Thomas H. Cormen, Dartmouth College
"MacCormick does a great job of explaining sophisticated ideas in a simple way, and his analogies are wonderful. I particularly enjoyed the thoughtful and detailed historical asides."--Amy N. Langville, coauthor of Google's PageRank and Beyond: The Science of Search Engine Rankings