Sunday 26 January 2014

Week 3: Object Oriented Programming

I have recently decided to enroll in CSC148 and in which this course is one of the prerequisite course to take in order to enroll in Computer Science major. The first two weeks have been focused on reviewing concepts from CSC108 which includes the basics of Python and Object Oriented Programming(OOP).

Object Oriented Programming is something that I feel I have full grasp of what it entails, but at the same time I feel I should be much more proactive in learning the little tricks that you can do to make your algorithm run efficiently. The exercises that we have done in lab caused me a bit of problem in terms of finding ways to solve the exercise. Since the lab exercises problems are done in a group of two, it was a relief having someone I could bounce my ideas with and find other ways of solving the problem. All in all, I enjoyed the lab exercises immensely.

In terms of lecture and following through the contents introduced in the first two weeks, I have had a shaky background as I was unable to attend the first few lectures due to late enrollment(Was planning on doing CSC148 in Summer as I was on a waitlist for a different course and have been attending that course instead. I was unable to enroll in that course in the end due to super long waitlist and full course capacity). So in order to catch up, I have decided reread every lecture materials and follow up on my friends notes from lectures. I feel I have a decent understanding of concepts like Stacks and how it is executed in python using OOP method calls. I learned on how to push(basically append items to a stack) and pop(remove items from stacks using del or other methods as needed).

One of the concepts I really need to start gaining full understanding are exceptions and inheritance. I feel the reading material did not help me as much. The lecture pace was a bit too fast for me to fully process the concepts, especially inheritance. I will be using the CSC Help centre to ask further questions regarding this topic.It has been a crazy week in terms of catching up on missing lectures notes and catching up on concepts I did not have a full understanding about.

Earlier this week, I had a BIO130 lecture and the professor was talking about the Human Genome project which is the ongoing research to map the human genome in entirety and one of the hurdles that he talked about was the limit of computation to be able to handle the processing and sequencing DNAs and the chemical make up of genes. It made me realize that efficient coding and creative algorithms as a break through to limit of computation is what will guide us in scientific research of the future. I am excited to learn some integral topics in CSC148 that will hopefully set me on the right path to be a smart programmer and a well rounded researcher.