Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers Hardcover – Jan 16 2012
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
Honorable Mention for the 2012 Award for Best Professional/Scholarly Book in Computing & Information Sciences, Association of American Publishers
"Nine Algorithms That Changed the Future offers a great way to find out what computer science is really about. In this very readable book, MacCormick (a computer scientist at Dickinson College) shows how a collection of sets of intangible instructions invented since the 1940s has led to monumental changes in all our lives. . . . MacCormick provides a taste of why we computer scientists get so excited about algorithms--for their utility, of course, but also for their beauty and elegance."--Paul Curzon, Science
"MacCormick's book is an easy-to-read and enjoyable guide to some key algorithms. Above all, it conveys a sense of wonder--at the beautiful science, rather than the technical feats, that makes computers do their magic."--Andreas Trabesinger, Nature Physics
"Excellent. . . . MacCormick clearly believes that to be a responsible driver of current technology, you need to understand what is going on at the fundamental level. In addition, he wants us to take delight in the elegance of the solutions that have been developed to address complex questions of the security, integrity and availability of data and digital services. . . . This is an unusually well-written text suitable for anyone with an interest in how today's information systems really work."--John Gilbey, Times Higher Education
"Despite the widespread popular interest in computers, there are very few good, popular introductions to the central ideas of computer science. Nine Algorithms that Changed the Future is certainly one of the best that I have seen. . . . An extraordinary achievement in the daunting task of presenting computer science for a popular audience."--Ernest Davis, SIAM News
"Most people know little and care less about how, say, electronic payments are kept secure or how movies are crammed onto DVDs. But as MacCormick shows, they're the result of often stunning ingenuity and creativity. . . . For insights into the thinking that can turn gigabytes into gigabucks, start here."--Robert Matthews, BBC Focus
"[MacCormick] masterfully uses everyday analogies in a way that gets to the heart of the ideas (he calls them tricks) that make the algorithms work. While this is essential for readers without mathematical background, the other lesson that jumps out is that this is a great way to introduce these algorithms to mathematics and computer science students who will go on to more in-depth treatments. . . . This excellent survey is an outstanding achievement and would make an excellent library acquisition."--Art Gittleman, MAA Reviews
"MacCormick leaves the reader with a sense of the engine that powers the networked world. And at its best, Nine Algorithms enables you to recognise the real world and begin to see those algorithms alive and kicking all around us."--Kevin Slavin, New Scientist
"Nine Algorithms That Changed the Future is technically right on the money, but manages to explain things in ways that are both understandable and fun. . . . Each chapter starts out very simply, gradually building up more complex examples until you reach a full understanding of the algorithm being explained. . . . The writing is excellent: clear, precise, and fun. I highly recommend this book to anyone curious about the ingenious mathematical and algorithmic ideas underlying some of today's most ubiquitous technology."--Brent Yorgey, Math Less Traveled
"One of the best things about Nine Algorithms That Changed the Future is that it is of interest to computer professionals and innocent bystanders (non-professionals) alike. The author doesn't attempt to 'baffle us with science' or blow us away with his mathematical prowess. Instead, he employs simple analogies that we can all understand. His use of mixing colored paints to explain the machinations of public key cryptography is, frankly, brilliant. . . . I highly recommend this book as a very enjoyable read that will be of interest to anyone who would like to understand more about the way in which the computer systems we use every day perform their magic."--Clive Maxfield, EE Times
"In our increasingly digitally dominated world, any book that attempts to explain for the layperson 'the ingenious ideas that drive today's computers' should find a ready audience and become required reading for the curious, enthusiastic, responsible and attentive netizen. . . . [Nine Algorithms That Changed the Future] does indeed go a long way toward satisfying that need. . . . MacCormick's two main techniques for conveying his insights are metaphor and a stepwise progression of complexity, moving from usefully oversimplified examples to the actual algorithmic realities. . . . A real sense of the steady progression of computer science arises."--Paul Di Filippo, Barnes and Noble Review
"Unusual and engaging. . . . A clear and simple explanation of what it is that makes everyday business and personal computing work. . . . MacCormick has a knack of explaining the smart tricks behind how search engines work and why Google is the best; the cryptography that makes online payments safe (with a brilliant paint-mixing analogy for public keys); error correction of noisy signals; pattern recognition from handwritten postcodes to people's faces (his specialism); data compression in 'zip' files; database structures and certified digital signatures. . . . I raced through it and eagerly want to know more."--Diana Hunter, Financial World
"Algorithms are the controls that drive the engines of the Internet age. Here, MacCormick provides a popular account of several algorithms that affect people's everyday lives."--Choice
"John MacCormick's Nine Algorithms that Changed the Future joins a small set of books that have tried to communicate the nature of the field for a general audience. MacCormick provides something like a quick package tour, with stops at a few highlights--the 'great algorithms' of the title. . . . MacCormick has provided a nice introductory tour, suitable for those who are willing to commit to only a brief visit. Perhaps the taste that he provides will inspire some of those tourists to a more extensive exploration."--Cary Gray, Books & Culture
"This is a valuable addition to the popular computing literature. I would definitely recommend it for any university computer science collection, both for computing students and for those that are just interested. Larger public library systems would probably also benefit, especially for branches located near high schools. As for high schools, this is definitely the kind of book that could make a huge difference in the life of a young man or woman who's wavering about a career in computing."--John Dupuis, Confessions of a Science Librarian
"In Nine Algorithms that Changed the Future, John MacCormick illustrates the magical mix of tricks, genius, and raw number-crunching power that computers use to solve the everyday problems behind activities like web searches and secure online banking. This book stands out for presenting complicated algorithms in a way that is accessible to a wide variety of readers."--Andrew M. C. Dawes, Books & Culture
"[This is an] extraordinary achievement in the daunting task of presenting computer science for a popular audience."--Ernest Davis, Popular (Computer) Science
"MacCormick writes in a very clear, simple style, leading the reader step by step through even the most complex explanations."--Wendy M Grossman, ZDNet
"For a reader unskilled with computers, there's likely no better account of the software that underpins everything from Amazon to Facebook."--Brett Szmajda, COSMOS Magazine
"The book will certainly delight not only readers with little or no computer science background, but computer scientists as well."--Y. Narahari, Current Science
"The author gives enough detailed mathematical information to interest students at all levels but also has an intriguing way of explaining things for mathematicians. . . . I highly recommend this book to anyone--students and teachers of mathematics as well as nonmathematicians who, whether they realize it or not, use the main ideas of computer science every day."--Anne Quinn, Mathematics Teacher
"[N]o mathematics, no Computer Science with capitals but easy reading for everyone from 9 till 99. If you are a computer scientist yourself, you might find ideas about how to explain things, or you might find this book an excellent idea to give as a present to grandma so that you don't have to explain yourself."--A. Bultheel, European Mathematical Society
"These revolutionary algorithms have changed our world: this book unlocks their secrets, and lays bare the incredible ideas that our computers use every day."--Zentralblatt MATH
"An easy to read introduction to algorithms for a non-technical audience."--Ben Everard, Linux Voice
From the Back Cover
"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
See all Product Description
Inside This Book(Learn More)
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
Most of the chapters take a discrete innovation and lead the reader along a relatively easy path to understanding the idea. Two chapters seemed to me to stand out as exceptions. Modern databases rest on many ideas, the database chapter felt distinctly less clean than the others as it wandered through some of those ideas. They certainly are great, important ideas, the descriptions seemed reasonable, but I preferred the discrete treatment of a single idea in other chapters. The other exception was the last chapter that discussed one of Allan Turing's ideas about the limitations of computer algorithms. I really liked this chapter and thought it was a brilliant way to wrap up the book.
John MacCormick deserves a great deal of credit for a good execution of a great idea.
Most Helpful Customer Reviews on Amazon.com (beta)
The algorithms he describes include the key insights that have gone into building search engines such as Google and its predecessor Alta Vista, public key cryptography and digital signatures, data compression, error correction, pattern recognition techniques, and relational databases.
The nature of the algorithms varies. Public-key cryptography and digital signatures are based on very elegant mathematics. Many of the other algorithms are simpler, insights into how people work and clever ways of programming. Many of the things he discusses involve whole families of different algorithms. There are lots of different schemes to compress data, each with advantages and disadvantages, most of which work better with some kinds of data than others. The same seems true of error detection and correction techniques. There is a lot of common sense, but nothing he describes in those realms seems like true genius.
I made my living with relational databases. MacCormick does a good job of describing a couple of the tricks that ensure data integrity, which as he explains is absolutely vital to the functioning of a database. Those tricks include a two-phase commit, rollbacks, and transaction logging. I think he did not devote enough explanation to the power of joins, selects, and the other operators that enable a programmer to easily assemble data in a useful format. Working in a relational database involves a major paradigm shift from working one record or transaction at a time to working in parallel with every element in a database which matches certain criteria. This was central to Codd's insight; the guarantee of integrity is simply an essential feature of the implementation of that insight.
I'd recommend the MacCormick brush up on his HL Mencken or PT Barnum. You can go broke overestimating the intelligence of the American people. My guess is that the majority of people with patience enough to go through his examples already know more about computers than he expects. However, even a guy like me who has been working with computers pretty constantly since 1958 and had a passing familiarity with every algorithm he discusses certainly benefits from his illustrations.
How is this important? There should at least be footnotes for the mathematically or computer literate. For instance, he describes modulo arithmetic as "clock arithmetic." Every time you past 12 (or the arbitrarily chosen the biggest number, usually prime, on his metaphorical clock, you start over. Just like five hours after eight o'clock is one o'clock.
He uses multiplication to frame out the logic of the concepts of public key cryptography and digital signatures, which are operationally fairly similar. He then switches to exponentiation, which is the method which is really used, because it is not reversible. The book would have been stronger if he had given examples. Just as multiplication has an inverse function, division, exponentiation has a reverse function, logarithms. The difference is that given a number and one of its factors, it is trivial to divide to find the other factor. Conversely, given a number and a modulo exponential of that number, it is difficult to derive the logarithm in a modulo world. I think.
I would have enjoyed an explanation of why the modulo arithmetic works. In his multiplication example he takes advantage of the associative property of multiplication: the order of the operations doesn't matter. The same is true of exponentiation. (5^3)^4 = (5^4)^3. Most college graduates have been exposed to this fact. I would have enjoyed reading an explanation of why it is also true for modulo arithmetic. In other words, if I raise five to the third power,modulo 11, and raise that to the fourth power,modulo 11, please provide a proof of the proposition that all get the same answer as if I did the operations in reverse. In other words, why does the principle of commutativity remained true in a modulo arithmetic world.
These quibbles aside, I will have to say that his paint mixing metaphor for public-key cryptography provides far and away the clearest explanation I have ever read. It is exactly what he intended: something an intelligent layperson could understand. He has a similarly elegant padlock and key metaphor for digital signatures. The strength of his argument falters a bit when he gets into numeric examples. He chooses one digit numbers for simplicity. In doing so he sacrifices communicating intuitively the power of very large numbers.
I have spent a lifetime with programmers, and I don't think I have known one who would have attempted even to explain these algorithms. I wish MacCormick luck with his intelligent laypeople, but I think it will be of most value to people within the profession to understand the tools they work with every day. A valuable book - glad to have it on my shelf.
Written on VERY elementary level, rather not for professional but for complete amateur. Good as a basis for popular lectures, on K-12 level.
However, selection of "great" algorithms is a bit arbitraty and limited. Some GREAT algorithms are missing:
1. FFT (Fast Fourier Transform). This is the bridge bewteen analog world and digital world. Without FFT would be no digital communications, digital music and modern cell phones
2. Kalman Filter. Algorithm for extracting useful signal from noise. Without Kalman Filter would be no space ships, telecommunication satellites and car computers
3. Linear Programming. How to make optimal decisions. This is the tool that makes economy efficient, controls manufacturing and transportation
Conceptually, these algorithms are a bit more complex than ones described in the book - some mathematics is needed to present these algorithms. But experience shows that elementary presentation is possible. In addition, these algorithms show that MATHEMATICS is the basis for great algorithms. This simple fact is not understood by young peopole who associate great algorithm with nothing more than programming in Java. And this simple fact is not sufficiently visible from the book
The Kindle version wasn't really up to scratch. For example big chunks of chapter 10 were centered rather than justified making it surprisingly hard to read and the imagery was almost impossible to digest in some points. I'm sure the experience of the physical copy would be better.
On the whole, not a bad read, but not recommended for geeks who already have a background in algorithms.
Look for similar items by category
- Books > Computers & Technology > Computer Science > Artificial Intelligence
- Books > Computers & Technology > History & Culture > History
- Books > Computers & Technology > Internet & Social Media > Online Searching
- Books > Computers & Technology > Programming > Algorithms
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Logic