The End…

Over the last fifteen weeks or so I have learned a lot, and grown as a person in this class. Now that things are coming to an end I’m a little conflicted. I’m happy to have another semester under my belt and I’m looking forward to taking a break, but I’m going to miss the lectures and the people I have met in Dr. Brown’s class.

I came into this class expecting a boring intro class with a professor wearing coke bottle glasses that would try to teach us how to navigate windows, and bore us to death with computer history. I could not have been more wrong! If you are reading this blog because Dr. Brown made you, the way he made us at the beginning of the semester, than there are a few things I would like to share with you.

First of all, don’t let your heart be worried. This class is going to be fun! I’ve learned a great deal on a number of topics. Some of the most interesting topics for me and the ones that I will think about and study on my own include: web development, robotics, artificial intelligence, and virtual reality.

The web development section of the syllabus was a lot of fun. Dr. Brown took us through some basic HTML and assigned a fun little website for us to design and create. Don’t worry though. It wasn’t hard, and you won’t need any web development experience to grasp HTML. Additionally he gave us advice on other elements of web development to study such as: CSS, XHTML, and Javascript. I found this added info most helpful when I hit amazon looking for a textbook on web development so that I could teach myself. Furthermore, web development is probably the most useful thing you’ll learn in this class. No matter what you pursue in life being able to put it on the web is a very valuable tool.

The section on robotics was my favorite! The section on robotics and artificial intelligence go pretty much hand in hand. Basically we spent two weeks learning about how robots are made, how you program them, how scientists are using A.I. techniques like neural networks and genetic algorithms to mimic thought, and the history and direction of the robotics industry. Dr. Brown also gave us sets of Lego Mindstorms so that we could build our own robots, program them using a graphical interface, and unleash them on Pellissippi!

Finally, I thought Dr. Brown’s lecture on virtual worlds was very interesting. He really got me thinking about what a virtual world like WOW really is, and its implications on society. This section challenged my very definition of what “reality” is. After this lecture I had a much greater appreciation and respect for virtual reality.

In conclusion I’d like to say that the most rewarding aspect of this class is not the specific technologies, methods, or theories studied in this class. The real benefit and Dr. Brown’s main objective for this class is to get you to see how amazing computers and computer science really is. I’ve been a techno nerd for as long as I can remember, but I never had the insight that Dr. Brown has shared with me. I’m very excited to see what the future has in store for us all. It is definitely going to be one of the most fascinating, enlightened, and scary times in human history, and after taking this class I feel like I’m more aware of whats going on and much more prepared for it.

Posted in CSIT1110 | Comments Off

My personal experience with virtual worlds…

I have been exploring virtual worlds for years without even really thinking about it. I started playing RPGs when I was very young. I was introduced to this form of entertainment by my Uncle Sam when I was 10 or 11 when he burned me a copy of Might and Magic VI: The Mandate of Heaven. I played that game for hours upon hours, exploring lands, fighting various monsters and bad guys, and building my talents and skills up. I loved this game because I would get completely sucked into it for several hours, after homework and chorus we done of course, and forget about everything but the tasks involved in the game. This was very relaxing for me and still is today.

I’ve moved on to a much more popular game now – World of Warcraft. I love this game on several levels. I played the old strategy game Warcraft for which WOW is based. I like the story line, the interface, and the quests, but what I love most about WOW and what makes it so addictive for me is the added human interaction. I love PVP and Raids, not because they are super challenging or intellectually stimulating, but because I can chat and socialize with people in this virtual world while in the comfort of my own home and behind the safety of my alter ego.

The down side to this is that I spend several hours many times a week playing a game when I could be using my time much much much more constructively. I could practice my programming skills, vamp up my efforts to learn web development, spend time with friends and family here in the “real world”, go for a walk, pick up a hobby – and the list goes on. I think virtual worlds offer a lot in the form of imagination, socializing, fun, and relaxation, but it is very easy to be seduced by this imaginary world. I urge anyone reading this to jump in and join us in cyberspace, but be careful and don’t lose perspective. All the best things in life can be touched, spelled, and tasted – and as of right now cyberspace can’t simulate that. I’m sure it will before my life is over though… It will take some pondering for me to figure out how I feel about that.

Here is a screen shot of a toon I’m working on in a PVP server. I’ve got him dual speced as a Tank and Retribution Pally. :)

Posted in CSIT1110 | Comments Off

Artificial Intelligence…

