Final Blog

In this final blog I will discuss my feeling about the class, followed by a few sentences for each week of the class on what we learned and did, and finally a paragraph on what effect this class has had on me.

This was my first college class at Pellissippi State and it has ultimately been a very good experience. I felt the topics that each week covered were very interesting and well organized. The weekly comic/textbook chapters were great and the lecture notes made studying very easy. It was very cool how we started off with simple lessons on things like the history of computers and built up to topics like Artificial Intelligence. The weekly quizzes felt more like a way to reinforce what we learned and the weekly blogs had me going back and thinking hard about the weeks topic.  My favorite thing about this class was that the way all of the class materiel was available online, even the lectures themselves, made it easy to learn at my on pace.

We started with the history of computers. The first week had a lot of useful information and I really enjoyed studying about how computers came to be. The assignment for that week was great for me, as it’s main purpose was to familiarize everyone with the online d2l website; which was something I new nothing about at the time. The second week focused on information. I learned a lot about how computers store information. I thought it was fun to study other number systems like Hexadecimal, Octal, and Binary. A good understanding of these is very important in the field of computer science. On the third week we studied hardware. That week was very important for me as I had never really studied how computers were made and, besides knowing the names of a few of the parts, didn’t really know anything about how they worked. The assignment was to gather a list of parts for building a computer and then describe how to build it. I learned a lot from this assignment. The computer I was trying to build was one that could be use by a developer, all while still being affordable. The forth week was about software. There were many important things discussed during class and I personally enjoyed that week. The Assembly Simulator assignment was very fun and I, being the programmer that I am, Found myself writing as many programs as the Assembly Simulator would allow. Just for fun, I then began to write my programs in binary. I will only discus the first exam, mostly because all of the exams followed the same format and I feel that describing one could describe them all. I was very worried about the exam. Test these days only seem to cover fact memorization and I am terrible at that. However, these exams were different and I found that as long as I understood the materiel I could pass. Week six covered Networking. That was a very interesting week and I learned a lot about how internet protocols like http worked. The HTML examples provided in class were great and really helped with the assignment, which was to write a HTML page from scratch. Week seven was about Databases and SQL. I’d had experience with SQL and Database design in the past and found this class to be a great refresher. The assignment had us put our HTML page on a web server and was very interesting. On the seventh week we studied Programming. That week had many useful concepts for programming and was one of my favorates. The assignment was to write a program in an introductory programming language called Scratch. I wrote a remake of the classic game Pong. The eighth week was when we studied Security, and to study Security we had to study Hacking; along with the many tools and techniques used by hackers, of course. The assignment for that week was to continue working on the Scratch project. Week eleven was reserved for the study of robotics. We watched videos in class about different kind of robots that week. The assignment was a great experience, as it was to program LEGO robots to follow a black line across a white mat. I learned about the many obstacles that the people of the field of robotics must overcome even to do simple task over those two weeks. Week twelve was about Artificial Intelligence. This topic is one of the most interesting topics in the entire field of computer science. We studied the different ways people had tried to achieve it that week. After that we studied Virtual Reality. There were many cool things that were talked about in that class. That week had my favorite assignment: To write a program in either Alice, a 3D programming language designed to teach people to program, or Greenfoot, a Java IDE for making games and simulations. Naturally, I chose Greenfoot, mainly because I was already a Java programmer. I wrote a small top down shooter, and, because I have no creativity,  called it Greenfoot Shooter. The last week was focused on everything we learned as a whole and also how computers will effect society. That was a fun week and at the end of it we showed off our Scratch projects for fun.

This class has had a huge effect on me. I learned many things about computers in this class and the way I look at computers has definitely changed. Before I took this class I didn’t know much about the hardware used to build computers, and I definitely didn’t know anything about the the many obstacles that have to be overcome in robotics.  Also, I doubt I would have ever been able to take a tour of ORNL and see the Jaguar super computer if I hadn’t been a part of this class. I will always remember this class and the great experiences I had in it.

Posted in CSIT1110 | Comments Off

Week 13 – Virtual Reality

