I do not yet know exactly what I want to do in the field of computer science, but what I do know is that this is where I want to be. Since an early age i have been fascinated by computers. When I was in 6th grade my dad brought home an old computer from his office. It was a dell something with an Intel core 2 duo and a GTX 2MX graphics card. This wasn't a good computer even for the time but I spent hours messing around on it. I would sit down in my room and take the whole thing apart and then put it back together again and see if it still worked.
This is what sparked my interest in computer science which has never stopped. Although I have a lot of experience with computers and computer programming I do not know exactly what I want to do with my degree when I get out of college. I know that I don't want to be at some big development firm where I am one small piece that is virtually non existent. Instead I hope that I can find a job at some startup or smaller company where what I do really matters. I find pride in completing things where there is a true benefit to someone else because of what I did. Especially when working in a team of people who I can get to know and build a relationship with.
This is one reason why I felt CIS 115 was so much fun to be in. Because everyday I got to see my friends in my group. These are people who I will probably be friends with for at least the rest of our college careers and hopefully for life. Being able to have that group community and learn with them along with always having people to help my if I got stuck on a project was so enjoyable and satisfying. I hope that in the future I can be in classes with this same atmosphere, and hopefully at a future job I can get this same experience as well.
Some classes that I look forward to in the future are definitely more programming classes. When I wa in high school I did not have very good programming teachers at all. They were grumpy and would just tell us to read the book or go on code academy because they had just as much of a clue on how to program as I did, or in some cases even less than me. This means that although I learned the basis of programming I didn't learn it in a very good way or the right way causing my code to be pretty bad. One thing I hope to be able to do in the future is to be the guy who is knowledgeable about coding and can easily figure out a problem if one occurs.
One thing that I really wish was covered more in this class was the basics of writing code and some kind of explanation on how to make code look good, and how to write it in an easy to read format. I know this is one thing that in my classes in high school I learned from experience that in order to be able to go back and work out bugs in your code you want it to be written in a way that not only you can understand but also so that someone else who is helping oyu could understand. I frequently helped my roommate who is new to programming with his code. Almost every time I would read his code it would be a huge mess that was almost impossible to figure out what was actually going on. I think because this is an intro class we should be taught at least things to avoid like 20 if statements inside of each other.
Sunday, December 11, 2016
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.
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.
Subscribe to:
Posts (Atom)