I find artificial intelligence, and robotics really fascinating. The past two weeks have been the most fun of any class ever! I love programming, and I am really, really intrigued by the theory, use, and possibilities of A.I.. I am very interested in java based neural networks, and have started doing my own research on the topic. I downloaded source code for Encog which is a java based neural network workbench designed by Heaton Research. So far I have been able to import it into a java IDE, but haven’t been about to get it to run properly or set up a neural network. I’m not giving up though, and as soon as I get it working I’ll update this blog with details. Anyway, to address the topic on a broader level, I think A.I. is great. Until now I didn’t think it was possible to program robots to display real intelligence, or even to make them viable for the consumer market. Well I have been proven wrong. For example, Honda’s Asimo is getting ever so close to have a commercially viable robot for household tasks. I think this is great because it will sell like crazy. I mean what suburban housewife will be caught without a robot that can clean the house for her. Furthermore, I see the profits from this venture funding more advanced robotics, and motivating other companies to jump on board. From there the sky is the limit.

I loved the Lego NXT projects. I finally, with help from Dr. Brown, got the gist of how to program the brick, and got my robot to do the line follow process until it came to a yellow square at which point it said, “yellow” and stopped. Pretty basic, but very fun. I plan on buying a set of my own. They are a bit pricey for a starving college student, but I don’t think I’ll be able to live without one now. Beside Christmas is coming up, and I’ve been dropping some pretty big hints. What I find really interesting about the NXT set too is that you can expand on it. There are several sensors and servos that you can buy in addition to the ones included that can really expand your robots potental. Very cool!

Posted in CSIT1110, Thoughts | Comments Off

My experience with robots…

This week we got to work with the Lego Mindstorm robot sets. It has been very interesting. Its has also been fun, but at times frustrating. One of the big things I’m finding out is that it is very hard to program a robot with specific steps. I may be a little out of the loop, but I had no idea there were so many robotics sets, kits, and tutorials on the consumer market. I was even more blown away when I saw a video of a man that made his own Drone Plane out of a remote control plane, a Lego Mindstorm NXT unit, and some fairly cheap parts that can be found on the internet.

All of this, in addition to Honda’s work on Asimo leads me to believe that robots are going to be common in the not too distant future. And now that I have a better understanding of what A.I. really is I’m not afraid of them taking over the world. I’d have to say, in my humble opinion, that this was the most interesting week of the semester. I definately plan on playing with robots on my own in the future. It probably wouldn’t be a bad career path to look into either.

Posted in CSIT1110 | Comments Off

Scratch…

What was my first impression of programming in Scratch? Well to be honest I thought it was kind of stupid at first. Being use to working in an IDE writing code it was weird navigating the Lego style Scratch interface. However, after some tinkering I realized that it was using the principles of computer logic to power these “legos.” I think Scratch is a great teaching tool that can be very helpful for people who have no programming experience, but would like to learn. Its got a pretty quick payoff too. Most beginner programming classes start you out with text outputs and lots of math. Boring! But Scratch makes basic programming fun by using a graphical user interface and animation to teach and practice the principles of loops, loop iteration, conditional statements, etc… I think it would even be simple and fun enough to sit a younger kid down and let them go to town making sprites, putting together games, and little animated shows. All the while they’re learning computer logic and principles of programming.

I enjoyed the talk by Randy Pausch. My mother almost died from cancer so it struck a nerve for me. I think he’s a very brave man, and I’m glad he’s out there teaching people what it takes to be a leader and how to be truly couragous.

Posted in CSIT1110 | Comments Off

HTML continued and my thoughts on SQL…

This week we contued our study of HTML and learned about SQL and databases. After spending two weeks building a web page from scratch and uploading it to a web server my veiw of the web has changed quite a bit. I’ve had love for the internet since I was a preteen, but actually reaching out and touching it has sparked a torrent love affair that I’m sure will last for the rest of my life. I had taken two years of web development in high school and enjoyed it. We built page after page site after site, but I never thought of them as anything more then HTML files on my hard drive or thumb drive. But when I uploaded my files to the server and typed in that URL for the first time… Wow! It blew my mind way more than I expected! I remember thinking, “anyone can see this… I can share my thoughts, my feelings, my theories… I can share anything with anyone without ever meeting them!” Since that lesson I have purchased a course book on HTML, CSS, and XHTML. I’ve bought a reference for HTML and Javascript, and plan on teaching myself everything I can about web development. Programming is still the number one passion in my intellectual life, but web development comes in a close second!