This week we studied virtual worlds like the games World of Warcraft and Second Life. First we studied the history of video games, then the effect they have on society.

Video games have had a huge effect on my life. I have been playing them since I was three. Now I spend my free time collecting rare and vintage games like those shown in the video during the lecture. The games I play most are games made during the early eighties to early nineties. This is because with the limits of technology at the time developers had to work hard to make sure the game was fun rather than rely on things like great graphics to carry the game. Also, video games were the reason I became a programmer. However, despite my love of video games, I do not play World of Warcraft or any other game like it, mostly because I am to cheap to pay the monthly fee required to play the games. The pros of games are obvious: being able to do things that normally wouldn’t be possible, and being able to sit back and take your mind off stressful things for a short amount of time. The cons are things that people have done with many other things before, basically spending to much time playing a game. However, it is also a lot easier to do this with games due to many newer games rewarding large amounts of time spent playing them and sometimes even punishing players for not playing them enough.

My Greenfoot project is a small top down shooter similar to the old game Galaga. Enemies will spawn at the top of the screen and move down while trying to destroy the player’s ship. The object of the game is to destroy as many enemies as you can and get the best score possible.

Posted in CSIT1110 | Comments Off

Week 12 – Artificial Intelligence

This week we focused on artificial intelligence.  I find that it is a very interesting topic because of the many different concepts that have been used. First we looked over game trees, which have possible moves in a tree and determine which is the best possible move. While these work well in games like Chess where there are only a certain of possible and logical moves at a given time, games like Go cause problems because there are simply to many possible move from the start. Then we looked at Expert Systems, which have rules that are used to evaluate information. These are basically a bunch of nested if statements. The main problem with Expert Systems is that if you presented them with information outside of there domain, they broke. After that, we looked at Neural Networks, which try to mimic the human brain, and Genetic Algorithms, which mimic evolution. Neural Networks allow the computer to learn in a way similar to a human, but it is hard to know what it is learning and many mistakes can be made. Alan Turing said that we would use a genetic search of Neural Networks to achieve Artificial intelligence.

I have always been interested in artificial intelligence and enjoyed every part of this lesson. I personally find teaching computers how to speak and understand the English language to be a very interesting topic. However, I feel that it will be another ten to twenty years before we get close to success.

It was fun working with the robots and getting them to follow the black line using the light sensor. After putting the switch statement inside the loop and telling the robot when to turn it was just a matter of tweaking the settings of the motors that it would be able to turn at just the right speed. Also, I look forward to working with Greenfoot next week, as Java was the first programing language that I ever learned and I can’t wait to see what we will be doing.

Posted in CSIT1110 | Comments Off

Week 11 – Robotics

This week we studied the many different concepts that go into programming robots. We also got to familiarize ourselves with the Lego Mindstorm robots that we will be working with for our assignment. In class we watched videos about different kinds of robots ranging from robots like the Asimo to self-driving cars. One of the most interesting videos was the one about the great robot race. It was interesting to see the many different ideas used for getting the robots to sense the road and drive through the course.

Programming the Mindstorm robot was fun. There is a lot of thought that goes into programming the robot. Telling the robot every step required to complete its task can be hard to do if not properly thought out. It also requires a lot of foresight to be able to anticipate the many obstacles that it could encounter. Ultimately, it has been a memorable experience and I look forward to continuing to work with the robots next week.

Posted in CSIT1110 | Comments Off

Week 09 – Hacking

This week we focused on hacking. First we covered the history of hacking and how hackers evolved from Phone Phreaks, who were people who wanted to learn everything they could about the phone network and had learned to manipulate it with the use of tones; to people who wanted to learn all about computers, like in the “Homebrew Computer Club”; to people who used hacking for criminal purposes. One interesting fact is that in the 1960′s, it was a positive term and referred to someone who had mastered the computer.

After studying the history of hacking, we focused on both general concepts and specific tools of hacking. There are many different techniques  for hacking into systems and gaining information. These range from brute force attacks to spoofing attacks. One notable way of gaining  information is social engineering, the manipulation of people to obtain information and compromise systems. An example of the tools or malware used for hacking would be Worms. Worms,  are programs that send copies of them selves to other computers on a network. Other forms of malware are Trojan Horses, which have hidden motives, and Spyware, which monitors activity on a computer without the user’s consent.

