An Honest Review of the QuantNet C++ Programming Certificate

Hi all,

I have recently completed the QuantNet C++ Programming for Financial Engineering Certificate and would like to give my honest review of the course. As a bit of background, I am a 4th year mathematics and statistics major at a top 5 public university in the United States, with prior programming experience in Python, R, and SQL. I have a strong research background and I am applying for graduate financial engineering programs this cycle. I decided to take this course as I do not have any formal background in C++, and I believed that it would strengthen my profile before I submitted my applications.

To start, I must admit that I was disappointed with the quality of the lecture material provided. It was very clear from the beginning that the recorded lecture videos were created at least 10 years ago, and have not been updated since. This meant that the version of Visual Studio (the recommended IDE) used was outdated, and much of its functionality has changed. This was left to the student to figure out, either by browsing threads on QuantNet or through other resources. Additionally, the lectures themselves were underwhelming. I found that Daniel Duffy would often read from the slides directly, and did not seem to have extensively prepared for the lecture before the recording. Multiple times in the lectures, he would attempt to make a change to the example code, encounter a compiler error, and then give up and move on with the lecture. This was surprising to see, as lesser-priced programming courses have consistent standards on their lecture recordings.

As for the included notes in each level, those too were inconsistent in their quality. Along with multiple typos and spelling errors, some levels would include detailed notes going beyond what was taught in the lecture video, while others would simply include a copy of the slides used. These notes, combined with the lecture videos, would often not include all of the material needed to complete the homework and quizzes. I often had to resort to finding other sources, either on StackOverflow or other educational programming-related websites, to learn the necessary concepts in order to finish the homework assignments. Personally, I found that watching the videos was not helpful at all. Instead, I would read the lecture notes to understand what topics were taught in the level, then learn about the concepts from better freely available sources.

Although this is minor, while the course was advertised as being accessible even for students without any previous programming experience, I would say that having some prior exposure would go a long way. Basic concepts such as C++ syntax, data types, control structures, and object oriented programming were not well explained. In my opinion, more focus needs to be made on these basic topics for those who may have used this course as a first encounter with programming.

For a course as expensive as it was, I was very disappointed by its quality. Frankly, I expected more effort to have been put in after it creation. Simple maintenance of the material and an updated set of lecture videos would go a long way in ensuring that students get the most out of their investment.

Not all I have to say is negative though. As for the homework assignments themselves, while they felt arbitrary in the beginning, I found that the assignments in Level 9 were helpful in understanding how all of the material came together to create one coherent project. This project gave me an opportunity to apply all that I had learned, and I was able to see how the concepts functioned in an applied setting. Additionally, I can happily say that my TA (@APalley) was very professional, and I have no complaints regarding their feedback and promptness.

With the benefit of hindsight, I would recommend an alternative path to learning C++. If you are still attending a university, then I strongly recommend taking a computer science class that teaches C++. This is the best option, and would give a formal background in C++ while also teaching essential CS concepts that are difficult to teach in an online course. For those who do not have this opportunity, I would recommend finding other courses that are cheaper or even free and have a good reputation, then creating a GitHub profile and building a portfolio through real-world projects. Until the QuantNet C++ certificate makes some much-needed changes, I would suggest that prospective students find alternative ways to learn C++.

I happily welcome other opinions from those that have completed the C++ certificate, and whether or not they felt the same way.
 
Last edited:

Daniel Duffy

C++ author, trainer
Thank you for the feedback.

Regarding VIsual Studio, do you expect me to create new videos, each time Microsoft comes up with a new version?
VS environment and C++ are independent. Some students use gcc.

We have been giving C++ courses since 1994 all kinds of industry, finance and of course, universities. It is the best course around. people say.

OOP _is_ discussed in detail. As you say yourself you found the videos not helpful. Why? Everything is in there. So, OOP is well explained if you pay attention and do the exercises.

If you can find better C++ courses, fine by me. I don't know any.
Who knows, maybe my style of training is not to your taste.

If you like, we can set up a Zoom to discuss what went wrong for you.
BTW what grade did you get?


Here are some testimonials from my site


And Quantnet has testimonials somewhere.

@APalley
 