This week we also studied databases and SQL. I learned that databases are essential because they offer a centralized repository for information that are set up in a way that offer a means of performing common operations on data, and a way to describe the format, meaning, and relationships of data. I learned that SQL is a database computer language designed for managing data in relational database management systems. Sounds complicated, but it really isn’t. Its a pretty straight forward language that doesn’t take long to learn. Well the basics anyway.

For example:
SELECT * FROM Persons
WHERE LastName=’Weatherly’

This little block of SQL selects anyone with the last name Weatherly from a table called “Persons.”

Posted in CSIT1110 | Comments Off

My thoughts on hacking…

Hacking fascinates and scares me at the same time. I am fascinated by the thought process of a hacker. I like the way they think in terms of “whats wrong with this device or pieces of software and how can we fix it?” I was fascinated by the history of hackers and how they actually helped make personal computers what they are today. I’m scared of hacking because with the ability to bypass security protocols and gain access to terminals remotely lies the ability to do real damage. 

The mindset of a hacker is a beautiful thing. My take on a hacker, a white hat at least, is someone like myself that is just fascinated by the way electronic devices work. A person that likes to test security protocols, reverse engineer software, and interface with devices in ways that the manufactures never thought of just for the fun of it. After this weeks lecture I’ve been more curious of all the electronic devices around me. I’ve always kind of had a mentality that computer science took place at a desk in a computer lab. But now I find my self unable to walk by a coke machine without hitting 4231 just to see if I can access the menu options. It has fostered in me a mindset that I can investigate and learn from everything around me. Plus some of the tricks are pretty cool and mostly harmless.

I found it interesting that the term hacker was once a compliment. I also thought it was pretty cool that Steve Wozniak was a hacker and that hacking is what led him to build the Apple One and the Apple Two.

Hacking scares me because of the power it can give a person. Someone with the knowledge and expertise can take control of just about any computer in the world. In some cases these computers may control an energy grid, contain patient records, or the launch sequence codes for WMDs. All of these are scary situations for me to think about. You hear all the time about hackers getting into systems that were said to be impregnable and stealing records and doing god knows what. I’d hate to think that a pissed of teenager with an iPad could hack into the D.O.D. computers and create a “War games” scenario.

Posted in CSIT1110, Thoughts | Comments Off

My experience with HTML…

I have enjoyed this week’s lesson on HTML. I’ve been excited about this subject since I saw it on the syllabis at the beginning of the semester. I think that HTML is one of the most useful things you can learn no matter what field of study you are in. It gives you the ability to express yourself, and your thoughts in a public forum like no other in the history of mankind.

Even though there are plenty of software programs out there that can build a page for you, there are down sides that learning HTML can solve. For starters, these programs like, macromedia dreamweaver, are very expensive and take a considerable amount of training of their own to use well. Also, these programs do not give you same power, and control over the format of your page that going in and writing HTML, CSS, and Javascript do.

An added benefit of learing HTML is that you can couple your knowlegde of web design with powerful software like dreamweaver to make professional grade websites much more efficiently. You can use the software to do most of the grunt work, and then go in and fine tune it with your own HTML.

My experience using HTML this week has been great. I have studied HTML before, but not in quite some time. This week’s lecture, and the online tutorials have been a great refresher for me. I feel like I can make a pretty nice page now. I’m also grateful for the exposure to CSS, and Javascript. So much so that I ordered a couple of books on those subjects so I can teach myself. I hope that after some months of structure studying that I can have a pretty firm grasp on all of it.

Posted in CSIT1110 | Comments Off

My take on what we’ve learned so far…

This week we have been asked to create a blog post that describes our use of the Assembly Language Simulator, and our ideas about how the various topics we’ve covered this semester are coming together. We were also asked if we had been able to construct a mental model that ties together the concepts we’ve covered so far, and if there are any pieces missing.

I found the use of the Assembly Language Simulator to be both informative, and fascinating. I found it informative, because it really helped me put most the concepts from this unit together. I found the ‘set’ button on the second simulator especially useful, because I could click on it, watch each individual step, and take as much time as I needed to see, and understand each process. I think the biggest “click” for me using the ALS was to see how the Assembly Language had to specify the exact memory location for each piece of data. I was also having trouble remembering the difference between the PC (program counter), and the IR (instruction registry) until I got to see them go through their process a couple dozen times. I got it now though! I found the ALS fascinating because I am fascinated by the – I guess you could say “lore” and “archaic” nature about it. I know that Assembly Languages are still used by CPU manufacturers, and the like, but this will probably be the last time I get to do anything with it. And even though I couldn’t sit down, and really write a program using it, I’m still glad I know what it is, its place in the progression of information technology, and a little bit about its applications.

