Course Information
Course Overview
Master modern C++ 17 with hands‑on OOP, memory mgmt, templates, smart pointers, design patterns, and real‑world coding
This intermediate‑level course teaches you how to build professional, modern applications using C++ 17 and the full power of object‑oriented programming. Designed for developers who already understand the basics of C++ or come from languages like C, Java, or C#, this course takes you deep into the features, patterns, and best practices used in real‑world C++ development.
You’ll learn how to design and implement classes, manage memory safely, apply test‑driven development, use templates effectively, and leverage modern C++ features such as smart pointers, lambda expressions, functional programming utilities, and the STL. Throughout the course, you’ll also explore design principles and patterns that help you write clean, maintainable, and scalable C++ applications.
Chuck’s courses have been delivered to thousands of developers worldwide, including teams at major corporations, government agencies, and the military. His training is used internally at Microsoft to teach professional developers modern C++ techniques.
By the end of this course, you’ll be ready to contribute meaningfully to C++ projects with a strong understanding of object‑oriented design, modern C++ features, and the practical skills needed to write high‑quality software.
What You’ll Learn
Implement classes, constructors, destructors, and const‑correct code
Apply test‑driven development to guide implementation
Master memory management with pointers, references, move/copy semantics
Handle exceptions and design robust error‑handling strategies
Overload operators correctly and effectively
Use and create function and class templates, including variadic templates
Work with smart pointers (unique, shared, weak) using RAII
Apply inheritance, overriding, and polymorphism with best practices
Understand interfaces, dependency inversion, and interface segregation
Use lambda expressions, functional utilities, and modern STL features
Explore GOF design patterns implemented in C++
Build clean, maintainable, object‑oriented C++ 17 applications
Course Content
- 9 section(s)
- 44 lecture(s)
- Section 1 Introduction
- Section 2 First Classes
- Section 3 Memory
- Section 4 Handling Errors
- Section 5 Operator Overloading
- Section 6 Templates & Smart Pointers
- Section 7 Inheritance, Interfaces & Polymorphism
- Section 8 Functional Programming
- Section 9 Selected Standard Library Classes
What You’ll Learn
- Modern, Object-Oriented C++ Programming - C++ 17, C++ 11, 14, & 17 Features and Idioms, Lambda Expressions & Functional Programming, Test Driven Development, Inheritance, Polymorphism, Interfaces - Good Design Technique, Containers & Algorithms
Skills covered in this course
Reviews
-
JJames Robb
Generally a very good course. I think ending is a bit clunky though. Section 9's lectures breeze through a lot of material very quickly, and the lectures even seem to suggest there will be a recorded lab, but no such material is available. Still, I would be likely to use it in the future as a refresher and would recommend others that are a bit rusty use it as a refresher as well.
-
MMario David Riguera Castillo
I think the patience and the time that the teacher uses to transmit the knowledge is very good.
-
MMahesh Kulkarni
It is very well designed and presented. I liked the presentation style from Mr. Chuck McCullough. I will definitely recommend this course for all those who knows C++ 98 or 11 and want to know more about C++ 14 and C++ 17
-
BBill Jones
Overall the flow of the course was great, and having the source code as a resource but not yet fully completed which tied into the lessons kept me engage. Section 9 seemed more like an afterthought and didn't enhance the learning material from the prior sections. I would have liked to see more content with file or resource management as that would make it seem more Pro. A primer on GoogleTest would've been great as well. Overall I really enjoyed the course a lot.