Nine Algorithms That Changed the Future and over one million other books are available for Amazon Kindle. Learn more
CDN$ 23.82
  • List Price: CDN$ 30.00
  • You Save: CDN$ 6.18 (21%)
FREE Shipping on orders over CDN$ 25.
Only 1 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Add to Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers Hardcover – Jan 16 2012

See all 3 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle Edition
"Please retry"
"Please retry"
CDN$ 23.82
CDN$ 23.82 CDN$ 25.86

Join Amazon Student in Canada

Frequently Bought Together

Customers buy this book with The Irrationals: A Story of the Numbers You Can't Count On CDN$ 19.75

Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers + The Irrationals: A Story of the Numbers You Can't Count On
Price For Both: CDN$ 43.57

Show availability and shipping details

  • This item: Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers

    In Stock.
    Ships from and sold by
    FREE Shipping on orders over CDN$ CDN$ 25. Details

  • The Irrationals: A Story of the Numbers You Can't Count On

    In Stock.
    Ships from and sold by
    FREE Shipping on orders over CDN$ CDN$ 25. Details

Customers Who Bought This Item Also Bought


Product Details

  • Hardcover: 232 pages
  • Publisher: Princeton University Press (Jan. 16 2012)
  • Language: English
  • ISBN-10: 0691147140
  • ISBN-13: 978-0691147147
  • Product Dimensions: 2.8 x 15.9 x 24.1 cm
  • Shipping Weight: 522 g
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: #155,700 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

What Other Items Do Customers Buy After Viewing This Item?

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

Most helpful customer reviews

1 of 1 people found the following review helpful By Warren McPherson on Jan. 18 2013
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.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again.

Most Helpful Customer Reviews on (beta) 56 reviews
122 of 128 people found the following review helpful
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.
25 of 28 people found the following review helpful
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.
38 of 45 people found the following review helpful
Great book, but not complete.... May 30 2012
By lew - 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
13 of 14 people found the following review helpful
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
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.

Product Images from Customers