Hi @Daniel Duffy. I did not mean to make you feel defensive. I am simply stating that the lecture videos are at least 10 years old, and it is my opinion that a course of this price should include updated content for more recent students. You are correct that VS and C++ are independent, but given that Visual Studio is the IDE used in the videos, it would have been helpful to include up-to-date information on how to use the software. As I said before, I do not feel like the course has been updated since its creation. This is evident by the old videos and existence of multiple typos in the lecture notes. I believe that amendments and corrections should have been made as necessary, considering how long it has been around.

Again, I would like to reiterate that I enjoyed the course. I feel that I have a much stronger understanding of C++ now than I did when I started. Still, I wanted to offer constructive criticism so that much-needed improvements can be made. I am writing this review simply to give my opinion, so that you can take my feedback and make the course better than it is currently.

Also, I am very happy with the grade I received. Please do not suggest that I am writing this review because I struggled with the course.
 

Daniel Duffy

C++ author, trainer
Don't worry, I am not feeling defensive.
I do take issue with some of your comments that are not not correct. For example:

1. AFAIR we do C syntax, control in modules 1 and 2.
2. "Computer science course that teaches C++", where.
3. This is a hands-on progamming/engineering course, not CS with C++ tagged on.
4. Remarks on OOP.

Are the annoying typos a show-stopper? Did they get in the way of your understanding?
 
Last edited:
Don't worry, I am not feeling defensive.
I do take issue with some of your comments that are not not correct. For example:

1. AFAIR we do C syntax, control in modules 1 and 2.
2. "Computer science course that teaches C++", where.
3. This is a hands-on progamming/engineering course, not CS with C++ tagged on.
Here is my response to your points:
1. You are correct that C syntax is covered, however I said that I do not believe it was explained in enough detail.
2. and 3. As I said before, many universities offer introductory computer science classes in C++. In my opinion, formal coursework in a programming language taught in parallel with computer science principles at a university is the best way to learn the language.

You are not responding to my comments regarding how dated the course appears to be. Why hasn't the course been updated in several years? Why haven't corrections been made to typos in lecture notes and homework assignments?
 

Daniel Duffy

C++ author, trainer
Why hasn't the course been updated in several years?
C++ 98 is the same as 10 years ago. We have advanced C+11 - C++20 course,

Why haven't corrections been made to typos in lecture notes and homework assignments?
Good question. I think the answer is from TA and QN admin.

I am not involved with-day-to-day running of the course.

Universities don't like programming. They hate programming in general.

Question: Out of curiosity, does your "top 5" university not have a C++ course?

@Andy Nguyen


Formal coursework in a programming language taught in parallel with computer science principles at a university is the best way to learn the language.
Maybe. I am not convinced. I think the approach might run the risk of being a bit academic.
The best programmers are those who actually write code all day, IMO.
 
Last edited:
Hi all,

I have recently completed the QuantNet C++ Programming for Financial Engineering Certificate and would like to give my honest review of the course. As a bit of background, I am a 4th year mathematics and statistics major at a top 5 public university in the United States, with prior programming experience in Python, R, and SQL. I have a strong research background and I am applying for graduate financial engineering programs this cycle. I decided to take this course as I do not have any formal background in C++, and I believed that it would strengthen my profile before I submitted my applications.

To start, I must admit that I was disappointed with the quality of the lecture material provided. It was very clear from the beginning that the recorded lecture videos were created at least 10 years ago, and have not been updated since. This meant that the version of Visual Studio (the recommended IDE) used was outdated, and much of its functionality has changed. This was left to the student to figure out, either by browsing threads on QuantNet or through other resources. Additionally, the lectures themselves were underwhelming. I found that Daniel Duffy would often read from the slides directly, and did not seem to have extensively prepared for the lecture before the recording. Multiple times in the lectures, he would attempt to make a change to the example code, encounter a compiler error, and then give up and move on with the lecture. This was surprising to see, as lesser-priced programming courses have consistent standards on their lecture recordings.

Although this is minor, while the course was advertised as being accessible even for students without any previous programming experience, I would say that having some prior exposure would go a long way. Basic concepts such as C++ syntax, data types, control structures, and object oriented programming were not well explained. In my opinion, more focus needs to be made on these basic topics for those who may have used this course as a first encounter with programming.

