The “C++ Programming for Financial Engineering” Online Certificate is a joint project by the Baruch MFE program, Dr. Daniel Duffy and QuantNet. The content was developed by best-selling author Dr. Daniel Duffy and the course is delivered entirely online by QuantNet. The Baruch MFE Program provides a teaching assistant to each student, and grants a Certificate of Completion upon passing the final exam.
This program has been approved by GARP and qualifies for  GARP CPD credit hours. If you are a Certified FRM or ERP, please record this activity in your credit tracker at www.garp.org/cpe. Contact CPE@garp.com with questions about GARP CPE hours.
Audience: This certificate is designed for people interested in pursuing graduate studies in financial engineering and covers essential C++ topics with applications to finance. About half of the students who successfully completed the certificate are now enrolled in financial engineering graduate programs. With an emphasis on financial applications for quantitative finance, the certificate is also useful to professionals interested in learning the main programming language used in the quantitative financial industry.
- Basic C/C++ Language and Syntax: Data types, variables, operators and expressions, decisions and loops, functions and storage classes, the preprocessor, pointers and arrays, data aggregates.
- Object-Oriented Programming (OOP) in C++: Classes and objects, basic operator overloading, memory management, namespaces.
- Inheritance and Polymorphism: Object-oriented modeling, simple inheritance, polymorphism, exception handling.
- Generic Programming in C++ and Standard Template Library (STL): Introduction to generic programming (GP), template classes in C++, introduction to STL, STL containers and algorithms, combining OOP and GP.
- An Introduction to Boost C++ Libraries: Introduction to Boost, continuous and discrete statistical distribution, random number generator.
- Applications in Computational Finance: Applications and test cases (Black Scholes pricing and Greeks), Monte Carlo methods, finite difference methods (Euler, Crank-Nicolson), lattice methods, exact methods (Barone-Adesi-Whaley, bonds, swaps, swaptions).
Format: The C++ online certificate consists of 10 levels, each with video lectures, reading materials, programming homework, and quiz. Each student is assigned a personal TA (alumni of the Baruch MFE Program). A dedicated forum is available to discuss homework problems.
Time Frame: The course must be completed within 16 weeks from the enrollment date.
Certification: Upon successful completion of the course, the Baruch MFE program will issue a Certificate of Completion to students who pass the final exam and obtain a 70% or higher average. A Certificate of Completion with Distinction will be awarded to students with 90% or higher average.
“The course provided a great outline of what a programmer can do with C++. The topic areas are brief, to the point, and distributed into 9 levels. Each level has video lectures, homework assignments, and its own forum for students to ask questions. The instructor conducted a precise walk-through on each lecture, again, brief and to the point. My assigned TA was tremendous in given feedback and pointing me in the right direction.”
“I was able to get a solid background in C++ and options modeling very quickly. It would have taken me at least a year to get this far on my own. The introduction to exact, finite-difference, binomial method, and Monte-Carlo techniques was extremely valuable. My TA provided feedback usually within a half a day. He did an outstanding job. Professor Duffy was very accessible online as well. I appreciate Professor Duffy’s mathematical knowledge and expertise in the option modeling techniques.”
“The course, while challenging was very worthwhile. We all know coding can be challenging, especially at the early stages and with a language as powerful and therefore complex as C++. My TA, along with the online forum were extremely helpful and in many ways it is was these resources, coupled with the very applicable to industry nature of the course, which sets it apart from others.”
(Sign up or log in required)
Pre-register to learn more
About the Instructor
Daniel Duffy is an internationally known trainer, writer and software designer. He is founder of Datasim Education and has been involved with C++ since 1988 as developer, designer and trainer. Clients are companies in all areas of software development over the world, including investment banks, hedge funds and MFE students at several universities. He has written ten books on software design, C++ and their application to computational finance. Daniel Duffy has a PhD in numerical analysis from Trinity College (University of Dublin).
- Does the certificate satisfy the programming requirement of MFE programs?
The certificate meets the C++ pre-requirement for the Baruch MFE program. Students will be able to include in their application to any program the course syllabus and the C++ projects completed during the course to show programming proficiency. About 50% of the students who successfully completed the certificate are now enrolled in financial engineering graduate programs.
- How is the final exam conducted?
The final exam is conducted online and proctored by the TA. Access to a webcam and Skype is needed.
- What is the refund policy?
Full tuition refund is granted upon request within 14 days of the tuition payment being received. No refund is provided after that.
- What certifications do students receive upon successfully completing the course?
The Baruch MFE program will issue a Certificate of Completion to students who pass the final exam and obtain a 70% or higher average. A Certificate of Completion with Distinction will be awarded to students with 90% or higher average. The certificates are mailed via regular post.
- What is the best way to study for the course?
To best benefit from the learning format of the C++ Programming Certificate, it is suggested that you study the material in the following sequence:
- Watch the recorded video clips
- Read the accompanying materials
- Run the sample code
- Ask questions in the forum which can be answered by your TA or other students
- Complete the programming assignments. Ask questions if needed
- Pass the quiz at the end of the level
- Repeat for the next level