Monday, February 27, 2017

Making Meaning: POTS

The first book used in this computer science course was Pattern on the Stone and will be further referred to as POTS. POTS was written by W. Daniel Hillis and provides the basic information needed to grasp an understanding of algorithms, Turing machines, programming, and a few other important topics that are all required to become a computer scientist/programmer. When I say basic information, I mean that this book doesn't dive too deeply into any particular topic but gives an elementary level of information about multiple topics under the computer science spectrum. For instance, there are far too many algorithms in existence for a book of only 153 pages long to explain in excess, but it focuses chapter 5 on providing the reader with the definition of heuristics and algorithms, explaining the similarities and differences, and providing some hand-picked sorting algorithms that can be used when sorting numbers or playing cards. (80) In our computer science class, we tested a few of these algorithms and their efficiency in sorting standard playing cards. We used the bubble sort, quick sort, insertion sort, and merge sort. Of these algorithms, we found that on average our class was able to sort the cards the fastest through quick sort and that insertion and bubble sort took about the same amount of switches. After completing this in class demonstration, we were each told to select an algorithm from Wikipedia to research. I chose to look into Edmond's Algorithm, and though it was a bit too complex for my understanding, I could tell that it had the same principles of the algorithms mentioned in our textbook because finds the minimum point in graphical data. (https://en.wikipedia.org/wiki/Edmonds%27_algorithm) This was a fairly interesting chapter for someone who has had no programming experience before but that enjoys math. SPOILER ALERT: the chapter begins by showing how even matching socks is done through algorithms, making it difficult for anyone to try to deny a need for algorithms in their life. Algorithms are everywhere and are used everyday by everyone. To break away from the algorithms section, I must admit the second half of the book appeared a little more dry and had far less humor and less interesting ways to remember important information or definitions. Chapter 7: Parallel Computers was perhaps one of the most boring sections of the book, however, it was still possibly the most important. It starts by diving into the history of computers which began to be developed in the late 1940's to early 1950's. (107) The chapter continues to show how the speed, prices, and structure of computers have changed throughout time. One of the major causes for this was that computers needed to be able to do multiple operations and be available to more people in different jobs, in schools, or even in homes. The most cost efficient way of creating a computer that could meet these requests was to use microprocessors in large quantities, (for reference, the first parallel computer the author, Hillis, built contained 64,000 processors) and connecting them together to form what is known as a parallel computer. (109-113) I found this little bit to be fairly interesting. Considering using 64,000 microprocessors to ensure a computer would be able to perform multiple operations reliably at a fast pace while still being fairly small in size just seemed absurd! I began wondering how many processors were used on average for parallel computers over the last few decades but couldn't find much except that most computers today are dual or quad-core processors. This book certainly has its ups and downs but I highly recommend it for someone who has yet to take a computer science or computer programming course.

No comments:

Post a Comment