The primary objective of this course is to introduce the concepts of object-oriented programming: classes, objects, functions, inheritance, polymorphism, composition and aggregation, and recursive functions. It also covers the advanced topics of C++ such as structures, pointers, templates and recursion.