Updated in May 2025.
This course now features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. The course begins with setting up your development environment across different platforms, including Visual Studio, Code::Blocks, Cevelop, and XCode. You will then dive into the basic language facilities of C++, starting with variables, primitive types, functions, and debugging in Visual Studio. Later, you'll explore more advanced concepts such as dynamic memory allocation, object-oriented programming, classes, and constructors. As the course progresses, you will work with more complex features of C++ like move semantics, operator overloading, and memory management. You’ll gain practical experience in working with smart pointers (std::unique_ptr, std::shared_ptr, and std::weak_ptr), as well as learn how to handle type conversions and operator overloading in C++ to write more efficient and maintainable code. The course is designed for developers who want to deepen their knowledge of C++ and build powerful, efficient applications. It is ideal for students or professionals with basic programming knowledge looking to take their C++ skills to the next level. No prior experience in C++ is required, but understanding basic programming concepts will be helpful.