Let me first share why I am taking this class. As a computer science major I need this class to graduate as it counts for a writing elective. But that is not the only reason. I took a class from Professor Downing in the Fall of 2012. The class was called object oriented programming and was taught in C++. Since my first language was Java, and since I was also enrolled in the infamous CS 439, I found the course very difficult and ended up dropping after bombing both midterms. However, I realized that even though this was one of the hardest classes I had taken, the professors teaching method was solid and I knew that taking such a class would guarantee real proficiency in becoming a developer.
During the first week of this class the professor has right off the bat made it clear that he is more interested in making us employable rather than just eligible masters candidates. As I had been interviewing for the past year many employers had asked me about SOLID principles which appears on the schedule and about which we will learn at a later time. I bring this up because it is important. This class is designed to bridge the gap between what professors in computer science teach (mostly theory) and what employers expect (give me a program that I can sell). I admit that I am pretty bummed that this class is being taught in python. Many employers in the finance industry (in which I will be working as of September) value time as money and so they want code that runs fast. As a result they expect proficiency in C++. Python is picking up popularity though because companies want the analytical abilities of Matlab without having to buy licenses and there are a good set of libraries written in python for such work. I was hoping that this class would be taught in C++ so I could get more exposure to the language but I guess thats why I am also in CS 378 Generic Programming in the STL. It is however important to understand web technologies in the world we live in today. Learning Python, JavaScript, and Django for this course will definitely help me diversify my resume and I look forward to creating a useful website by the end of the class.
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