For a course as expensive as it was, I was very disappointed by its quality. Frankly, I expected more effort to have been put in after it creation. Simple maintenance of the material and an updated set of lecture videos would go a long way in ensuring that students get the most out of their investment.
Again, I would like to reiterate that I enjoyed the course. I feel that I have a much stronger understanding of C++ now than I did when I started. Still, I wanted to offer constructive criticism so that much-needed improvements can be made. I am writing this review simply to give my opinion, so that you can take my feedback and make the course better than it is currently.
@Llama ,

We really appreciate the feedback and review. There are definitely improvements/updates to be made on the content; the majority of typos etc. have been fixed over the years; any time a student raises we fix them. The lectures and notes style may suit some and may not suit others; while the delivery is outdated, the content is timeless and we are proud of the course's track record of creating successful, professional coders across many industries. Universities and hiring managers across the spectrum value the Quantnet C++ certificate, and for good reason.
These notes, combined with the lecture videos, would often not include all of the material needed to complete the homework and quizzes. I often had to resort to finding other sources, either on StackOverflow or other educational programming-related websites, to learn the necessary concepts in order to finish the homework assignments. Personally, I found that watching the videos was not helpful at all. Instead, I would read the lecture notes to understand what topics were taught in the level, then learn about the concepts from better freely available sources.
It is definitely not necessary to utilize StackOverflow to finish the assignments; the course forum contains far more information related to the exercises (and beyond) than any other online resource. The key is maximizing your utilization of the forum as described here (and in the welcome emails students received when joining the course): How to Effectively Use the Course Forum: Searching existing threads (almost any question you may have on the exercises have already been answered) and posting your own questions (TAs respond within minutes). Some students choose not to utilize the forum, which is not the most effective way of benefiting from this course.

The approach of lectures->exercises<->forum is deliberate: The lectures teach the high-level concepts only; the exercises (with the help of the forum) force students to critically-think about how to apply the concepts to the exercises; this is a vital skill which is instilled by the approach of the course. It can be frustrating at times, but the result is worth it.
Not all I have to say is negative though. As for the homework assignments themselves, while they felt arbitrary in the beginning, I found that the assignments in Level 9 were helpful in understanding how all of the material came together to create one coherent project. This project gave me an opportunity to apply all that I had learned, and I was able to see how the concepts functioned in an applied setting. Additionally, I can happily say that my TA (@APalley) was very professional, and I have no complaints regarding their feedback and promptness.
The value of this course, and where it stands far above any college course, is exactly these points:

1) Once the basic concepts are out of the way in levels 1&2, the exercises take an incremental approach to applying concepts in an intuitive way. It does this while walking a very fine line between being prescriptive (i.e., spoonfeeding via step-by-step instructions) and giving students the latitude to critically-think in ways that incrementally improve real-world coding skills. Exercises that are too prescriptive teach the science of coding, but not the art. University C++ courses teach syntax but unfortunately do not create good coders.

2) As an offshoot of 1, the course forum (when utilized properly) is unique to the course. As described above, it is massively helpful for solving homework problems, for thinking about things you may not have otherwise (by reading through posts), and for asking any questions you have.

3) The feedback on exercises goes far beyond any university (or online) course in attention to detail and to coding best practices; provided by industry professionals and grounded in decades of real-world experience. This in many ways is the most unique, important, and valuable aspect of the Quantnet courses. Students also have the ability to resubmit exercises as many times as they want for further feedback, or to discuss feedback in private with their TA.

Please do not hesitate to reach out to me through PM if you'd like to discuss anything specific to your own experience in the course.
 
Last edited:
Use GCC, preferably on a Linux system. And there are enough basic C++ books around so that one doesn't go into a course like this completely ignorant.
 
I would say the Advanced C++ Certificate is very helpful -introducing the applications of Boost library, experiencing the new features from C++11,14,17,20 (the course material is well updated). Also, the Advanced C++ course focuses a lot in OOP in terms of project designing, covering different patterns, and the final project is really useful and wraps up the whole class.

My undergraduate institution only offers Python courses for CS/DS majors, hence I feel that the Advanced C++ really guides me towards becoming more adept at C++ programming (although the exercises are sometimes challenging lol)
 
Top