Огляд стандартів C++11/14/17/20/23
- Оператор auto, range-based loops
- Робота з std::filesystem
- Використання розумних пойнтерів
- Робота з std::ranges
Написання lambda-функцій, move-семантика
- Створення lambda-функцій
- Захоплення об'єктів в lambda
- Різниця між lvalue та rvalue
- std::move та move-конструктори
Багатопотокове програмування на C++
- Створення потоків
- Синхронізація потоків
- Створення м'ютексів, семафорів
- Створення потокобезпечних структур даних
Динамічні та статичні бібліотеки
- Створення статичних бібліотек
- Створення динамічних бібліотек
- Робота з бібліотеками
- Робота з бібліотеками на різних ОС
Build-системи та інструменти контролю версій
- Знайомство з build-системами
- Робота з CMake
- Робота з gn
- Робота з git
Інструменти для дебагінгу та профілювання
- Знайомство з gdb
- Знайомство з valgrind
- Знайомство з perf
- Знайомство з lldb
Фреймворк boost
- Знайомство з boost
- Робота з boost::asio
- Робота з boost::filesystem
- Робота з boost::thread
Фреймворк Qt
- Знайомство з Qt
- Робота з Qt Creator
- Робота з Qt Widgets
- Робота з Qt QML
Дипломна робота — написання графічного десктоп-застосунку