Sunday, January 22, 2017

Hello, Class!

Hello, Class, and hello World!

Time for a confession: I'm not actually in OOP. I'm hoping to be in OOP, after I play the enrollment game and turn in my late add tomorrow (Monday) morning, as well as submit a time conflict form, which I must do in order to attend OOP while remaining in my current section of Algorithms. You see, my discussion section is at 1pm on Fridays - the same time as OOP - so I'm hoping to instead go to the 10am discussion section that is registered under the other algo course.

tl;dr: I'm trying to get into OOP.

In the meantime, I thought I'd add a post to the extra credit blog. I'm actually very excited about this blog, as I think having a consistent writing schedule has many proven benefits to learning. I hope to be back here more than once a week, discussing both what I've learned in OOP so far, as well as my experience with the class.

Side note: the reason I want to get into OOP so badly is because a friend, Arjun, is in the class, and we've been planning on taking a class for a couple semesters now - and this is a perfect opportunity to make that happen.

My Goals for OOP

I have only touched the surface of every programming language I know: golang, python, C, Java, javascript, even more objective-C and Swift (I capitalize some of these because, well, I think people will get offended if I don't). This means that while I know of interface in golang, I don't necessarily know where they are best used, or even why they are an important part of the language. This goes for nearly every language I've listed - I know of most of their features, but do not have experience using them.

While I do not expect to learn the depths of C++ in OOP, I do expect to gain more insight into why the developers of these languages put so much effort into the thought and structure behind OO design - and the deliberate effort that is made in the opposite direction.

I hope to understand the OO paradigm as a historical discovery. I also hope to criticize it and understand its drawbacks in contrast to a languages without built-in OO structures - like C and golang.

Needless to say, I'm very excited about this class as both a curious student and budding software engineer.