No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Digital List Price: CDN$ 21.94
Kindle Price: CDN$ 13.21

Save CDN$ 7.74 (37%)

includes free international wireless delivery via Amazon Whispernet

These promotions will be applied to this item:

Deliver to your Kindle or other device

Deliver to your Kindle or other device

Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers by [MacCormick, John]
Kindle App Ad

Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers Kindle Edition

4.0 out of 5 stars 1 customer review

See all 5 formats and editions Hide other formats and editions
Amazon Price
New from Used from
Kindle Edition
"Please retry"
CDN$ 13.21

Length: 232 pages

50 Kindle Books for $2 Each
Treat yourself to a new book. These 50 Kindle titles are just $2 each through the end of the month. Learn more

Product Description


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

Product Description

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.

Product Details

  • Format: Kindle Edition
  • File Size: 4189 KB
  • Print Length: 232 pages
  • Publisher: Princeton University Press (Dec 27 2011)
  • Sold by: Amazon Digital Services LLC
  • Language: English
  • ASIN: B005Z67EI0
  • Text-to-Speech: Enabled
  • X-Ray:
  • Word Wise: Not Enabled
  • Enhanced Typesetting: Not Enabled
  • Average Customer Review: 4.0 out of 5 stars 1 customer review
  • Amazon Bestsellers Rank: #139,966 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images or tell us about a lower price?

click to open popover

Customer Reviews

4.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See the customer review
Share your thoughts with other customers

Top Customer Reviews

Format: Hardcover Verified Purchase
The concept of this book is great, it is well written, and I would expect it to lead to an even better second edition. The key of the book is to both understand some great ideas AND communicate them. Sometimes it is good to read a simple description of an idea you already understand to improve your own ability to communicate that idea.

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.
One person found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most Helpful Customer Reviews on (beta) HASH(0xa11bd468) out of 5 stars 78 reviews
129 of 135 people found the following review helpful
HASH(0xa1173fe4) out of 5 stars A valuable book for computer professionals, designed to be accessible to those who aren't Jan. 5 2012
By Graham H. Seibert - Published on
Format: Kindle Edition Verified Purchase
MacCormick targets this book at intelligent laypeople, folks who use computers but don't have a formal background in either computer science or mathematics. The book's greatest strength is in the examples he structures to illustrate some fairly deep computer concepts using concrete metaphors such as paint mixing and padlocks.

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.
49 of 57 people found the following review helpful
HASH(0xa11c424c) out of 5 stars Great book, but not complete.... May 30 2012
By Amazon Customer - Published on
Format: Kindle Edition Verified Purchase
Great book. Good for showing young people that computers can do more than just play games and access facebook.

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
29 of 33 people found the following review helpful
HASH(0xa11c4210) out of 5 stars Good for those new to the field, a little drab for geeks June 16 2012
By Oliver J Reeves - Published on
Format: Kindle Edition Verified Purchase
The book was enjoyable but did in many ways feel like a father trying to explain things to his toddler. The style of the book felt unnecessarily "soft" given that the topic is Algorithms. Even the pictures that were used seem almost childlike. Some of the chosen algorithms were interesting, some were a little boring. The last chapter on what is computable was way too long and mostly uninteresting. Having said that, for those who have never before experienced, or had exposure to, algorithms and/or the science of computing there is something to be found here.

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.
14 of 15 people found the following review helpful
HASH(0xa11c4504) out of 5 stars Pedagogical Tour de Force March 26 2012
By william c christopfel - Published on
Format: Hardcover Verified Purchase
A terrific book if you are interested in understanding how these algorithms work. The author is superb at explaining the core ideas in clear, understandable terms. You don't need to be a computer geek to follow this book. All you need is a desire to understand. I wish I had had more teachers like this guy when I was in school. I am truly impressed with his ability to explain.
6 of 6 people found the following review helpful
HASH(0xa11c4564) out of 5 stars An ideal type of book for CS beginners May 8 2012
By grandstar - Published on
Format: Hardcover Verified Purchase
While I was reading the book, I kept thinking, "why don't CS professors explain like this?" One of the author's contributions is that the book mitigates not only the difficulties most CS starters experience when trying to grasp the idea behind wonderful codes, but also the fear that the discipline is for some gifted intellectuals. The author makes readers to explore more into other algorithms. This book was the first that makes me feel introducing to my homeland people by translating this into my mother language.