I enjoyed some parts of the book, but found a lot of it kind of boring to read. I found some things that were very interesting like the algorithms chapter to be quite interesting to read. Me finding it boring might've had to do with the fact that I have some previous knowledge on programming. The one chapter I really enjoyed as I said was the algorithms and heuristics. This is something that I have little knowledge about, and I found that the book helped me a lot understand what they are and especially how they work.
When I was first learning how to code I tried to make a tic-tac-toe game that would always win. I read the algorithm online and was able to throw together a crude version of it in java. I was able to easily understand the simple step by step tree of situations. Although it is a lot of lines of code it still does what it is supposed to do. I was very proud of myself at the time and it was a big step in me learning how to code. But what I didn't learn was how to make my own algorithm, or how to solve much bigger and complex tasks. This is why when I got to this chapter I was very intrigued, especially about the traveling salesman problem. This problem is used as the example for what a heuristic is, and is used throughout the chapter. The problem is that everyday a salesman or and worker who has to go door to door has a different route everyday. The goal is to always drive the most efficient route. If you used an algorithm to solve this problem it takes an unimaginable amount of time to calculate every option through an algorithm to find the fastest route. Instead you use a heuristic. This makes the computer take the most efficient route from where it is to the next point it can choose. Although it may not be the fastest or best answer, it is better than most of the possibilities. I think this is a really cool part of computer science because I imagine it very similar to artificial intelligence. The fact that the computer can generate its own decisions is really cool, and I really enjoyed learning about that in the book.
The book was probably chosen for this class because it starts from the very beginning. I wish that I had access to a book like this when I was first starting to program. It is able to clearly explain what all the functions of programming are. I would definitely recommend this book to someone interested in learning how to code. It does get a little wordy at times, but I think that is necessary for learning the main building blocks of coding. One big reason of why this book can be so helpful to a person new to programming is all of the pictures explaining the logic of different operations. They clearly are able to show the reader what they are reading about, and aren't over complicated either. Instead of being overdrawn like some images I was taught with they are clear and precise about what is being said.
Overall I think that although the book wasn't very influential on me it was a good refresher, and could be extremely beneficial to anyone new to the concept of coding. I believe it leaves a lot of information open to explore further. I personally researched more on the traveling salesman problem and found the history behind it fascinating. I would rate the book 4 out of 5 stars, and consider it a much easier read than some of the other more complicated programming books out there.
No comments:
Post a Comment