Tuesday 3 December 2013

End of course and last post

After 3 months of being engaged in this course, I am sad to acknowledge this post as being my very last one. Before I jump into overall conclusions, I would like to take the liberty and accentuate certain fascinating points from our last lecture. Our last lecture talked about piracy and the implications behind it. The first source of piracy was with older tape cassettes, yet at this time the industry had no concern over such matters. Each additional copy make of cassettes would result in a sharp change and loss of quality. The adoption of Cd's no longer inherited this issue and a perfect copy could be made every time. This sent the industry looking for ways to initiate DRM protection. The potential legal consequences of pirating can be huge and can often leave an individual with a huge monetary liability. Piracy is something that is taken very seriously and can lead to major consequences without proper responsibility.

For the tutorial, we learned how to filter lists. This was much more useful than simply mapping a function because you actually get elements of the list back based on your metrics and parameters. In the tutorial I explored making custom lists and additional filter function to yield out various outputs.

To conclude on csc104 overall, one word comes to mind "exciting". I learned a lot about computers and learned a lot about the world of programming. I look forward to taking further csc courses in the near future and would advise anyone to take this course. Danny Heap was also an amazing and supportive instructor!

Sunday 1 December 2013

Networking

Networking is something that really marvels the mind for me. Why you may ask? Well would you have the ability to read this very post without networking? The answer is a resounding no. Networking has allowed us to communicate in a way that is completely different than ever before. Going over the history of networking we had the ring topology, star formation and from a more modern context we had a bus configuration. One of the coolest experiments we did in class was having the professor pass around a paper and we would all pretend to be compoenents of a traditional ring formation. This led to several exciting intuitions. Firstly, it was very slow and time consuming to have one message gyrate the chain. Secondly, if at any point there was an error in one of the components that would ultimately kill the link. Lastly, it demonstrated that everyone would have access to the information and it was not necessarily private.

We also learned about the impact the government had on the creation of the internet. The internet had its inception in 1969 and was predominantly used in the military. It was later that academic institutions and larger bodies would also receive the ability to use the internet. It wasn't until the early 90's when the early browser arrived that allowed the internet to go from being an enterprise service to a consumer grade commodity. This was when corporations jumped at the opportunity and as a result in the mid 90's a tech boom era began. The government had a huge role in the creation of the internet and unfortunately it seems they no longer have the incentive to fund innovative and revolutionary technologies.

Networking has also played into the notion of productivity. People are able to be so much more productive with computers. It was also mentioned that people are most productive in an 8 hr day and having them work for a time frame beyond that would result ultimately in diminishing returns. Computers have actually replaced some jobs that had the tendency of being one dimensional. But for many, the computer is actually a complimentary device and has enhanced productivity. I am truly fascinated by the knowledge acquired in this course and hope to learn much more!

Week 8

In this week's lecture we learned one of the most fundamental and imperative computer software entities known as the operating system. The operating system plays an instrumental role in the way that we organize and process information that is stored in our computer. One of the main benefits of operating systems is that it allows files and information on the hard drive to be accessed timely and efficiently. If no operating system existed we would inevitable need to know very technical information such as which sector is the information stored on in the hard drive. In fact, one file may be split multiple sectors of a hard drive and this would provide a headache to a regular individual looking to retrieve that file. This is also a form of protection for the user as the OS ensures that no human action will render the information and the operational capacity of the computer to be compromised. In a sense the OS is a layer of protection. There are 3 different types of OS's in the market, Windows, Mac and Linux. The latter of course being free and open source. The operating system the professor recommended using was the one that the user was most comfortable with. Further, it was also advised that it may be a good idea to get the operating system that your friend are using because if an issue arises close colleagues can be a source of excellent troubleshooting. It's also important choosing an OS that will allow you to run your desired programs. For myself personally, I'm a big proponent of the windows ecosystem. I am at heart a big gamer and unfortunately directx is a standard that only exists on Windows. Most games use directx and a large reason as to why Windows is the OS of choice for those involved in gaming.

