Your rating(Clear)Rate this item


There was a problem filtering reviews right now. Please try again later.

125 of 131 people found the following review helpful
Format: Kindle EditionVerified 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.
66 commentsWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
43 of 50 people found the following review helpful
Format: Kindle EditionVerified 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
11 commentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
26 of 30 people found the following review helpful
on June 17, 2012
Format: Kindle EditionVerified 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.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
13 of 14 people found the following review helpful
on March 26, 2012
Format: HardcoverVerified 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.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
6 of 6 people found the following review helpful
on May 8, 2012
Format: HardcoverVerified 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.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
7 of 8 people found the following review helpful
on March 28, 2012
Format: Kindle EditionVerified Purchase
In this book, the author presents the concepts behind some algorithms which have had profound impact on our everyday lives. And most importantly, he does it in a way which makes it understandable for people without formal training in computer science. And even more importantly I think that even computer scientists should really use this book as a learning on how to present complex mathematical ideas with simple examples which almost anyone can understand. My personal favourite is the explanation on public key cryptography using the "paints" example. A must buy for anyone with the curiosity to understand how things work in the world.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 3 people found the following review helpful
on May 8, 2012
Format: HardcoverVerified Purchase
I buy a lot from Amazon, but this is the first time I have taken the time to write a review. The book was that good. I have a background in economics and have recently become interested in computer science. MacCormick has a knack for capturing the essence of complicated ideas and explaining them clearly. At first, I felt like MacCormick was almost being too basic and redundant in his explanations. However, as he added more and more layers of complexity I came to appreciate his approach. In particular, I enjoyed the chapters on public key cryptography, digital signatures, and compression. The book is also very well written. Can't recommend it enough.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 3 people found the following review helpful
on September 3, 2012
Format: Hardcover
The author makes the description so effortless; it does not engage much of your brain power. "No pain no gain", so I think that little is gained from it. Even for a book which is aiming at people with no background, it can still be insightful and thought provoking (Stephen Hawking's "A Brief History of Time" comes to mind). The author does not come close to achieving this. As another closer comparison, John Pierce's "Introduction to Information Theory", has done a much better job to bring technical topics to laymen. So a 3-stars rating is justified.

I also find the author's repeated used of the word "trick" annoying.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
2 of 2 people found the following review helpful
on May 29, 2013
Format: Hardcover
http://itknowledgeexchange.techtarget.com/quality-assurance/book-review-nine-algorithms-that-changed-the-future-a-good-read-for-developers-and-beyond/

Book Review: Nine Algorithms That Changed the Future: A Good Read For Developers And Beyond

Whether you are a rookie, amateur or an expert in coding, this book would definitely prove to be an interesting read for you. It does not really matter if you are not a developer, even then it will definitely give you a good amount of interesting information. Whether you are tester, programmer, or a non technical having a fair amount of interest in technology and logical thinking, do give it a try. I am sure once you start it, you would strive to delve into each page thoroughly right from page 1 to 248.

Nine Algorithms That Changed The Future has been beautifully written by John MacCormick is bound to give you an overview and insight of computing and possibilities about it. It starts with a pace that will be well absorbed by all kind of readers. First chapter starts with a general introduction to computing. The next 2 chapters will reveal all about algorithms for search engine covering concepts and importance of indexing and then the algorithm that works for the ranking of a page. In these 2 chapters you would learn about some amazing facts about indexing and page ranking.

Chapters 4 and 5 will give you an insight of coding theory. Where it is Introduction to public key cryptography that is covered in chapter 4, the next chapter provides you learning about error correction codes. Next chapter (no. 6) touches upon a unique kind of subject that is pattern recognition. Data compression is covered then in chapter 7 giving details of both kind of compressions - lossy and lossless; and the exact theories behind these two kind of compressions.

Without further revealing about rest of the chapters I am sure whatever revealed about is good enough to compel you to go for this lovely read.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
2 of 2 people found the following review helpful
on April 22, 2014
Format: Kindle EditionVerified Purchase
I'm a computational biologist and a self-taught programmer, meaning that I'm always looking to improve my knowledge and understanding of computer science (CS) and how to apply it to my research. This book is a great introduction to general algorithms, although I've already encountered most of them in my studies, and the language is a bit too simple for my background.

With that being said, I think it's really good for those who are either complete CS newbies, or those who are marginally interested in how the world of computers works without wanting to delve into technical language. I certainly would have gotten interested in CS long before I did if I had read this before college!
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
     
 
Customers who viewed this also viewed
Code: The Hidden Language of Computer Hardware and Software
Code: The Hidden Language of Computer Hardware and Software by Charles Petzold (Paperback - October 21, 2000)
$12.85

Tubes: A Journey to the Center of the Internet
Tubes: A Journey to the Center of the Internet by Andrew Blum (Paperback - May 28, 2013)
$12.24

Algorithms Unlocked
Algorithms Unlocked by Thomas H. Cormen (Paperback - March 1, 2013)
$22.50
 
     

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.

Your Recently Viewed Items and Featured Recommendations 
 

After viewing product detail pages, look here to find an easy way to navigate back to pages you are interested in.