This week concludes my time in object oriented programming, CS 371P. If there is one thing that I've learned during my time in this class, it is that Professor Downing walks the line perfectly between being a professor that is concerned with making sure that his students understand the theory and specs behind the material that he teaches, and the real world applications of the material. I have enjoyed OOP more than the majority of CS classes I've taken so far at UT because I feel that I've gained a extensive understanding of the tools and procedures that are used in many agile programming teams today. While many classes can give you a theoretical background in algorithms, not many classes here at UT focus on imparting trade knowledge. I think when I graduate OOP will be in my top 3 classes that out of my upper division course load.
I've also always had a passion both for playing games and making them. Learning C++ has been a necessary goal that I hoped to achieve during my time here at UT. Now that I've learned how to program in it efficiently, I plan on using the new Unreal Engine 4 to start some early drafting of a major game project I've had in mind for a few years. If you're at all interested in making games in your future, I recommend this class.
C++ Is a very robust language that for many people is their first experience working in a language that allows you to access memory directly and expects you to take care of garbage collection yourself. It is the proving grounds that weeds out the programmers who don't understand theory from those who do. I felt that throughout my time in OOP I had plenty of practice honing my skills. The workload for OOP includes 5 comprehensive programming projects along with about 36 daily quizzes that will keep you up to date on the many things you'll be learning in the class.
All in all if you're ever wondering if you should take OOP, you should.