Sunday, May 6, 2012

Finale

Well, this is it - the final blog post. And you know what, in spite of having written so many critical posts earlier, I have to say I feel good having taken this course.

Of course, I still stick to my previous argument that the textbook should not simply be left for weekend reading. A lot of core object oriented concepts got relegated to the 2-minute quizzes, and I feel this course would be more true to its title if it discussed those issues. Even if there isn't all that much time to discuss them in class, the "object-oriented" projects should be brought on earlier, and projects like "Grades" should be modified so that the emphasis is on the object-oriented nature of the system we're trying to model and not on printing tables.  Prof. Downing might even consider the idea of having one massive project substitute the last 2-3 projects (after all one of the main concepts of object-oriented programming is to make huge complex projects manageable)

 Sure, if you look at it from the narrow day-to-day perspective, it may seem trivial; but when I look at the course as a whole - I feel it has been a worthwhile experience. Do I know more about C++ than when I started out - yes. Am I more confident about better software design and engineering practices - yes. Will all the tiny nuances about the language come together to help me write better code - definitely! The pair programming has also helped me - I was quite skeptical initially since I prefer not to irritate someone with my obsessive compulsive needs for bracing styles etc. But as the projects progressed, I got more and more comfortable working with my project partners - and it's a huge weight off your shoulders when you can do that. If anything, just the experience of collaborating so closely with someone on a project was worth the time and effort spent on this course.