Курсът запознава студентите с базовите елементи на обектно-ориентираното програмиране. Разглежда дефинирането и използването на основните компоненти на класовете (конструктори, деструктори, оператори за присвояване и др. операторни функции). Съществена част от изложението заема наследяването (единично и множествено). Разглеждат се редица особености при дефинирането на каноничното представяне на производни класове. Специално внимание се отделя на виртуалните основни класове, на динамичното свързване, на дефинирането и използването на виртуални функции, на полиморфизма, виртуалните деструктори, абстрактните и контейнерните класове, както и на механизмите за генериране и обработка изключения.
Изложението се базира на езика C++.