In the tutorial for this week we attempted more recursions. The recursions were slightly harder but asking questions in class and attempting it myself first was a good way to wrap the mind around the material. I love recursions and again this allowed me to do quite well on the test.

Up to Week 7

I thought this would be a good time to create another blog post and provide a thorough update for the material so far in the course.

To kick things off I would like to accentuate the first project that we had and some of the implications associated with completing that particular exercise.The idea behind the project was really emulating a virus throughout a particular population and seeing the health state of people alter over a certain passage of time. This was really the first time where I had an opportunity to work on a life like application and develop a program that models the real world. Granted of course, much of the code was already provided and as a group it was our role to fill in the blanks. There were many challenges and struggles that we had to face as a group. For a good portion of the project we would blankly stare at the screen hoping that the answers would find us. After dedicating a sizable amount of time we were able to successfully complete the project and get the simulation working properly. Danny Heap was also a great resource in guiding us in the right direction. Toying around with the immunity, duration and virulence was an entertaining exercise as this would yield the simulation to be slightly different. Overall, the project allowed us to apply many different computer metrics and coding techniques that were taught to us in class.

After project 1, we dived into a coding field that I found to be very enjoyable and rewarding. Recursion is a way for us to create something large and complex by implement something small and simple in the beginning. It was very overwhelming from the start but once you broke down each element of the code it was actually quite easy to get a hang of it and understanding the overall output of the program. I also enjoyed putting different variable numbers into the recursion programs as you could create very interesting and funny looking shapes.

In week 7 we learned about computer hardware and as someone who is quite an amateur intellectually within the realm of computers, this was all very fascinating. The first type of storage that we learned about is the traditional hard drive. Hard drive's have a life cycle typically of 5 years and this is particularly the case because of the moving parts and spindles within them. Well then why are they the most common form of storage? The answer has to do with the pricing and the storage capacity. It was suggested that cd and dvd storage would replace hard drives, but there was a new discovery in the hard drive platform that allowed for greater capacity yields. There are new emerging and young technologies such as flash storage and ssd's. These offer greater reliability but are still priced at a premium with provides reason for them not being commercialized as the daily driver for storage. In addition to being more reliable they also offer improved read and write speeds as well as a longer product life cycle.

In the tutorial for week 7 we were deconstructing images and playing around with the width and height by designating the amount of pixels for those metrics. For instance, we could halve the height and double the width and produce two of the same images side by side. Because the material was so interesting to me, I naturally found the quiz to be quite easy.

Saturday 26 October 2013

First Blog

After having had much time thinking about the different electives that I could've taken this year, CSC104 seemed to come out on top. I have zero experience in this field and having the opportunity to navigate myself in uncharted waters has been very rewarding thus far. The course material has so far been pretty straight, enjoyable and very different than what I usually witness, being an accouting student. I have really enjoyed the coding aspect of this course. Dr.Racket has been a very intuitive piece of software to get students thinking about the approach required as far as programming is concerned.

I have to say though, the one moment in which confusion plagued me was when Binary was first introduced to the class. I could not wrap my head around the mechanics of binary and the required steps to perform a conversion from decimal, or vice versa. I always strongly accentuate that when life has problems "google" has answers. As such, I consulted an external website http://courses.cs.vt.edu/csonline/NumberSystems/Lessons/DecimalToBinaryConversion/index.html as a tool to get me through this new concept. I was able to successfully learn the system and moreover it allowed me to better grasp the lectures. Putting the extra time in outside of class to learn the material has been highly beneficial.

The Wikipedia assignment was quite enjoyable. I had no prior experience editing Wikipedia material and as someone who uses Wikipedia extensively, I think its great giving back to the community. Learning the Wikipedia syntax took quite sometime but as soon as I leaped over this hurdle the rest was pretty simple.

Next week assignment 1 is due and I'm looking forward to completing it, especially as this is our first assignment within the course. I'm really excited that I enrolled in this course and I can't wait to see what I'll learn next!