I have been able to construct two mental models from the information covered in the last four weeks. One of these models is a timeline of people that have started, progressed, and revolutionised Computer Science. People like Charles Babbage, who first thought of separating a machine from its function, the genius Alan Turing, who pioneered the use of genetic algorithms, to Bill Gates, and Steve Jobs, who revolutionised Computer Science, and created an industry around personal computers. The second mental model is of the hierarchy of physical components, and software that come together to form and PC. I have basically taken the von Neumann model and make it my own thought process when it comes to thinking about the inner workings of a computer. Combined with the a specific understanding of hardware compatibility, how memory works, both main memory and secondary storage, and how all information input into a computer is broken down into binary has given me a thorough understanding of computers, and most electronic devices.

As far as I can tell there are no pieces missing. I feel like I have a firm grasp on the material covered. And I feel like I have a much stronger understanding of how these amazing machines work, as well as the direction Computer Science, and Information Technology is heading.

Posted in CSIT1110 | Comments Off

How I would build a computer.

            This week’s blog assignment challenged the class to build a computer from the inside out. I have done this before, but not for quite some time so I took my time, and focused on picking good components that I would use if I was building a computer for real. I designed my computer to be fairly cost effective, though I would probably have gone cheaper if I was spending real money, to have up to date hardware, and to be able to last 3-5 years without being obsolete. I have included a complete list of components used, as well as links to the web site I purchased them at. For this reason I won’t refer to each component by its paragraph long name, but just simply call it by its designation: hard drive, CPU, etc…

            I would begin the build process with the motherboard, CPU, RAM, and video card outside of the case to make it easier, and prevent damage to the motherboard, CPU, memory, or video card. I chose a motherboard that supports the LGA 1366 socket type, because I just had to have Intel’s new Core i7 processor. I chose this processor because its Intel’s latest, and fastest CPU, and one of the fastest CPUs in the world.  First, and this is important, make sure you are grounded, and check all the parts to make sure they were not damaged in shipping. In order to install the CPU on the motherboard all I have to do is find the CPU slot on the motherboard, remove the CPU from its package – taking special care not to touch or bend any of the pins – line up the pins with the socket, place the CPU in the socket, and push down the little lever on the socket to snap it in place. Do not try to force the CPU into the socket! Then you just need to attach the heat sink, and cooling fan. Once that’s done all we have to do is snap our memory in place. I chose 24 GB of SDRAM DDR3 2200, because it was the fastest I could find. To install the RAM all we have to do is find the memory slots on the motherboard, line them up properly – they only go one way, and you really can’t install them wrong – then snap them in place. Done! Now, last but not least, I need to install my high definition video card. All I have to do is find the PCI Express slot, snap it in, and we’re done. Once the motherboard, CPU, main memory, and video card are assembled we can attach it to our case.

            I chose an ATX case because that’s the form factor for the motherboard I chose. I splurged a little on the case, and got one with tons of USB ports, a side window to see the components working, and some cool diodes that shine in my favorite cool – red. To install the motherboard in the case all we have to do is line up the screw holes on the case with those on the motherboard, screw them in till they’re snug, but not to the point of stripping them, and we’re all done, and ready to move to the next step.

            I chose to install my hard drives, and DVD ROM next.  My case has 5 3.5” drive slots, but I’m only going to fill three of them for now. I have chosen three 1TB hard drives that I will daisy chain to give me a total of 3TB of disk space. I chose my hard drives based on their speed, rotational and seek, and the reviews I read at newegg.com on how it was a reliable, and supper fast drive, and there relatively low price. All we have to do to install the drives is slide them in the drive bays, line up the screw holes, and secure them. Next I will install the DVD ROM. I chose a DVD ROM that had great reviews, and a low price. To install the DVD ROM all you have to do is line up the screw holes, and secure it just like the hard drives.

            Once I have the drives in place I will mount the power supply. I picked a power supply that fit my bottom mount ATX form factor, had great reviews, and only cost me about $20. All I have to do to mount it is line up the screw holes on the case with those on the power supply, and screw them in.

            With the power supply mounted all that’s left to finish building my tower is connecting all the cabling. I will need to connect the appropriate power cords from the power supply to the motherboard, fans, and hard drives. Once that is finished I need to hook up my IDE or SATA cables to my hard drives. I can daisy chain up to five, but I chose to do just 3 for money’s sake. Once cabling is complete we can close our case, and attach our peripherals.

            Installing our peripherals is as simple as connecting a to b. I chose a USB keyboard with good reviews, and a low price. I just ran my USB cable to the back of the tower, plugged it in, and that’s it. Now I went all out on the monitor, and the mouse. I got a high definition wide screen monitor, and a 7 button gaming mouse. I chose the monitor because I like to watch movies on Netflix and, hulu, and the monitor will really upgrade the experience. I chose the mouse because it has 7 programmable buttons. I thought with would come in handy for my WOW macros. To install the monitor I just have to connect it to the HD video port, and to install the mouse all I have to do is connect the USB cable next to the keyboard cable. Finally I will hook up the speakers. I went with speakers that have a 5-star user rating, and a relatively low price. All I have to do to install them is connect them to the audio output connection.

            Building a computer is fun, and rewarding. Hardware manufactures make it pretty easy. All the components just snap in place. The only thing you really have to watch out for is compatibility, but again manufacturers make it pretty easy by stating form factors, socket types, and the like right on the box for you. Below is my complete material list, and links to the web site I found them at.

