Thursday, 23 January 2014

Week 3: Object Oriented Programming

Having never done any programming prior to CSC108 last semester, I had gotten very used to procedural programming. Thus, object oriented programming did confuse me initially. Last semester, when we were introduced to classes, I was quite unsure of how they worked, and that was demonstrated very clearly in my final exam, where I very inadequately answered the question about classes. For example, I struggled to understand what self referred to and ended up using it incorrectly numerous times. However, this semester, I am finding the concept of object oriented programming much easier to understand. I now understand that self refers to the object itself and is useful when calling methods and using the class. While I heavily questioned the effectiveness or practicality of object oriented programming last semester, I am finding that I am actually quite enjoying it this semester. Particularly, it is very helpful in organizing large quantities of code. I found the readings provided in the course website to be quite helpful and further readings like those would be very appreciated.

ADTs also helped clear out the concept of OOP to me. The lab this week was very helpful and I enjoyed implementing and using stack and queue ADTs. The similarities and differences between these 2 ADTs, as well as the functionality of ADTs became much clearer to me after this lab. The difference in efficiency between these two ADTs is quite intriguing, in that stacks are generally fater than queues. However, something that I am currently struggling with is Exceptions, which is something we just started in class. I can see the usefulness of exception classes clearly, however it's hard to understand their implementation. In order to clear this up, I intend to do some more practice with exceptions and hopefully, by my next slog, I will have a much clearer grasp on what they entail.

No comments:

Post a Comment