I'll make a quick comment about the choice of programming language. This is a question we keep revisiting. The three main choices these days are are
C++, Java, and
Python. In some of our courses, especially the data ones, students have to use
Python and its packages. That is the language students will most likely use in their first jobs. At the other extreme is
C++, which used to be the favored language, due to the powerful combination of its language features and speed. Today, this is often not the case. With greater computing power, Java and
Python suffice for most quantitative modeling and only the most computational intensive models require the level of optimization provided by
C++. For example, many
Python packages are in fact coded in C and
C++ and therefore will run just as fast as
C++ code.
So, in order to serve most of our students best, we now require our students to graduate with experience in writing code in Java and
Python. Since there is a lot of overlap between Java and
C++, those of you with strong programming skills will have little difficulty making the initial transition from Java to
C++. After that, you would learn how to code effectively in modern
C++, which is a specialized skill that only a few of you will ever need.