• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Is one C++ programming course enough?

Is one C++ course enough to become a competent programmer?

  • I don't like programming so one is perfect.

    Votes: 0 0.0%

  • Total voters
    49
Yes, I like the idea of a VBA refresher! My collegue who works at BofA and is in our program said he doesn't use C++ in his job, but uses VBA. Also, a lot of the job postings here at BofA call for VBA experience.
 
RussianMike said:
It also depends on what you plan on doing. If you work at a small company you may be required to do all and know all. If you work at a large company you are a small cog so you will have to know a small part. I plan on doing risk management where programming should be minimal so for me 1 semester should be enough.

I agree with Mike's opinion. Setting it as elective course is a good idea. Everyone has his own future plan. As an international student, seeking job might be more difficult for me than for most of you who are us citizens or hold green card. So, more skills means more opportunities.
 
I do not think, though I might be wrong, that anyone wants to come out of this program, a programmer/developer. Some people already do that. The one's that don't, want to do programming of models i.e. create an algorithm/code it, that type of thing. Regarding PhD's and programming (my company has a methodology group that hires mostly PhD's and they do know programming, however, the group is moving away from that)
 
We have different backgrouds and each of us expects something different from the programm.

As finance graduate I came to the program to learn to read academic papers (with all that stochastic calculus) and then to code it in C++, VBA and Matlab. I want as much Math as it is needed to uderstand academic papers and as much programming to be able to code what I read.

That's why Math and Programming are my priorities. I want more C++ because I can't programm that well as some of you. I want however programming strictly for financial applications, I am not interested in creating any user friendly interfaces- I think we all want to become quants- not software developers! We want to stay as close to business- that's where the money is.

I don't know if one or even 2 semesters of C++ is enough for what I am expecting to learn. It's hard to say now. I will be able to say more after the first course.
 
RussianMike said:
I do not think, though I might be wrong, that anyone wants to come out of this program, a programmer/developer. Some people already do that.
No, the goal of this program is not to train one to become a computer engineer. There are way many CS,EE programs elsewhere. The goal, rather is to produce financial engineers.
RussianMike said:
The one's that don't, want to do programming of models i.e. create an algorithm/code it, that type of thing.
That's correct. If you look at the bios of our students, some of them are already programmers, developers but in different languages, roles...most are in IT. They all want to use their programming skills and finance knowledge learned to move to the quant side.
maciek said:
As finance graduate I came to the program to learn to read academic papers (with all that stochastic calculus) and then to code it in C++, VBA and Matlab. I want as much Math as it is needed to uderstand academic papers and as much programming to be able to code what I read.
Maciek, I too would love to become a VBA,Matlab expert but that is not included in the program. We all have to be self-taught. One way or another, we will find ways to help each other achieve that common goal. Remember Latex?
maciek said:
I want however programming strictly for financial applications, I am not interested in creating any user friendly interfaces
I'm afraid you will need to wear the coat of software engineer some time. If you remember Derman's book, the most important improvement he made for the traders in his group is to improve the user interface of his trading models.
 
Big picture

Bridgett said:
Keep it in mind that this is not a program of MASTER OF SCIENCE IN PROGRAMMING though. What is really the big picture here, anyone?
Great question. The big picture is to provide practical instruction and exercises in all areas of computing a financial engineer is likely to encounter, such that students can maximize the number of job offers they receive, or, if they are working, to strengthen the skills to be more productive.

Please note the goal is not to become experts in C++; rather the course is
Object Oriented Programming for Financial Applications. A significant portion of the instruction I give will cover non C++ topics. For example, one of the required books is on debugging. Why? Well, in theory we should all do unit testing and code accordingly, but in practice, we may inherit code from a (former disgruntled) colleague and then asked to understand it, run it, change it, i.e. own it.

A strong financial engineer will need to be fluent in a numerical programming language so that s/he can price, hedge, back-test, simulate diffusions etc. quickly and accurately, for a variety of asset classes. I hope that if we do run the elective courses that they will build this foundation.
 
Re: Big picture

gc6130 said:
The big picture is to provide practical instruction and exercises in all areas of computing a financial engineer is likely to encounter, such that students can maximize the number of job offers they receive
Thanks for the prompt response, Greg. You also forget to mention the internship issue. Some of us are working full-time so there is no need to find internship. For full-time and international students, securing an internship next summer is very essential to getting a job offer after graduation. Unlike CMU or other expensive program, at Baruch the students have to find internship themselves.
You mentioned that one needs to find internship in Jan-Feb and hit the ground running in summer because there is no time for training during the short internship period. So a required C++ in the Fall and another one in the Spring will hopefully give the students enough knowledge to be productive during the internship.
 