I thought the security techniques shown in class were very effective. Security is a very interesting topic. It is impossible to achieve perfect security and still be able to access the data you are trying to protect. This is mainly because as long as someone can access the data, it can be stolen or destroyed.  This is why I personally believe social engineering is so dangerous. Also, if given enough effort by enough people, anything can be hacked, and I feel that security ultimately comes down to making your system not worth the effort required to hack it. were people who wanted to learn everything they could about the phone network, and had learned to manipulate it with the use of tones

Personally, I believe that when it first started, hacking was acceptable because for the most part it was used with no malicious intent for the pursuit of knowledge. However, now that information is readily available and it is possible to learn without hacking, I feel hacking is only used with malicious intent and is ultimately wrong.

Posted in CSIT1110 | Comments Off

Week 08 – Programming

This week covered the basics of programming. The assignment was to write a program using a high-level object-oriented programming language called Scratch. Scratch is a very simple language designed to make it easy to learn important concepts of programing. While it doesn’t take much time to write code in Scratch, you don’t have as much control over the properties of objects, and this limits the amount of things you can do.  Because of these limitations, I chose to write the old game Pong for my project. It is a very simple program and was very easy to write in Scratch. The code itself only took minutes to write after the design phase, and most of the work is put into figuring out the formulas for the physics of the ball.

The lecture by Randy Pausch was very well thought out and ultimately proved to be an amazing lecture. His idea of learning one thing through learning something else was genius. Alice is a programming language that is based on this concept, and has taught many people how to program because of this. I intend to take a look at the language, both to see how it works, and the many things that can be done with it.

Posted in CSIT1110 | Comments Off

Week 07 – Databases

This week focused on SQL and databases. We also had to post our HTML pages to a web server. I really enjoyed this lesson, because I studied about relational databases before and have had to create one using SQL on one of my past projects. I thought the SQL examples given during the lecture were great. Also, the emphasis on how information is the world’s most valuable resource and how data that isn’t organized can ruin a company was very interesting.

I have never needed to post a web page to a web server and I found the process to be . Having to use a File Transfer Protocol to post the web page was intriguing and I feel that having the knowledge of how to do it will help me in the future. This project has definitely changed the way that I look at web pages and protocols like http and ftp, and has given me a better understanding of them. I will enjoy the day off on Tuesday and look forward to class on Thursday.

Posted in CSIT1110 | Comments Off

Week 06 – Networks

I really enjoyed this weeks topic because I’ve always been interested in the field of networking. I thought the description of the Internet during the lecture was great and I feel that I learned a lot about the TCP/IP protocol suite. Also, I’ve always enjoyed studying things like the Token ring and Star topologies.

I had fun writing an HTML file for the assignment. I always enjoy writing code, be it HTML or programming languages like Java. The examples given in class were very useful and I referred to them whenever I needed to refresh my memory on a specific tag. It took some time to adjust to the simplicity of HTML because I have never needed to write any web pages and usually write user interfaces using Java Swing. It will be very interesting to post the web page I created to a web server next week and I look forward to studying databases.

Posted in CSIT1110 | Comments Off

Week 04 – Software

I found this week’s assignment to be fun. I am a programmer and though I’ve never written code in Assembly language before, I still found that writing code in the Assembly Simulator  was very easy. It was very interesting to be able to go through the execution of each line of code and observe how parts of the CPU such as the CU and the Registers worked. Each of the topics of this semester have been informative and enjoyable.Week one had a huge number of facts about the history of computers, week two had plenty of information on number systems like binary and hexadecimal, and on the different types of information, and week three taught me plenty of things about computer hardware. Each lesson has shown the different thing that make up computers: the ideas that led to the invention and evolution of computers; the way data is encoded into them; the hardware that makes up the physical elements of computers; and the software that ultimately makes the machine. By the end of the fourth week all of these things have come together and have given me a good understanding of how computers work. I look forward to the topics that will be covered in the weeks to come.

