Philosophy of Object Oriented Programming (OOP): Advantages of OOP over Structured programming: Encapsulation. Classes and objects access specifiers. Static and non-static members, Constructors, Destructors and copy constructors, Array of objects, object pointers and object references, Inheritances, Single and multiple inheritance, polymorphism, overloading, abstract classes, virtual functions and overriding, Exception: Object Oriented I/O: Template functions and classes: Multi- threaded Programming.

Credit: 3/lab
Prerequisite: CSC 1102