Complete material list and links:

-Motherboard
ASUS Rampage III Extreme LGA 1366 Intel
http://www.newegg.com/Product/Product.aspx?Item=N82E16813131642&nm_mc=OTC-Froogle&cm_mmc=OTC-Froogle-_-Motherboards+-+Intel-_-ASUS-_-13131642

-CPU
Intel core-i7-980X Extreme Edition
http://www.newegg.com/Product/Product.aspx?Item=N82E16819115223&nm_mc=OTC-Froogle&cm_mmc=OTC -Froogle-_-Processors+-+Desktops-_-Intel-_-19115223

-RAM
G.Skill PIS Series 4GB (2 x 2GB) 240-Pin DDR3 SDRAM DDR3 2200 (PC3 17600) Desktop Memory Model
http://www.newegg.com/Product/Product.aspx?Item=N82E16820231322

-Hard Drive
Western Digital Caviar Black WD1002FAEX 1TB 7200 RPM 64MB Cache SATA 6.0Gb/s 3.5″ Internal Hard Drive
http://www.newegg.com/Product/Product.aspx?Item=N82E16822136533

-DVD ROM
LITE-ON Black 18X DVD-ROM 48X CD-ROM SATA DVD-ROM Drive Model iHDS118-04 – OEM
http://www.newegg.com/Product/Product.aspx?Item=N82E16827106276

-Video Card
SAPPHIRE 100293L Radeon HD 5570 1GB 128-bit DDR3 PCI Express 2.1 x16 HDCP Ready CrossFireX Support Low Profile Ready Video Card-
http://www.newegg.com/Product/Product.aspx?Item=N82E16814102874

-Case
COOLER MASTER Storm Scout
http://www.newegg.com/Product/Product.aspx?Item=N82E16811119196&nm_mc=OTC-Froogle&cm_mmc=OTC-Froogle-_-Cases+(Computer+Cases+-+ATX+Form)-_-Cooler+Master-_-11119196

-Power supply
LOGISYS Computer PS550ABK 550Watts ATX12V Power Supply With SATA and 20/24 Pin connectors.
http://www.newegg.com/Product/Product.aspx?Item=N82E16817170010&cm_re=atx_powersupply-_-17-170-010-_-Product

-Monitor
ASUS MS246H Glossy Black / White 23.6″ 2ms(GTG) HDMI Widescreen LCD Monitor 250 cd/m2 ASCR 50000:1
http://www.newegg.com/Product/Product.aspx?Item=N82E16824236086

-Mouse
NZXT AVATAR AVTR-001BL Black 7 Buttons USB Wired Optical 2600 dpi Gaming Mouse
http://www.newegg.com/Product/Product.aspx?Item=N82E16826292001

-Keyboard
GIGABYTE GK-K6800 Glossy Black 103 Normal Keys 14 Function Keys USB Wired Standard Professional Multimedia Keyboard
http://www.newegg.com/Product/Product.aspx?Item=N82E16823334002

-Speakers
Logitech Z-2300 200 watts RMS 2.1 Speaker System
http://www.newegg.com/Product/Product.aspx?Item=N82E16836121122

Posted in CSIT1110 | Comments Off