На этом курсе начинают с понимания философии языка C++ и её парадигм. Студенты узнают о процессе компиляции - от препроцессора до линкера. Раздельная компиляция объясняется на практических примерах.
Модуль охватывает фундаментальные типы данных, переменные, константы и их инициализацию. Рассматриваются области видимости, операторы и приоритеты. Студенты осваивают управление потоком выполнения через условные конструкции и циклы. Особое внимание уделяется работе с памятью - указателям, массивам, динамическому выделению памяти через new/delete и унаследованным функциям malloc/free.
Этот блок посвящён функциям - от объявления до работы с аргументами. Рассматриваются различные способы передачи параметров, перегрузка функций и указатели на функции. Препроцессор объясняется через макросы, условную компиляцию и директивы #pragma и #error.
Студенты изучают основы ООП через структуры, классы и объединения. Модуль охватывает конструкторы, деструкторы, указатель this и статические члены класса. Рассматриваются принципы инкапсуляции, наследования и полиморфизма. Особое внимание уделяется виртуальным функциям, абстрактным классам и множественному наследованию.
Модуль включает пространства имён для организации кода и механизмы обработки исключений. Студенты осваивают иерархии исключений и стандартные типы ошибок. Приведение типов рассматривается как в стиле C++, так и через унаследованные механизмы C.
Этот блок посвящён шаблонам функций и классов. Студенты изучают инстанцирование, специализацию и параметры шаблонов. Рассматривается взаимодействие шаблонов с другими элементами языка и мета-шаблонное программирование.
Модуль охватывает потоки ввода-вывода, работу с файлами и строками. Студенты осваивают контейнеры стандартной библиотеки шаблонов - vector, list, set, map. Рассматриваются итераторы, алгоритмы и объекты-функции для эффективной работы с данными.
Завершающий модуль посвящён современным возможностям языка. Студенты изучают автоматическое выведение типов, лямбда-функции, семантику перемещения и умные указатели. Рассматриваются новые контейнеры, многопоточность и другие улучшения производительности.
Курс включает работу с экспертами отрасли и получение обратной связи. Эффективность обучения обеспечивается через практический подход. Выпускники получают диплом о завершении курса. Доступ к закрытому телеграм-чату позволяет поддерживать связь с преподавателями и однокурсниками.