Monday, December 5, 2016

Blog 7: Algorithms

I personally did not enjoy Tubes very much so "9 Algorithms That Changed The Future" was a refreshing change. Algorithms are something that I personally love and as I mentioned after reading our first book was my favorite chapter. It is something that I find fascinating, and want to learn how to make in the future. The fact that one complex statement that is only a few characters long can be the basis for an entire program or operation is a really cool concept. Because of that I really enjoyed this book and what it had to offer. Learning about all of these different algorithms and how they work is something I find really cool as a computer scientists.
One section that I really enjoyed was the section titled "precise English statements that are literally impossible to write down as a computer program" (MacCormick 182). This section describes a phenomenon where no matter what the input the program will always crash. It is something that computer scientists refer to as "undecidable". Interestingly enough this problem was thought of before programming was even invented. Alan Touring discovered the halting problem when thinking up the theoretical computer. Even before a programmable computer was invented Touring was able to prove that this would be a problem with computers. But he did prove that computers were still theoretically possible.
One thing that I really enjoyed about the book was that it gave an in depth explanation from a technical point of view. Instead of explaining from scratch like tubes did by going over every little detail and making sure that even if the reader had no idea what a computer was they could still understand the book. McCormick instead wrote the book to someone who understands what a computer is and how code works. Although he sometimes stair steps up to his final point he implies that I, the reader, am not stupid. I found this much more enjoyable to read because most of the content I read was new information that I was able to learn from.
One section that I found interesting was the section on encryption. By using some different analogies than what was used in the lecture I was able to understand how it all works much more easily and really helped me understand the topic better. The analogy about the mixed paint I thought was very helpful and allowed me to grasp the concept much better. Not only did these analogies help, but also the in depth explanations were very helpful. I never felt the need to go research something else while reading this book because everything always always explained in great measure. It seemed whatever question I had had already been thought of by the author and answered. This lead to a very pleasant read.
I would defiantly recommend this book to anyone who wants to learn about algorithms and the thought process behind how they work and how to make one. I think this book was chosen for the class because of everything that is great with the book. It contains great detail that thoroughly explains each topic. The chapters blend well with each other with smooth transitions from one idea to the next. I think that this book was selected for CIS 115 because it mirrors everything that we are learning in the class right now and is a great extension of the lectures in class. I found it very helpful to read the chapters from the book as we went along to expand on everything that we talked about. It was as if the lectures were designed around the book.  All around it is a great book and I give it 4.5 out of 5 stars.

No comments:

Post a Comment