Skip to content
UdemyC++Paid courseIntermediate levelCertificate

Modern C++: From Intermediate to Advanced (Udemy.com)

Take your knowledge of C++ to the next level!

Created by: James Raynard

Last updated February 2026

icon
What you will learn

  • Know and understand all the important features of modern C++
  • Acquire a good knowledge of the Standard Template Library, including algorithms ("the best-kept secret in C++")
  • Learn how to use modern C++ to write code which is safer, more expressive and more efficient
  • Throrough coverage of C++11, C++14 and the most important features of C++17
  • How to write a game using Modern C++ and the SFML graphics library

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 94 / 100

icon
Course Description

Have you gone beyond beginner stage with C++? Do you want to go to the next level? This course will enhance your knowledge of the technically challenging but powerful and efficient C++ programming language.

It is designed to give you an intermediate-to-advanced level understanding of the language. There is extensive coverage of the Standard Library, including standard algorithm functions. Finally, a project in which you will exercise your new skills by writing a simple game.

After successfully completing this course, you should be able to apply for jobs and courses which require a good knowledge of C++.

The material is based around the modern version of the language. I teach the C++11, C++14 and C++17 standards, but also cover older variations which are still widely used.

The course is thorough and goes into the material in depth. It assumes basic C++ knowledge, such as the material in my  course "Begin Programming with Modern C++": function calls, loops, conditionals and classes.

There are downloadable exercises for each video, with solutions, so you can check your understanding as you learn, gaining familiarity and confidence with the material.

I will be actively supporting the course and I will respond promptly if you have any questions or experience difficulties with the course content. Please feel free to use the Q&A feature or alternatively you can send me a private message.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

James Raynard

I have been a software developer since 1994, mainly in telecomms and finance, both in the UK and abroad. I now work as an instructor and have taught software development classes in a range of environments.

I have so far published five courses on Udemy.

"Begin Programming with Modern C++" and "Learn Advanced Modern C++" comprehensively cover C++11 and 14 and some C++17.

"Update to Modern C++" comprehensively covers all the changes between older versions and C++11/14. It is meant for more experienced C++ programmers.

"Learn Modern C++ Multithreading" teaches the principles of multithreaded programming using C++11, 14 and some C++17. This course is also available as an e-book.

"Update to C++17" covers all the changes between C++14 and 17.

icon
More courses by James Raynard

$74.99

icon
More C++ courses

$174.99

$84.99

$124.99

$139.99

$109.99

$84.99

icon
Reviews

4.7

2,193 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Marcos Chamosa Rodríguez on 9/6/2026

A classic, straightforward presentation of the information as advertised, which has pleased my autistic brain. I also appreciated the project, it was pretty neat to use a graphics library and build a game loop. A disclaimer, speaking as someone who's been in that position before, If you are a person with ADD that has problems maintaining focus, you might find it difficult to follow, because of the style of presentation and delivery, but the information provided is good and the instructor clearly knows what he's talking about so you will learn a lot if you can follow it. Thanks for the course, I will be moving on to the multithreading one though I see you're adding new things so maybe I'll give it some more time.

By Jyothsna rajan on 6/5/2026

The content is good, but presentation is very lousy. The instructor is behaving as if he is teaching kids - moving his photo around and making stupid comments (sorry, motion sickness) ..it is very distracting. We did not pay to look at the instructors face or waste time listening to his stupid remarks. Please remove the instructor picture - it hides content. I will say that content is really good.

By Stanislav Raskov on 2/10/2026

Very detailed explanations of why things work the way they do, often referencing computer science fundamentals. This may be overkill for many learners, but it’s exactly what I was looking for. The course covers a wide range of important modern C++ topics: iterators and the standard library, parametric vs. subtype polymorphism, lambdas as functors, move semantics (crucial!), compile-time programming (variadic templates, etc.), RAII, perfect forwarding, and smart pointers. Some topics still require additional practice on my side, but the course gives a solid conceptual foundation. It significantly refreshed and leveled up my previously very rusty C++ skills.

By Tabi Stein on 12/26/2025

This is the perfect pace for getting back into C++. I am a Java software engineer for 8.5 years, and learned the fundamentals of C and C++ in university. I forgot most of it and I am trying to relearn the basics, while also expanding and learning more advanced material. The complete beginner courses are very slow and boring for this purpose, since they assume no programming knowledge. But this course is just right so far, thanks!

By Udemy Expert_9 on 12/17/2025

