Friday, 24 January 2014

Week 3.

As we approach the end of week three, we have covered how to design new Classes, Object Oriented Analysis, Abstract Data Types and Exceptions. The course content up to this point has been understandable and not over-whelming. The highlights of this week was definitely Dan’s cool reading technique, but on a more Python related note, I found the Exceptions method really useful, particularly in the case for helping with user input. While before I would have utilized a combination of if and else statements to combat anything the user said that was illegal, now I can simply use an Exception. The Exception proves its functionality as it informs the user of actions not recognized on Python, avoiding the use of if and else statements. In addition, we also learned how to handle the Exception  when we do not want our code to stop running in the event of operations that may cause exceptions. 

 The Abstract Data Types and Exceptions were brand new things learnt this week. I surprisingly enjoyed playing with the Stack and Queue methods and creating classes for them. While understanding how to create and implement those classes was frustrating at first, practice and reading definitely helped to further my understanding. This course so far has been most challenging during those awkward moments when my code decided to not run, and I find myself simply staring at the screen wondering what to do. Thankfully I have been able to find my errors and keep carrying on. An example of this would be my initial attempt to create an Exception code and watch it fail to run as I had written and implemented incorrect code. A concept I believe I conquered this week which I had not fully grasped in CSC108 was Classes. Through more practice and reading more examples, creating a class and defining the attributes, objects and methods is slowly becoming second nature this semester.
 As week three draws to a close, I am happy to say that I can now raise an Exception in my code. In conclusion, CSC148 so far has taught us new methods and tools we can use to create better, more efficient code.