Hiding the Implementation, Initialization & Cleanup, Passing & Returning Objects, dynamic object creation, Reusing classes (Inheritance and composition). Advanced Object Oriented Programming topics: Interfaces & Inner Classes, Polymorphism and inheritance, memory management internals, handling exception and safety. generic programming: run-time type identification, templates and partial specialization, auto pointers, traits and traits classes, design patterns, proxy classes, multiple dispatch, operator overloading etc. Collections of Objects: Arrays, Container, Iterators. I/O System with streams. Concurrency. Coding guidelines, programming guidelines.

CASE STUDIES: the Standard Library, the STL - its use and its internals.