This course focuses on object-oriented programming (OOP) principles in C++. Learners will understand classes, objects, inheritance, polymorphism, and encapsulation. The course also covers memory management with pointers and references, and introduces error handling and debugging techniques. Students will learn to use GenAI tools for code review to improve code quality and reliability.

Object Oriented Programming with C++

Object Oriented Programming with C++
This course is part of Microsoft Introduction to C++ Programming Professional Certificate

Instructor: Microsoft
Access provided by IT Education Association
Recommended experience
What you'll learn
- Write, debug, and compile C++ programs that solve real problems.
- Apply modular and object-oriented programming principles.
Skills you'll gain
Details to know

Add to your LinkedIn profile
December 2025
See how employees at top companies are mastering in-demand skills

Build your Software Development expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate from Microsoft

There are 5 modules in this course
By the end of this module, you will be able to: Define classes with appropriate data members and member functions Implement constructors and destructors for proper object lifecycle management Apply access modifiers to enforce encapsulation Create and use object instances effectively Understand the relationship between classes and objects.
What's included
6 videos5 readings4 assignments6 ungraded labs
By the end of this module, you will be able to: Understand the differences between references and pointers Implement effective memory management using dynamic allocation and deallocation Use smart pointers to prevent memory leaks Apply best practices to avoid common memory-related issues Analyze and optimize memory usage in C++ programs.
What's included
6 videos4 readings4 assignments6 ungraded labs
By the end of this module, you will be able to: Implement inheritance hierarchies with base and derived classes Apply polymorphism through virtual functions and method overriding Design abstract classes and interfaces using pure virtual functions Understand the concepts of early and late binding Use multiple inheritance appropriately and avoid common pitfalls.
What's included
6 videos4 readings4 assignments6 ungraded labs
By the end of this module, you will be able to: Implement exception handling to manage runtime errors Create custom exception classes for specific error conditions Use debugging tools to identify and resolve issues in C++ code Apply testing methodologies to validate program correctness Leverage GenAI tools for effective code reviews.
What's included
6 videos4 readings4 assignments6 ungraded labs
This capstone module guides you through designing and implementing an enterprise-level object-oriented library management system using modern C++ practices. You will create class hierarchies, apply inheritance and polymorphism, implement robust memory management, and build custom error-handling workflows. Through structured phases, you will design the architecture, develop the full system, and validate it with unit and integration tests. You will also use GenAI tools for professional code review and quality improvement. By completing the project, you will produce a portfolio-ready application demonstrating advanced C++ and OOP mastery.
What's included
1 video3 readings1 assignment1 ungraded lab
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Explore more from Computer Science

University of London

University of London
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.