Cours très complet, avec de nombreuses notions abordées et dans des vidéos synthétiques. Cependant, les notions vues méritent d'être pratiquées en dehors pour être vraiment maîtrisées, mais après seulement 24 heures de formation c'est normal. Je recommande aux gens qui ont une base de C++ et veulent consolider voire approfondir leurs connaissances.

By Shantanu Bopardikar on 8/23/2025

The course is excellent. Sir James Raynard explains everything in a very detailed manner (just like a university professor). The course is very well sectioned and designed, especially the parts that will be required later are covered in the prior sections. I come from a Java background (10+ years of exp), so I understood all the concepts even though they were well advanced for my C++ knowledge. What I found is that C++ has way too many syntax and concepts as compared to Java (8). Can you please provide a consolidated list of topics that are regularly used in a industrial C++ project so that I can revise only those topics, instead of doing everything. Thanks again for making my C++ learning experience wonderful.

By Martin B. on 4/24/2025

My overall impression of this course is that it is an excellent intermediate level C++ course and represents incredibly good value for money. The number of people who have taken this course is relatively small in spite of the high ratings, so you know that the course will take you well beyond elementary C++ programming. As noted in other reviews James’ presentation style is slightly quirky but that should not distract from the sheer quantity and quality of the information he imparts in this course. I also liked the fact that James tells us a little about himself at the start. I would say that the course covers most of what is in C++ Primer 5th edition by Lipman, Lejoie and Moo and then some additional material up to C++17. If you have ever sat down to try to read the C++ Primer, you will know that trying to absorb this amount of material (>900 dense pages) is no small task. The course length is 24 hours, but that only covers viewing the videos once. To properly absorb this amount of information required me to re-watch most items 2 - 3 times and have a go at implementing my own version of James’ examples to reinforce understanding and build up muscle memory. I can assure you that this took me a lot more than 24 hours. I also found myself repeatedly pausing the videos to absorb what James was saying as the delivery can be quite dense at times. The order of delivery of the material is carefully constructed with each section building on what went before. Explanations are very clear and examples are well thought out to clearly illustrate the language feature / concept in question. I found the exposition of lvalues and rvalues followed by move semantics and its use in smart pointers to be particularly well explained for what can be a difficult topic to grasp. The coverage of algorithms and containers from the STL was also excellent. James is very knowledgeable on C++ and this is very apparent throughout the course. He was also very responsive when I posted questions on the forum. One slight criticism is that I cannot seem to find the pdfs of the lecture notes anywhere (I would be prepared to pay for these if necessary). This would have been really useful to have as a reference so as not to have to go back and watch a video to check something (very useful for travelling with poor internet (commuting on trains for example)). I’ve benefited significantly from this on other courses. Nevertheless this does not stop me from giving the course 5 stars. I feel I am now well equipped to take on James’ course on multi-threading in C++ which is next on my list and I am very much looking forward to it. Thank you James for an excellent course! PS: A suggestion to James: I would love to see you give a course on scientific / numerical computing using C++ as you are very well positioned to give such a course and I can't seem to find a good one.

By Glenn S on 1/21/2024

Great course which covered the intricacies of the core parts of the language. For every feature taught in this course, James went through many examples, use-cases, and showed the pros and cons so we know how/when to use them. One advice for making the downloadable material for this course more organized is to put them in subfolders for each section so we have 15 section folders instead of 200+ pdf's or code folders dumped into one large course folder.

By Ozan Can ACAR on 10/20/2023

I've watched many, I mean MANY courses on Udemy and James Raynard is the best teacher I've ever had on this platform. I'm sorry but, you've got to know the hardware if you're going to record a course about a language that is so low level, and Mr. Raynard knows that topic really well. He explains the relationship, connections with the hardware so well, I've experienced enlightenment on some of the videos. Also he's funny and kind person. I wasn't bored even for a second during this course. He also chooses his words very carefully, he is using %100 right terminology every time. He constructs his explanations very well in order to explain complex topics. Each video adds a knowledge to you, I can't recommend this course enough!

By Davit Melkonyan on 8/1/2023

Thank you very much for this course. I learned a lot of interesting things for myself, and the knowledge that I received in this course was useful in the projects that I worked on. I'm already watching your course on multithreading in C++ and I'm also quite satisfied. Thank you for the quality content and your support during the course. Best wishes, Davit.

Showing all 10 reviews on CourseDuck

Read all 2,193 reviews on Udemy