Andy wrote
I hope to come out of Baruch and be able to program better than the Polytech guys, on par with the NYU,CU MFE guys and with some effort, comparable with the CMU guys.

So may I presume that currently, the programing skill of our students is sub par compare to NYU, CU MFE guys? And why do you think that's the case? Is it because they've taken candidates with stronger programing backgrounds or because they have stronger programing components in their program?

I believe good programing skill is essential to a quant, nowadays most of the calculations are done in computer, can't see anyone be competent for a quant job without proficiency in programing.

And having more programing courses as electives are totally great suggestions, after all, it's all about the OPTIONS :)
 
stockjinni said:
So may I presume that currently, the programing skill of our students is sub par compare to NYU, CU MFE guys?

For example NYU has three courses:

First semester:
COMPUTING IN FINANCE

This course will introduce students to the software development process, including applications in financial asset trading, research, hedging, and portfolio management. Students will use popular programming languages (Java/C/C++) to develop object-oriented software, and will focus on the most broadly important elements of programming - superior design, effective problem solving, and the proper use of data structures and algorithms. Students will work with market and historical data to test trading and risk management strategies with an eye towards the practical considerations of software deployment. Several key technologies will be presented and discussed, including recent developments in e-commerce.

Second semester:
SCIENTIFIC COMPUTING

A practical introduction to computational problem solving. Application of Taylor series to differentiation and integration. Floating point arithmetic. Conditioning of problems and stability of algorithms. Solution of linear and nonlinear systems of equations and optimization. Ordinary differential equations. Introduction to Monte Carlo. Principles of reliable and robust computational software. Scientific visualization. Students will use C/C++ and Matlab.

Third semester:
COMPUTATIONAL METHODS FOR FINANCE

Computational techniques for solving mathematical problems arising in finance. Dynamic programming for decision problems involving Markov chains and stochastic games. Numerical solution of parabolic partial differential equations for option valuation and their relation to tree methods. Stochastic simulation, Monte Carlo, and path generation for stochastic differential equations, including variance reduction techniques, low discrepancy sequences, and sensitivity analysis.
 
stockjinni said:
So may I presume that currently, the programing skill of our students is sub par compare to NYU, CU MFE guys? And why do you think that's the case? Is it because they've taken candidates with stronger programing backgrounds or because they have stronger programing components in their program?
I do not know about admission criterias at programs in NYC areas. I do not know about their programming components so I can't comment. I know that CMU is very intensive with their programming training so the students come out of CMU are very good programmers. That's the one I'm shooting for. I do not care about NYU, Columbia or any other MFE program in US for that matter. No matter how they train their students, I want to be a better programmer than any of their graduates...but that's just me.
 
maxrum said:
For example NYU has three courses:
First semester: COMPUTING IN FINANCE
Second semester: SCIENTIFIC COMPUTING
Third semester: COMPUTATIONAL METHODS FOR FINANCE
Also, it's worthwhile to note that Greg is a graduate of the NYU program so he knows what going on there. He once told us that his goal is to make Baruch's graduates very very good programmers.
 
Re: Big picture

gc6130 said:
Great question. The big picture is to provide practical instruction and exercises in all areas of computing a financial engineer is likely to encounter, such that students can maximize the number of job offers they receive, or, if they are working, to strengthen the skills to be more productive.

A strong financial engineer will need to be fluent in a numerical programming language so that s/he can price, hedge, back-test, simulate diffusions etc. quickly and accurately, for a variety of asset classes. I hope that if we do run the elective courses that they will build this foundation.

Definitely C++ since it is the mother of programming tools for quant finance in industry and it's what you'll be taught to use in most programs except CU, and some others.

If you have time, get familiar with VBA if you haven't had a working proficiency with it. The preponderance of Excel at workplace, regardless finance or engineering, renders VBA the defacto tool for a quick programming assignment.

Java, well, learn it if you have time, but definitely not before you have mastered C++ (pointers, class etc) and VBA.

My 2cents worth.
 
Andy wrote:
his(Greg) goal is to make Baruch's graduates very very good programmers.

And what specific plan does Greg have in mind(or in place) to achieve that objective?
 
stockjinni said:
And what specific plan does Greg have in mind(or in place) to achieve that objective?
Shouldn't this question be best answered by Greg? If you read what I posted earlier, first step would be to install a 3-semester long programming component.

There are so many things involved in scheduling courses, picking the instructors, material,etc...Prof. Stefanica has the final say in everything in this program. We as students can give him inputs, opinions but his job is to make the decisions that best benefit us.
 
