Course objectives
The objectives of this courses are to provided comprehensive introduction to Object-Oriented Programming (OOP) principles and their application in C++ programming language. Students will learn to design and implement efficient, reusable, and maintainable code using OOP concepts like classes, encapsulation, operator overloading, inheritance and polymorphism.
Course learning outcomes (CLOs)
CLO: 1. Understand principles of object oriented paradigm [C2]
CLO: 2. Identify the objects & their relationships to build object oriented solution [C3]
CLO: 3. Model a solution for a given problem using object oriented principles [C3]
CLO: 4. Examine an object oriented solution [C4]
Course Outline
Introduction to object oriented design, history and advantages of object oriented design, introduction to object oriented programming concepts, classes, objects, data encapsulation, constructors, destructors, access modifiers, const vs non-const functions, static data members & functions, function overloading, operator overloading, identification of classes and their relationships, composition, aggregation, inheritance, multiple inheritance, polymorphism, abstract classes and interfaces, generic programming concepts, function & class templates, standard template library, object streams, data and object serialization using object streams, exception handling.