Object Oriented Programming with C++
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Object Oriented Programming with C++
This course is part of Microsoft Introduction to C++ Programming Professional Certificate
Instructor: Microsoft
1,742 already enrolled
Included with
Learn more
Ask Coursera
Recommended experience
Recommended experience
What you'll learn
- Write, debug, and compile C++ programs that solve real problems.
- Apply modular and object-oriented programming principles.
Tools you'll learn
Details to know
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
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.
By the end of this course, you will be able to: - Design and implement C++ classes that encapsulate data and behavior using principles of object-oriented programming. - Apply inheritance and polymorphism to create flexible, reusable, and maintainable code structures. - Manage dynamic memory in C++ using pointers, smart pointers, and memory management best practices. - Implement robust error handling and debugging strategies to identify and resolve issues in C++ programs. - Apply effective testing methodologies to ensure code reliability and correctness. - Leverage Generative AI tools to enhance code quality, accelerate development, and support professional C++ programming workflows.
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
6 videosβ’Total 29 minutes
- Welcome to Object-Oriented Programming with C++β’3 minutes
- Object-Oriented Programming Revolution in Software Developmentβ’7 minutes
- Object Lifecycle Management in Professional Applicationsβ’3 minutes
- Object Lifecycle Management in Professional Applicationsβ’7 minutes
- Why Encapsulation Protects Your Code from Chaos and Your Career from Disastersβ’4 minutes
- Encapsulation in Robust Software Designβ’5 minutes
5 readingsβ’Total 50 minutes
- C++ OOP Course Syllabus with Project Milestonesβ’10 minutes
- Class Definition, Object Creation, and Programming Paradigmsβ’10 minutes
- Constructor Types, Destructors, and RAII Principlesβ’10 minutes
- Access Specifiers, Getter/Setter Patterns, and Friend Relationshipsβ’10 minutes
- C++ Object-Oriented Programming Essentials: A Reference Guideβ’10 minutes
4 assignmentsβ’Total 120 minutes
- Object-Oriented Design and Implementation Assessmentβ’30 minutes
- Object Lifecycle and Resource Management Assessmentβ’30 minutes
- Encapsulation and Data Protection Assessmentβ’30 minutes
- Module 1 Comprehensive Evaluationβ’30 minutes
6 ungraded labsβ’Total 360 minutes
- Class Definition and Object Interaction Practiceβ’60 minutes
- Real-World Entity Modeling Systemβ’60 minutes
- Constructor and Destructor Implementation Practiceβ’60 minutes
- Resource-Managing Class Implementationβ’60 minutes
- Access Control and Encapsulation Practiceβ’60 minutes
- Class Encapsulation Refactoring Projectβ’60 minutes
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
6 videosβ’Total 29 minutes
- References and Pointers in High-Performance Systemsβ’3 minutes
- References and Pointers in High-Performance Systemsβ’7 minutes
- Dynamic Memory in Scalable Applicationsβ’3 minutes
- Dynamic Memory in Scalable Applicationsβ’5 minutes
- Smart Pointers in Modern C++ Developmentβ’4 minutes
- Smart Pointers in Modern C++ Developmentβ’6 minutes
4 readingsβ’Total 40 minutes
- Reference Semantics, Pointer Operations, and Memory Addressingβ’10 minutes
- Dynamic Allocation, Memory Lifecycle, and Error Preventionβ’10 minutes
- Smart Pointer Types, RAII Implementation, and Custom Deletersβ’10 minutes
- C++ References, Pointers, and Memory Management Guideβ’10 minutes
4 assignmentsβ’Total 120 minutes
- Memory Indirection and Usage Assessmentβ’30 minutes
- Dynamic Memory Safety and Debugging Assessmentβ’30 minutes
- Modern Memory Management and Ownership Assessmentβ’30 minutes
- Module 2 Comprehensive Evaluationβ’30 minutes
6 ungraded labsβ’Total 360 minutes
- Reference and Pointer Declaration Practiceβ’60 minutes
- Memory Indirection Programming Systemβ’60 minutes
- Dynamic Allocation and Error Detection Practiceβ’60 minutes
- Memory Tracking and Management Systemβ’60 minutes
- Smart Pointer Usage and Ownership Practiceβ’60 minutes
- Legacy Code Modernization Projectβ’60 minutes
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
6 videosβ’Total 26 minutes
- Inheritance in Professional Software Architectureβ’3 minutes
- Inheritance in Professional Software Architectureβ’5 minutes
- Polymorphism in Extensible Software Systemsβ’3 minutes
- Polymorphism in Extensible Software Systemsβ’7 minutes
- Abstract Classes in Professional Software Architectureβ’3 minutes
- Abstract Classes in Professional Software Architectureβ’5 minutes
4 readingsβ’Total 40 minutes
- Base/Derived Classes, Inheritance Access Control, and Constructor Chainsβ’10 minutes
- Virtual Functions, Dynamic Binding, and RTTI Implementationβ’10 minutes
- Pure Virtual Functions, Interface Design, and Multiple Inheritanceβ’10 minutes
- Inheritance and Polymorphism: Module 3 Reference Guideβ’10 minutes
4 assignmentsβ’Total 120 minutes
- Inheritance Implementation and Design Assessmentβ’30 minutes
- Polymorphism and Virtual Function Assessmentβ’30 minutes
- Abstract Classes and Interface Design Assessmentβ’30 minutes
- Module 3 Comprehensive Evaluationβ’30 minutes
6 ungraded labsβ’Total 360 minutes
- Inheritance Implementation and Access Control Practiceβ’60 minutes
- Classification System Hierarchy Designβ’60 minutes
- Virtual Function and Polymorphic Behavior Practiceβ’60 minutes
- Polymorphic System Architecture Implementationβ’60 minutes
- Abstract Class and Interface Design Practiceβ’60 minutes
- Interface-Based System Architectureβ’60 minutes
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
6 videosβ’Total 29 minutes
- Exception Handling in Robust Software Systemsβ’3 minutes
- Exception Handling in Robust Software Systemsβ’6 minutes
- Debugging and Testing in Professional Developmentβ’3 minutes
- Debugging and Testing in Professional Developmentβ’7 minutes
- GenAI Revolution in Code Review Processesβ’3 minutes
- GenAI Revolution in Code Review Processesβ’6 minutes
4 readingsβ’Total 40 minutes
- Exception Mechanisms, Try-Catch Implementation, and Custom Exception Designβ’10 minutes
- Debugging Tools, Testing Frameworks, and Testable Code Designβ’10 minutes
- AI Code Review Tools, Anti-Pattern Detection, and Automated Refactoringβ’10 minutes
- C++ Exception Handling and AI Code Review Guideβ’10 minutes
4 assignmentsβ’Total 120 minutes
- Exception Handling and Error Recovery Assessmentβ’30 minutes
- Debugging and Testing Implementation Assessmentβ’30 minutes
- AI-Assisted Code Review and Quality Assurance Assessmentβ’30 minutes
- Module 4 Comprehensive Evaluationβ’30 minutes
6 ungraded labsβ’Total 360 minutes
- Exception Implementation and Custom Exception Practiceβ’60 minutes
- Comprehensive Error Handling Systemβ’60 minutes
- Debugging Tool Usage and Test Case Creation Practiceβ’60 minutes
- Comprehensive Test Suite and Debugging Workflowβ’60 minutes
- AI-Assisted Code Analysis and Review Practiceβ’60 minutes
- Comprehensive AI-Assisted Code Review Systemβ’60 minutes
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
1 videoβ’Total 4 minutes
- Enterprise Library Systems and OOP Excellenceβ’4 minutes
3 readingsβ’Total 30 minutes
- Object-Oriented Library System Project Overviewβ’10 minutes
- Hands-on Course Project: Object-Oriented Library Systemβ’10 minutes
- Course Completion and Professional Next Stepsβ’10 minutes
1 assignmentβ’Total 30 minutes
- Final Project Evaluationβ’30 minutes
1 ungraded labβ’Total 60 minutes
- Hands-on Course Project: Object-Oriented Library Systemβ’60 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Offered by
Explore more from Software Development
- Status: Free Trial
Course
- Status: Free Trial
- Status: Free TrialU
University of London
Course
- Status: Free TrialU
University of London
Course
Why people choose Coursera for their career
Frequently asked questions
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Certificate, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
More questions
Financial aid available,
ΒΉ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.
