Since my very first programming course I realized one large similarity between computer science and mathematics. This one similarity that the two share is logic.
When we were reading the book Pattern in the Stone, the, I found the part on Booleans the most interesting. This area was interesting since it was in mathematic papers and the second of the two papers was talking about how to use them, Booleans, when coding a computer or simply building the circuitry to a computer or calculator. I had, of course, heard of Booleans before but did not know their history till this semester. The concept of the Boolean is a great way to see how mathematics and computer science is fairly interwoven in our electronic world of today.
One of the people we talked about this semester was a man named Alan Turing, the creator of the Turing Machine and LU factorization (matrices). The reason he is of interest to me is actually because of his mathematics side. He graduated with a math degree and in graduate school looked into the world of cryptology for fun. All of this was before the Second World War when he and other great British minds went and helped break the German code that went through the device called Enigma. The fact that his machine, the Turing machine, is considered of the first programmable computers is fascinating since his original field of study and his background is actually in mathematics.
The cyclotomic AKS test was the topic in a previous blog is an example of how you can apply the field of mathematics to computer science and computer programming. The fastest way to compute the answers is by using a computer program. The algorithm that caught my interest was the Agrawal-Kayal-Saxena primality test (also know as the AKS primality test or the cyclotomic AKS test). This test falls within the category of primality tests, which are used primarily in cryptography (wiki). The creators of the AKS primality test are Manendra Agrawal, Neeraj Kayal, and Nitin Saxena (wiki). These three created an algorithm by looking at a simple problem and found a simple answer (cwordpress.com). This algorithm is the first to satisfy all four requirements (general, polynomial, deterministically and unconditional which I will talk about later) for a primality test (wiki). This algorithm is a great example that can be applied to having many algorithms that compute the same talks within a different amount of time (page 79).
Another area that could potentially use computer science to help it out is a relatively new field of mathematics called category theory. The way that I have had it explained to me is as a way to organize the ever-growing field of mathematics and its topics and subtopics (Cheng). Another interesting thing that this book on its own has taught me is the difference between pure and applied mathematics. After reading the Wikipedia articles on theoretical computer science and applied mathematics the theoretical computer science appears to deal a large deal in the “pure” mathematics area and the applied is in the applied computer science, or as the article states the real computer science (Applied Mathematics)(Theoretical Computer Science).
In reference to the robot scenario, I remembered reading about pure and applied mathematics and how they could be compared to Legos (160, Cheng). The specialized pieces are for the applied to make it more life like which is like building the robot from scrap pieces that are found in a salvage yard. Using the actual Lego bricks could be compared to the Boolean gates that get used within the hardware. The robot scenario uses both math and computer science to have it explained.
So after looking at all of this material and how mathematics and computer science are interwoven we can see that studying one subject will potentially lead to studies in the other. Studying computer science from a mathematics perspective has been very intriguing and has helped me kind of look at what others have done with their degrees.
“Applied Mathematics.” Wikipedia. Wikimedia Foundation. n.d. Web. 14 Nov. 2016. https://en.wikipedia.org/wiki/Applied_mathematics
“AKS Primality Test.” Wikipedia. Wikimedia Foundation. n.d. Web. 19 Sept. 2016.
Cheng, Eugenia. How to Bake Pi: An edible Exploration of the Mathematics of Mathematics. New York: Basic, a member of the Perseus Group, 2015. Print.
Cheng, Eugenia. “Lego, Yet Again.” How to Bake π: An Edible Exploration of the Mathematics of Mathematics. New York: Basic, 2015. 160. Print.
Hillis, W. Daniel. “Nuts and Bolts.” The Pattern on the Stone: The Simple Ideas That Make Computers Work. New York: Basic, 1999. 3-4. Print.
Hillis, W. Daniel. “Universal Building Blocks.” The Pattern on the Stone: The Simple Ideas That Make Computers Work. New York: Basic, 1999. 21-38. Print.
Hillis, W. Daniel. “Universal Building Blocks.” The Pattern on the Stone: The Simple Ideas That Make Computers Work. New York: Basic, 1998. 22-27. Print.
Hillis, W. Daniel. “The Algorithmic Guarantee.” The Pattern on the Stone: The Simple Ideas That Make Computers Work. New York: Basic, 1998. 78-79. Print.
“Primality Test.” Wikipedia. Wikimedia Foundation. n.d. Web. 19 Sept 2016. https://en.weikipedia.org/wiki/Primality_test
Tao, Terence. “The AKS Primality Test.” Whtats New. WordPress, 23 Feb. 2011. Web. 19 Sept. 2016.
“Theoretical Computer Science.” Wikipedia. Wikimedia Foundation, n.d. Web. 14 Nov. 2016.