Sunday, June 15, 2014

Week 1

Let me start off by sharing why I am taking this class. I need an upper division CS elective to graduate in two months. One might wonder why would I want to take this class over something easier (from what I have heard) like Computer Security or Data Management both of which are being offered over the summer. My reason for taking this class is as follows. Last year I realized that I wanted to become a developer in the finance industry. I wanted to make a program that would be able to analyze, pick, and trade stocks automatically. Before I could embark on a project like this I would need some experience so I began hunting down companies that specialize in this kind of work, writing software to manage portfolios, balance mutual funds, and even conducting high frequency trades on exchanges across the world. I soon realized that I was a Java programmer competing in a world where the speed and performance of C++ was sought after. This past March I was blessed with a job offer from FactSet Research Systems located here in Austin and I immediately accepted. While the code review part of the interview did not go well, and clearly revealed my deficiency to the managers in C++, I blew threw the algorithms part of the interview with flying colors. But before hiring me the managers had discussed with the team if they wanted me on board and some of them (being UT Alums) suggested that I would be a much more valuable asset if I took this particular class from Professor Downing. No doubt when I attempted and dropped Object Oriented Programming almost 2 years ago I knew that Professor Downing does an excellent job at teaching and even more so evaluating and testing our knowledge of the material. Moreover he focuses on making us much more employable rather than just good Graduate Student Applicants. Desperately needing the job, the ability to dominate C++, and the last CS class for graduation, it became obvious that taking this class was a no brainer.
Just in the first week the professor has already gone over the importance having a portfolio demonstrating our abilities and obtaining a good summer internship in order to become more employable. In particular the professor has introduced us to the importance of developing in a certain format which requires us to first write test code thus helping us as developers narrow our focus to write passing code that only passes those tests that we have already written. The added benefit of working under this kind of paradigm is that if and when we run into a bug, it is always easy to simply run our test cases quickly to find out what errors our new code produced thus substantially reducing our debug time. Over the course of the semester I look forward to seeing how SOLID principles are applied to the C++ language and more specifically the intricacies of the STL.
A word of advice to other students planning on taking this class. Print off the slides that the professor will go over the next day in class. He usually puts them up the night before the class. Bring these notes to class and take active notes. This ensures that you won't forget about the small details that the professor mentions when he goes through the slides since laptops are not allowed. This is very good advice coming from someone who has taken his exams before.

No comments:

Post a Comment