Don't wanna be here? Send us removal request.
Text
CS Blog 8 *Late
Computer science is a field that is rapidly expanding. Each day new members are entering the field with new thoughts and ideas. Computer Science is a unique field because it spans a massive amount of different things. Almost all of which are important as we move forward. Though most of the sub fields within computer science could be described as interesting, there are a few that I, personally, would rank higher on that list than the others. CIS 115 has helped me make that decision about the kinds of things that I am interested in within the field of computer science. When I began the class I was pretty sure I wanted to do something in software development, now I am not quite as sure. One of the fields that was kind of brought to light for me over the course of the class was Artificial Intelligence. Now, this may be partially due in part to the fact that it was the research topic my group chose but that is honestly what that project is supposed to do.
Artificial intelligence really interests me because of the opportunity that lies within it. Even experts in the field are not even close to knowing everything there would be to know about artificial intelligence. That leaves a lot of room for discovery and innovation which are things I believe are important when choosing a job. I enjoy the idea of being able to create something new, working with a team to make and test new things. My understanding of the field is pretty general, but it seems like a field with great prospects for the future. Those prospects are only increasing as technology advances as well. Another area of computer science that I feel would be very interesting and a great career path would be cyber security.[3] One of my favorite parts from “Tubes” is when the author goes to a data site that the people working there do not seem very keen on showing him. The security on the site was, in terms of cyber defense, was quite strong, but when it come to physical defense. Clearly, it was not quite a strong as its cyber counterpart. After quite a few awkward conversations the author learned what he had came to learn, despite their unfriendliness.[1] Another book that I did a research project for in high school did a very good job of explaining the human half of cyber security, “Ghost in the Wires” by Kevin Mitnick is a great biography about Mitnick’s mostly illegal exploits in the world of computers.
Wherever there is important information there are people and want that information as well as people who want to protect that information. That is really the origin of cyber security. I enjoy learning about how people think so I think this field would prove to be very interesting to me. Designing things around those thoughts entices me to be a part of that field quite a lot. I wish that there would have been a little more information gone over in the class with reference to cyber security. I understand, though, that CIS 115 is a very broad class that has to hit a huge amount of topics and areas within computer science in a relatively short amount of time. When you look at it like that I believe that the class did a very good job and more than accomplished that goal.[2] If I had to pick which of the textbooks was my favorite though it would have to be “The Patterns on the Stone.” The way the author interacts with the information in that book makes it an easy read because of the way the chapters flow together and keep you interested in reading further. Overall, a great book and a great class.
SOURCES:
[1] Mitnick, Kevin D., and William L. Simon. Ghost in the wires: my adventures as the worlds most wanted hacker. Little, Brown, 2012.
[2] Hillis, W. Daniel. The pattern on the stone: the simple ideas that make computers work. Basic Books, 2015.
[3] Blum, Andrew. Tubes: a journey to the center of the Internet. HarperCollins, 2013.
0 notes
Text
CS Blog 7
Over the course of this computer science class we have read three textbooks. The first “The Pattern on the Stone” was quite good and did a very good job setting the tone for everything and creating a base that the following classes and textbooks would have a chance to build off of. The second, “Tubes”, I was a little uncertain about but towards the end it turned out to be quite good and I’ve come to think of it as a book with a good amount of information if a person takes the time to really dig through all the narrative. The last one, “9 Algorithms That Changed The Future” by John MacCormick is definitely my favorite. MacCormick does a wonderful job of breaking down some of, what I think, are the most important parts of computer science. Along with that, he also does it in a way that even someone who knew nothing about the field of computer science would be able to understand. The book was broken down into different sections based on the topic the author was going to talk about in that section which allowed a level of separation of information that is very important for a book to truly hit all the areas that it needs to without confusing the reader.
In this case the book was broken down by sections where the sections were different types of algorithms that the author chose to talk about. MacCormick also goes into detail in each of these sections about why he chose those algorithms specifically and how they are of great effect to each person’s lives. After all, right from the start he sets up a list of things that each of the algorithms he chooses must fit, with one of them being that the algorithm must be used by almost all people in everyday life. In the book there are some exceptions to his rules, but for the most part MacCormick stays true to them. When it came to the different algorithms that MacCormick presented the reader with he had plenty of good information.
This was actually the textbook that I ended up googling the least amount of information simply because I felt that the author did a good enough job explaining everything that it wasn’t necessary. It is very important, in a computer science book, that everything is explained just the right way because much of the information you are trying to convey to the reader is in the form of ideas or concepts. The one thing I did end up googling to learn more about was when in chapter 9 MacCormick was talking about digital signatures. I was interested in what he said about how other programs or sources often provide a digital signature when sending you something. After a little bit of browsing I found the information I was looking for on TechTarget. They went really in depth talking about how it all worked which also happened to answer some of the questions I was having. Though chapter 9 did bring up some questions for me, it wasn’t my favorite part of the book.
My Favorite part of “9 Algorithms That Changed The Future” was chapter 10 When MacCormick talks about the kinds of things that computers can not do and things that they will probably be able to do. It was really interesting to me the way he explained how though computers have many complexities it is often their simplicities that hold them back and make them incappable of performing some of the tasks we often find ourselves wishing they had the ability to do.
SOURCES:
[1] “What is digital signature? - Definition from WhatIs.com,” SearchSecurity. [Online]. Available: http://searchsecurity.techtarget.com/definition/digital-signature.
[2] J. MacCormick, Nine algorithms that changed the future: the ingenious ideas that drive todays computers. Princeton: Princeton University Press, 2012.
0 notes
Text
CS Blog 6
Math is something that I have yet to really come to terms with in my life yet. Which may sound odd coming from a computer science major, but that is just the way it is and that is the way that it has always been for as long as I can remember. My room mate, another computer science major, is in love with math. It is his bread and butter, the reason he loves computer science the way he does. It blows my mind when he just scribbles through a whole math assignment when I’m still trying to remember the process from lecture. Numbers have never come as easy to me. It is something I have to deal with, constantly checking and double checking work just to make sure I got the method down. This first semester has been tough for me, being in Calc 1, because it is actually the first calculus class I’ve taken. Tons of new theorems and rules being thrown at me with only a pen and paper to defend myself from the onslaught. Luckily, our campus has many different resources to help people like me who need a little bit of explaining. Math and I have yet to come to terms, but we’re trying.
Computer science is special to me because it allows me to connect the surface of computing to the background of computing in a way that has interested me for a very long time. So whenever I see math, this entity I’ve done my best to avoid interaction with, layered so heavily within computer science it makes me a little unhappy. Just like with people, however, there are some things you just have to learn to accept. I may not see things in numbers like some people do, but I have, lately, come to realize just how important mathematics can be for a person in a computer science field and how much math is truly required of those brave folks. Just to almost exaggerate the point of how connected computer science and mathematics are connected, John MacCormick in his book “9 Algorithms That Changed The Future” begins talking about a very important aspect of that connection in the first couple pages. After a brief history of computing he dives into an o’so important topic. Algorithms. Though quite basic, algorithms are very important for a computer scientist to make use of. Another important point in the computer science/ math connection brought up my Mr. MacCormick in his book is the field of cryptography.
Cryptography is quite an important field. Before some of the ideas in cryptography came about things were less secure, a LOT less secure. Cryptography, by definition, is the practice and study of techniques for communication in the presence of third parties called adversaries. The online learning website [1] Khan Academy talks about cryptography as it is, a concept with the ability to decide wars and conflicts that is now at the heart of modern day computer technologies and cyber security. There are two main processes within cryptography that require some knowledge of number and probability theory. These two processes are encryption and decryption. Encryption is the process by which some amount of information or data is secured through a process ideally only known by the encoder. Decryption is basically the opposite of that. Decryption is the process by which, hopefully the intended receiver, goes through a specific process to remove the encryption form the data and make it understandable, and usable, to them. Mathematics plays an absolutely monster role in many of the different parts of computer science and though I may not understand math all the time. I can understand that if you want to be a part of the world of computer scientists, you have to be a part of the world of mathematics.
SOURCES
[1] “What is Cryptography?,” What is Cryptography. [Online]. Available: https://www.khanacademy.org/computing/computer-science/cryptography/crypt/v/intro-to-cryptography. [Accessed: 12-Nov-2017].
0 notes
Text
CS Blog 5
Over the last couple of weeks we have been reading the book “Tubes: A Journey To The Center Of The Internet” by Andrew Blum. It its prime essence this book is about the author’s journey to find out more about the physical side of the internet. The pieces that make it up and how all of those pieces interact with each other. In this trip the author encounters many different people and places. All of which are tied to Blum’s fascination with uncovering just what exactly the internet is. Personally, I did not enjoy the book as much as “Patterns on the Stone.” It just didn’t really have the same informative feel about it. In “Tubes” the author has a way of writing that I don’t really care that much for in this style. The way that Andrew Blum writes feels like it belongs in a fantasy story filled with dragons and monsters. Not a technological story about the pieces that make up the physical network of the internet. What I mean by this is that Blum spends a lot of time weaving words to draw attention to the personable side of things. I suppose that I could understand why the author does this. Throughout parts of the story Blum maintains that the internet is this mystifying thing and perhaps that fantasy style word play works well for that image, but I would prefer if the man would just be more straightforward. As I mentioned before, his style can be quite good like in chapter 4 when he is talking about the suspense building up within him as the New York Police Department detectives are marching their way down the aisle of his plane. Blum’s quick wit and humor would be perfectly at home in a lot of other books. Despite my dislike for the way the book is written I did find at least the useful information quite interesting. In the few parts of the book where Blum stopped mixing his every thought in to muddle the information it was a very good read. I especially like Chapter 6 and the information about the cables running under the ocean. From when Blum had mentioned the cables running between countries it had me hooked. So it was to my delight that the book really got into things when it came to information about these subaquatic cables and how they came to affect Andrew Alston’s life. As I worked through the headache given to me by Blum’s ramblings I decided I would be better off just googling more information about the cross continental cables and what I found was actually really interesting. I ended up going to the TeleGeography website and looking at the map they have on there of the submarine cable map. It is very clear why many of the cables are placed the way that they are. This book is significant because it does over the course of way too many pages, explain to the reader really how everything that makes up the internet comes together in a way that, if you try hard enough, you can understand. It is for this reason that I believe that the book was still fine as a choice for a student reading for our class. It is important for us to know about these things as we continue on into the future or at least to have a reference that we can look back on to find more information about the subject. Another nice thing about the book is that Andrew Blum was able to talk so much that I actually didn’t have any unanswered questions. Blum was very thorough and complete with the information he did provide and if you look at the story as a narrative instead of informative I think I could actually be alright recommending this book to a friend.
0 notes
Text
CS Blog 3
“The Pattern on the Stone” by W. Daniel Hillis is a book about breaking down the theories of computers into terms that almost anyone can come to understand despite the preconceived notion that computers are horrifically complicated and it takes years of study to understand how they do what they do. Personally, I think Hillis did a wonderful job writing this book and an even better job of describing the processes that computers use to complete the many tasks that they have and how we can work with those processes to set a computer upon a set of tasks. Even though the book was assigned to our class as a reading assignment it didn’t feel like one, well maybe sometimes it did, and it was quite enjoyable to read. From the first chapter and Hillis’s stories of his childhood and talk of boolean logic with its innumerable amount of uses to the last chapter where Hillis talks about what it all means and how the collective of all the things he describes between chapters 1 and the end come together to create what we know as computers, as well as what we may come to expect from the computer field moving forward. One part of “The Pattern on the Stone” that I found particularly interesting was in chapter 5 when Hillis talks about the process of code by using the game of chess as the example. It almost gave me a headache thinking about the many things that come to mind when playing a game of chess. The thought of creating a program that could actively evaluate its position in the game and then determine the best course of action made me truly appreciate the “vs Computer” option that always showed up in the games section of just about any computer. The part of the book that I actually found the most interesting, the part that really stood out from the rest for me, was towards the end when Hillis begins talking about how he wrote programs that would evolve. Hillis described how he would create a program that would replicate itself with minor differences in the copies and then attempt a task. Then, several of those copies that completed the task the fastest would be saved and the slower ones would be “dead” as Hillis described. After several iterations of this process Hillis says that he was left with the fastest way to complete the task. Upon reading the code that had been left after several “generations” of code, Hillis discovered that he didn’t even understand how the code worked. He couldn’t understand it at all. To my, that was just incredible and almost hard to believe. It really showed and was a great example of how natural evolution is so massively different from the mechanical evolution we call engineering. In an article online, Kory Becker talks about the possibility of using Artificial intelligence to code for us and how that could lead to the replacement of computer programmers due to this “natural selection” process’s very powerful way of discovering the best way to complete something. To pair along with this part of the book Hillis talks about how this evolution of code is similar to the way that the human brain has evolved. Scientists of today can hardly begin to understand many of the processes of the brain and how those processes can to be. As a person I generally learn better when I understand how something works, not just why it works. It’s for that reason, perhaps, that I enjoyed reading this as much as I did. Even if someone did not think that way or perhaps did not enjoy reading, if they are interested in the computer field I would happy recommend this book to them.
Sources:
Hillis, W. Daniel. The pattern on the stone: the simple ideas that make computers work. New York, Basic Books, 2015.
“Using Artificial Intelligence to Write Self-Modifying/Improving Programs.” Primary Objects, 7 May 2017, www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/. Accessed 2 Oct. 2017.
0 notes
Text
CS Blog 2
There are many important things that help create programming and allow computer programmers to be able to complete the tasks that they would like to complete, while still managing to be within the limits of what an actual computer of today’s world can perform. This may sound like a very general line considering the amount of things that modern computers can actually do, but if you look a little closer you will find holes in this idea that there is nothing that computers cannot accomplish. At least, for now. In computer science there is a way of discerning different ways of completing a task. If a task has a desired goal and that goal can be reached through a specific set of instructions then it can be defined as an algorithm. Which, by definition, is a set of rules to be followed in calculations or other problem-solving operations. In Hillis’s “The Pattern on the Stone,” he describes algorithms as a fail-safe procedure, guaranteed to achieve a specific goal. There are a seemingly infinite number of these algorithms because in computer science there are often many different ways of completing a single task. Also in Hillis’s “The Pattern on the Stone” he talks about the origins of algorithms and their creator, al-Khwarizmi, who wrote down quite a collection of these algorithms in his time. It is also quite likely that the name for the algorithm was derived from al-Khwarizmi. One example of an algorithm is the quickselect algorithm. This quickselect algorithm does do exactly as its name suggests and helps a program to quickly define an answer it is searching for, or the kth smallest element in a list. It does this in a very similar way to how the quicksort tool works. In fact, they were both developed by the same person, Tony Hoare. Based on the creator’s name, this algorithm has also been called Hoare’s Selection Algorithm. Both the quickselect and the quicksort algorithms work by selecting a pivot point, usually at random, from a list of elements. However, the quickselect algorithm varies from the quicksort algorithm in that after choosing a pivot point it does not recurse from either side and instead only recurses from the side that the desired element is on. This could be used from a very high number of things to do its practicality and usability, which leads it to be a very important tool in a computer programmer’s toolbox. Just with any other tool, there many be different ways of doing the same thing. As I stated before there are tons of algorithms, some of which haven’t even been created yet, and different ways of doing something can work better in different situations or change just on the personal opinion of the one using them. Another way of completing the same task as the quickselect algorithm is the introselect algorithm. This could almost be called a safer version of the quickselect algorithm. Designed by David Musser, the idea of this algorithm was to create a selection algorithm that would have a more optimal worst-case scenario than the quickselect algorithm. In the end, the desired effect was achieved at the cost of some of the speed that the quickselect algorithm offers. The website “Techie Delight” offers some high praise for the quickselect program. Speaking to the advantages of using it and what it can provide over its competitors. They talk about how it has affected coding as a whole since it was brought about while also offering insight into the ways that quickselect works and how it can be most effectively used. Upon looking further into the quickselect algorithm you will find that it isn’t just something that computers can do. You can actually follow the same set of instructions provided by the algorithm when you are looking for a certain something amongst a set of elements manually. Though maybe not the quickest way to do it, it is certain to get the job done!
Citations
“Quickselect Algorithm.” Techie Delight, 26 Aug. 2017, www.techiedelight.com/quickselect-algorithm/. Accessed 16 Sept. 2017.
Hillis, W. Daniel. The pattern on the stone: the simple ideas that make computers work. New York, Basic Books, 2015.
0 notes
Text
CS Blog 1
You wanna know what the hardest kind of paper to start, in my opinion, is? It’s the ol’ personal biography. You don’t want to start with like “Hi my name is Allan Bond and I’m attending K-State for computer science” because that sounds really lame. Now that I have that out there…..Hi my name is Allan Bond and I’m attending K-State for computer science. I know some people come a really long way to attend a school like K-State but I have actually lived forty minutes away from Manhattan for thirteen or so years now in the very small and unexciting town of Wakefield. Before that I lived in Topeka, Kansas but I hardly remember a time before living on Milford Lake. “So what brings you to K-State Allan? What are you doing here,” people always ask and the answer is pretty simple. Not only do I love Manhattan, but I have also always admired the K-State community. This was even further demonstrated to me just this Labor Day Weekend. I went out to eat with a friend and, I kid you not, every single customer in the store was wearing a K-State t-shirt and on top of that so were the employees. That’s the kind of thing that drew me in, now what am I doing?
As you can probably tell by the simple fact that I am writing this paper I am currently a part of the Computer Science program here at K-State. Computer Science hasn’t always been the field I was interested in. Growing up I used to help around the local library a lot and actually put some thought into becoming a librarian. Later, in high school, my interest in computers would overtake this desire and here I am. Computers have always been a part of my life. Both my parents worked from home on their computers and my brother was a server admin for a company out of Kansas City. Whats funny is that although I find myself in such a computer heavy path I don’t actually have as much knowledge on the behind the scenes of computers as I should like to. I like to think that not knowing those things is part of the reason I took to computer science, so I could explore something that really interested me. Due to this, as lame as it sounds, I was extremely excited when I went buy my books for computer science and saw what they were. Building on that topic I loved the way that the author went about writing the preface. Hillis describes his job in a way that makes it sound like something from a fantasy story or another world and that is part of why I think computer science is able to capture so many people. This idea that what you’re doing is something unique and special.
The start of my classes has been incredible, I love each one of them and enjoy getting to go each day, except for Calculus. High school never really held interest for me because it was general knowledge. With my classes here at K-State, even in my freshman year, I am able to start tackling the topics that I’ve been wanting to learn about. One example of this is the Boolean logic we have been reading about in “The Patterns On The Stone” and how it can be used to break down almost any set of decisions or commands into simpler terms. I actually ended up reading Chapters one and two a second time just to make sure I had a grasp on it. I enjoy the fact that it can even translate into conversations and break those down. It moves things into a realm that everyone can understand and use. Since I have started classes I have begun attempting to get a handle on the seemingly infinite number of advances coming about in the computer world. Not knowing where to start I literally just googled “best computer news websites,” a website called Tech Crunch showed up towards the top and I’ve been on there a couple times a day since. Sometimes I don’t end up reading the most valuable or life changing information but it’s always interesting for me.
I am excited to continue learning about the field of computer science and how it can be applied. I’m still unsure about what field I’d really like to tackle but I’m hoping that going forward I will be able to narrow down that huge amount of options and find what is right for me.
Citations
[1] W. D. Hillis, The pattern on the stone: the simple ideas that make computers work. New York: Basic Books, 2015.
[2] J. Evans, “TechCrunch,” TechCrunch. [Online]. Available: https://techcrunch.com/.
0 notes