• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering.
    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. Coming soon.
    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.
C++ Programming for Financial Engineering

C++ Programming for Financial Engineering

This is one of the greatest courses I've ever taken, and I think it is actually a must if you are starting C++ and want to lay a solid foundation for computer programming. This course is really comprehensive, covering many useful topics, especially the C++ application in financial engineering. Although this course may be somewhat intensive, I can always find prompt help from the forum and my TA. All of the videos, course material and homework are valuable resources which I can turn to whenever I meet difficulty in this field in the future. Finally, a big thank you to Prof.Duffy and my TA Avi, for your excellent work and generous support!
The course is very clear and friendly to C++ beginner. It clearly addresses the key points, and the exercise is appropriate. The TA responses my questions quite promptly and the answer is to the point. I also find the forum helpful.
I really appreciate the class content with comprehensive knowledge about almost every aspect of C++. It also provides me with a further insight of what would be the real quant life. @Apalley is my TA who is always kind and reply to my questions and HW very quickly. I appreciate for his tutor and his comment on my HW.
I think TA replies really quickly with high quality and I really like the atmosphere of discussing questions with peers. I can find many similar problems I have faced with. After participating in this course, I have a good foundation of C++ knowledge. Besides, although feeling frustrated dealing with debug problems, I gain fully inner accomplishment when seeing my codes run well. Thanks for the systemic course and sound logic! It's really beneficial!
This is a very useful courses for my further career pursue and I gained a lot from this course. This is a course not only about hard skill of C++ , it is also about patience , attitude and carefulness. Thanks for APalley's help and you are really supportive to me . Also, I want to thank @Pavlos Sakoglou ,who help me a lot with comprehensive detail and guide :D
This course was a great tool to learning the foundations of C++. I definitely feel comfortable now in using the concepts taught by the course, and have a solid base on which I hope to build on this knowledge. All of the TA's were very helpful. Responses to any questions were prompt and the criticism provided was constructive. I always felt that I was able to receive instructive comments to make my code better.
Highly recommended course!! I enlarge my knowledge of C++ greatly by learning from this course. And I have to say review makes us better. I think the slides are really helpful on some key points, which I may not understand first time.

I think Professor Daniel is the best computer language teacher I met. I mean, the course is taught at the level that is not too complicated but really useful and helpful for understanding. And I really appreciate my TA Avi. He is always there giving quick feedback and help patiently.
It is such a great course. The course is well designed, the material is well organized such that the learning process was not painful at all for a programing beginner. Homework is what I found most helpful in learning the language since the homework helps you understand and apply what you learn from the lecture. Really recommended for people wants to get their heads start in C/C++ programing. The TA is also really great and helpful regarding to answering questions and pointing out the homework coding issue. Really great course, nothing comes to my mind regarding to improvement.
The class is very helpful! I have been enjoying the studying process a lot. The class content is practical, clear and progressive. Instructor and TAs are very helpful and kind, and respond to questions very quickly! The forum is also a very good tool to study the content.
I have learned surprisingly a lot of things through this online course. Unlike other online courses, I could get feedback from tutors which helped me identify my mistakes and improve my coding skills.
This was a very fun class. I started out knowing nothing about writing in C++. I have put off learning C++ for years, because so many people have told me how difficult the language is and I felt mildly intimidated by it. However, this course made it easy. Now, at the end of the 116 day course, I have learned the fundamentals and have developed a very strong base upon which I can build a strong set of skills.
It's been a great journey on this C++ certificate. My TA is Avi, and he's done a great work to support any questions I have during the course. And his answer is always to the point and replies fast. Also, the forum is very helpful. I can always find the similar questions I have in the forum, and the answer/discussion under that thread from TA is very helpful. So in terms of the TA support, Forum, it's very good. Probably the most valuable part of the course. However, the quality of the video lecture is bad. It's like a instructor reading a very complicated paper himself without breaking down into plain language so that we can understand the basics. No offense to professor at all and some students may prefer this way though. To me , I just want to understand some concepts in a more clear way. In the lecture, the instructor just uses mouse to draw very poor diagram slowly, which is really a waste of time. Coursera, Udemy, etc. all have excellent course design and clear illustration. In the end, I have to watch a lot of YouTube videos online or read some books to digest/understand what's going on. Those videos online is made sooo clear and by watching them coding on the screen makes it much easier to understand as well.

The content of this course has its depth and beat other online courses in my opinion (Most of other online course just introduces the very basics content).

In sum, the forum, homework, TA support has the most value in the course. The lecture quality needs to be significantly modified, in my opinion. Sorry for being so sttraighford. I just want to provide honest feedback. Hope you guys dont mind:)

Thanks very much for all the support and help throughout the course. I did learn a lot:)
There is no doubt that, the materials in this course introduce a lot of C++, which can be very useful for people who has not received such education. And the calculation of option price in different ways are also very practical.

TA can response me very quickly and give out some suggestions.

Support is pretty good.
The course is of very high quality. I love this course.

My TA Avi Palley is very nice and helpful, without his high requirement, I can't write such beautiful code.

I can find nearly all the answers to my questions in the forum.
This course gives a comprehensive understanding on many essential C++ key topics.

I didn't have too much programming experience before so it's a little bit hard for me learn some hard topics, such as templates in Level6 and applications in computational finance in Level9.

Fortunately, Avi helps me a lot when I came across the difficulties in the course, especially in Level6. He helps me a lot on resolving problems on my homework and always kind to answer my questions patiently.


The forum is really good with lots of useful discussions on it.

Appreciate the opportunity to study in this course.
The greatest online course from my experience. All the TA, instruction and forum are so helpful. The courses structure are also clear and well-developed.
The overall quality of the teaching methodology is very good. I found the forum is really helpful where I can find most solutions of common problems. However, the lecture videos are too simple compared to the homework we need to do. There are many points that the lecturer did not mention in the videos so that I found it struggle to finish the homework especially for those whom do not have any programming experience before.
I had previously done a C++ course in the 1st year of undergrad and my performance was not that great. I never really had the confidence that I can get into programming. Now since I was applying to the MFE programs, I decided to take this course and it was a very good decision.

Syllabus : The content and the structure of the program is pretty extensive. All the topics are covered with the right amount of detail. I really had to put in a lot of efforts to complete the assignments (over 10+ hours every week).

TA : To put it in 1 word : Awesome
The quality of the course is good and the homework helps to learn. The TA is knowledgable and grades fast.

The lecture videos are not well-organized. They are too long for the quantity of information that they include. They could be much more efficient by splitting them into smaller, self-contained and ""to the point"" units, see the example of MOOCs.

It was very common that the questions in homework were not clear. The questions/problems should be clarified. There are many clarification questions in the forums that could give some guidance for making the questions more clear. If one wants to know exactly what is asked in the homework they have to go through most of the forum to find the clarification answers of the TAs. This takes long and is not productive time.

The homework grading was not always in line with the lecture notes/sample code. For example, at level5 Payoff.h & CallPayoff.h sample code the virtual keyword is not used in the derived classes but points were taken off for the same reason in the homework. Other similar minor cases also exist. Of course this does not make a big difference except if someone is looking for a high grade or if he is in the limit of passing the course.

In conclusion, I learned many things in this class but I spend much time that was not productive. It could be more efficient.
Great course!

I have learned a lot about C++(basic syntax,OOP, generic programming, STL , BOOST and so on).

What's more, its application on Financial Engineering benefits me a lot, which help me apply for MFE.

It's a really time consuming class..Many HWs are complex and difficult for me.

I really appreciate Avi's timely help. He solved many puzzles in HWs and content in lecture.