Posted in CSIT1110 | Comments Off

Computer Assignment

The theme of this computer is for it to be suited for programing while still being affordable. The total price price would be around $1,225(shipping included). Below is a list of parts with a short description for each one explaining why I chose it.

Parts list

Case:  Antec Sonata III 500

http://www.newegg.com/Product/Product.aspx?Item=N82E16811129024

I chose this case because it included a power supply.

Motherboard: MSI 870-G45

http://www.newegg.com/Product/Product.aspx?Item=N82E16813130290&cm_re=MSI_870-G45-_-13-130-290-_-Product

I chose this motherboard because of its $69.99 price, and because it supports the AMD Phenom II X4 Black Edition.  Also the on-board sound is supposed to be really good.

CPU: AMD Phenom II X4 Black Edition

http://www.newegg.com/Product/Product.aspx?Item=N82E16819103727

I chose this because of its excellent feedback, and because of its good specifications.

RAM: G.SKILL Ripjaws Series 8GB(2 x 4GB)

http://www.newegg.com/Product/Product.aspx?Item=N82E16820231311

I chose these because of the decent price, mostly good feedback, and 8GB of memory.

Power supply: It came with the case.

Hard Drive:HITACHI Deskstar 7K2000 HDS722020ALA330(0F10311)

http://www.newegg.com/Product/Product.aspx?Item=N82E16822145298

I chose this because isn’t to expensive, has a 2TB capacity, and 7200 RPM.

Cooling System:  The CPU included a heatsink.

Optical drive: LITE-ON Black 24X

http://www.newegg.com/Product/Product.aspx?Item=N82E16827106334

I chose this because it had great feedback and it was cheap.

Video card: Palit NE3TS25EFHD52 GeForce

http://www.newegg.com/Product/Product.aspx?Item=N82E16814261057&cm_re=palit_geforce-_-14-261-057-_-Product

I decided to get this because it received plenty of good reviews and it is supposed to have power saving features.

Monitor: Acer G205HBbd

http://www.newegg.com/Product/Product.aspx?Item=N82E16824009263

I chose this for its cheap price without sacrificing quality.

USB: 6 on-board ports on the Motherboard.

Keyboard: Logitech Internet 350

http://www.newegg.com/Product/Product.aspx?Item=N82E16823126012&Tpk=logitech%20internet

I chose this because it is cheap.

Speakers: Logitech S120

http://www.newegg.com/Product/Product.aspx?Item=N82E16836121013&Tpk=logitech%20S120

I chose this for its cheap price as well.

OS: Microsoft Windows 7 Professional Full and Ubuntu Desktop Edition

http://www.newegg.com/Product/Product.aspx?Item=N82E16832116717
and
http://www.ubuntu.com/desktop

The reason I listed both Windows and Ubuntu is because I prefer Linux, but I would need to run Windows in a virtual box to work with things such as .Net.

How I would build a computer

1. Ground yourself so you won’t risk damaging any of the parts.

2. Install CPU into the motherboard by lifting the lever beside the CPU socket, carefully placing the CPU in and lowering the lever to lock it in.

3. Install Cooling systems such as Fans and Heatsinks. The AMD Phenom II X4 Black Edition comes with it on Heatsink. Connect it to the Motherboard.

4. Install RAM into the Motherboard’s RAM slots, they only go in one way.

5. Install the Motherboard in the case.

6. Plug the power supply cable into the Motherboard.

7. Install the Hard Drive into case, screw it in, and plug it into the Motherboard and power supply.

8. Install Optical Drive into case, then screw it in. Plug it into the Motherboard and power supply.

9. Install the Video card into the Motherboard’s PCI slot. This too will have a fan that needs to be connected to the power supply. After that, screw it in.

10. Close the computer case.

11. Plug in all external cords.

12. Plug in the Keyboard, Speakers, Mouse, and Monitor.

13. Turn on the computer and make sure everything works. Trouble shoot if necessary.

14. Connect to network.

15. Install OS and necessary drivers.

Posted in CSIT1110 | Comments Off