Overall, this course was an amazing experience. Professor Downing goes above and beyond to ensure his students learn skills that are applicable in the industry. It’s clear Prof. Downing really enjoys teaching and wants the best for each and everyone of us.
While the course is called “Object Oriented Programming,” some of my biggest takeaways from this class had nothing to do with OOP. I’ve learned about so many best practices while coding, that I’m definitely going to apply from here on out. We were also introduced to tools that are used in the industry, like Docker, Google Test, and GitLab pipelines, to name a few. It’s great to know that this is practical knowledge that will stay with me, no matter what field of CS I decide to go down. Of course, we also learned a ton of OOP concepts, and went much deeper into these concepts than we did in 314.
Things I Was Worried About
Before I took this class I had absolutely no C++ experience, so I was a bit worried there would a big learning curve at the beginning. However, it ended up not being an issue at all. Prof. Downing definitely does not make the assumption that everyone knows C++, and the first project was mostly to get us comfortable with the language.
Additionally, I was worried about the HackerRank tests. I’ll admit, the tests were still pretty stressful, but having the group stage of the test was nice. In general, completing the practice exercises Prof. Downing puts up on HackerRank is a great way to practice and get comfortable with the format.
I’d also heard about the cold calling in class, but it honestly wasn’t that big of a deal. It’s more like having a conversation with Prof. Downing. As long as you generally know what’s going on, it’s nothing to stress about. Prof. Downing does a great job at guiding in the right direction, even if we don’t immediately know the answer to something.