What if Baruch offers classes for alumni where the alumni take what they feel they need more training in? I think this would work best. The program is 1 1/2 yrs for full-time students (kind off hard to cram everything in). Some seminars in the summer and winter + free/low cost classes offered to alumni should work?
 
RussianMike said:
What if Baruch offers classes for alumni where the alumni take what they feel they need more training in? I think this would work best. The program is 1 1/2 yrs for full-time students (kind-off hard to cram everything in). Some seminars in the summer and winter + free/low cost classes offered to alumni should work?
I believe that what some of our graduates are doing. I know some of them are taking more advanced classes at NYU, CU to further their knowledge. Some even went on to PhD programs. But that's for later. Now, the focus is to cramp everything into 12 courses so we can get a job.
 
FYI,
Here is an FEnews review of the S+ class taught by our beloved Greg. I believe he also teaches at NYU this Fall.
S-Plus Training is Top-Notch
By Susan Mangiero, Ph.D., CFA
http://www.fenews.com/fen10/splus.html

MathSoft Inc.'s product, S-Plus, is fast becoming a standard for financial institutions seeking a powerful statistical analytical tool. A newer version for the personal computer, S-Plus 4.5 Professional, offers a comprehensive Windows interface for those who want to point and click. For those who prefer more control and flexibility, it's possible to modify the program using the command prompt. Its features are many and new users may seek out training.

MathSoft's 4.5 Data Analysis in S-Plus training lasts four days and provides a solid introduction to both approaches. The first two days were dedicated to a GUI (Graphics User Interface) approach, using Windows. Basics such as using the object browser, creating and editing data files and defining new variables led to exercises in graphing and running statistical analyses. The last two days covered basic syntax and creating different types of data objects, followed by work on graphs and statistical models. Because most examples were taken from the two-volume manual distributed to training class attendees, it was possible to return to a topic during breaks if needed. Dated February 1999, the manual was obviously up to date in terms of program refinements. A data disk was ours to keep and included a variety of multivariate samples.

Instruction provided by Greg Ciresi was top notch. He covered the material at exactly the right pace, offering additional insights about the use of S-Plus. He even provided extra mini tutorials during breaks for interested students about topics such as LOESS regression. Moreover, Greg offered helpful recommendations about books on various statistical topics. All S-Plus instructors have strong backgrounds in quantitative methods and encourage participant questions.

Beyond the classroom, S-Plus users have access to a comprehensive web site, available at no cost. Besides S-Press, an online newsletter about new features and applications, internet support includes technical tips and specific how-to instructions. More recently, MathSoft has been offering or participating in forums specifically designed for financial users. See http://www.mathsoft.com/splus for dates and times.

Greg Ciresi is vice president of fixed income research at Cantor Fitzgerald.
Susan Mangiero is an Assistant Professor of Finance at Sacred Heart University.
 
from Baruch instrutor Marc Paschover

Marc, a world-class C++ programmer, had emailed this reply to the thread on quantnet.

It seems to me like this question will be popping up pretty much every year. I think the students tend to underestimate the prevalence of programming in quant finance. They also do not realize that the only jobs which do not require as much programming will in general require a PhD, or maybe a structuring job which usually will entail quite a bit of experience. Regardless, I do not believe that is the profile of the typical Baruch student. Programming is the crowbar that will open the door to bigger and better opportunities.
On a side note, it is interesting that CMU has the reputation of being the program that goes the deepest into programming. From what I gather, all the programs are pretty much on par for this one.
To give my opinion, I think everyone should be required to take 2 semesters of C++, with a third being elective. Another approach would be to have the students program in all the courses (all applicable homeworks to be handed in as code), in which case you might be able to get away with just one semester of dedicated programming.
 
I agree with Marc. I happen to be in structured finance and plan on doing risk management after the program. I feel for me 1 semester should be enough as a requirement, and then if I wish I can take more classes as electives. My case may not be typical, though.
 
Re: from Baruch instrutor Marc Paschover

Greg, Marc,
Thanks for the insightful response.
gc6130 said:
To give my opinion, I think everyone should be required to take 2 semesters of C++, with a third being elective.
This would be ideal. I hope Prof. Stefanica can make something toward this approach.
gc6130 said:
Another approach would be to have the students program in all the courses (all applicable homeworks to be handed in as code), in which case you might be able to get away with just one semester of dedicated programming.
This would be difficult for students without programming background. Practice makes perfect but without proper training and prior experience, this may be counter-productive. Many instructors of those courses are non-programmers and will assign projects without instructions on how to approach the problem. Students will face complicated financial problems with little C++ knowledge.
 
Back
Top