Thursday, January 28, 2016

Hello, CSC148! (Weeks 1~3)

Over the first few weeks, we have learned about OOP (Object Oriented Programming for short). Considering that I was still rusty on Python's syntax and the concept itself, I found the overall concept of OOP to be pretty intuitive. Just how computer science was one way to solve real-life world problems, I found that OOP was just another way to describe objects in the real world, with special features such as inheritance, encapsulation, and composition.
Perhaps the only struggles I had in the first few weeks was actually understanding how Python encapsulates code and hides class implementations. Since I found out that Python keeps its variables public by default, they don't enforce privacy in their attributes, so I had to do some work on how us coders do this manually.

Considering that I'm coming into this course without taken CSC108, I feel like I'm going to have to catch up on the basic syntax of Python since CSC148 teaches more about principles of program design (and they assume you know the basic Python syntax by now). I might have a harder time with recursion, algorithms, sorting techniques, and linked data structures since they're completely new topics I have not touched before, but I will revisit this topic in several weeks when I've experienced it in full.

My goal for making this SLOG is to look at problems in another way instead of silently coding. Perhaps a reflection or so can help me organize my course study better and debug my code faster. I did hear that writing your thoughts and experiences is very helpful, but I'll look back on my goals when I reach the end of the course, and see if it helps immensely.