This intermediate course path begins with a review of core object-oriented programming concepts in C++, including classes, objects, inheritance, polymorphism, and encapsulation. These concepts provide the foundation for understanding and implementing design patterns.
You will examine creational patterns for managing object construction, structural patterns for organizing relationships between components, and behavioral patterns for distributing responsibilities and coordinating object interactions.
Through hands-on coding and a smart home system example, you will select and apply appropriate patterns to practical software design problems. This path is intended for C++ programmers who want to improve the scalability, flexibility, and maintainability of object-oriented systems.