This course offers an introduction to the Object-Oriented Programming paradigm using C++, a modern object-oriented language that is relevant and popular in the industry. The course entails the modeling of objects and classes, object-oriented facilities such as inheritance and polymorphism, native data structures, exception handling, file management and I/O streams. OBJECTIVES The course is designed to provide complete knowledge of Object-Oriented Programming through C++ and to enhance the programming skills of the students by giving practical assignments to be done in labs. To learn how to write functions for efficiency and performance To understand how C++ improves C with object-oriented features To learn the syntax and semantics of the C++ programming language To learn how to design C++ classes for code reuse To learn how to implement copy constructors and class member functions To understand the concept of data abstraction and encapsulation To learn how to overload functions and operators in C++ To learn how inheritance and virtual functions implement dynamic binding with polymorphism To learn how to design and implement generic classes with C++ templates To learn how to use exception handling in C++ programsC++ REALWORLDUSECASESGui ApplicationsOperating SystemsWeb Browsers and utilitiesDatabase Management SytemsLibraries Machine learning, AR/VRCloud Computing & Distributed ApplicationsGame Development