C++ in Depth
Master C++ through practice. From fundamentals to production systems.
300 $/місяць
ср, 18:30 / сб, 10:30 (UTC+3)
старт:
15 черв. 2026 р.
25 занять, 3 місяці
300 $/місяць
ср, 18:30 / сб, 10:30 (UTC+3)

про курс
C++ має репутацію мови, яка підкидає помилки там, де їх найменше очікуєш. Тому інженери звикли її остерігатися — уникають певних конструкцій, бояться невизначеної поведінки та борються з інфраструктурою. Цей курс переводить з режиму обережності в режим контролю. Ви зрозумієте не лише код, а й те, що під капотом — пам’ять, компіляцію, оптимізацію, багатопоточність і роботу з великими бібліотеками.
На курсі ви пройдете повний цикл розробки на C++ та створите інфраструктурні production-рішення. У результаті матимете доробок C++-проєктів, які можна використовувати для працевлаштування та розвивати далі.
*За даними Djinni, C++-кандидати мають менше труднощів у пошуку роботи, а зростання miltech-проєктів суттєво збільшує попит на embedded-фахівців. Попри складність, C++ залишається одним із найсильніших напрямів для старту в низькорівневому програмуванні.
Навчальний план
буде гаряче
ДЛЯ ІНЖЕНЕРІВ
C++ fundamentals
Основи мови й інструменти, що формують правильний стиль мислення в C++ інженера
• Екосистема C++. Життєвий цикл коду від вихідного файлу до машинного виконання
• Фундамент С++: типи даних, тривалість життя обʼєктів, представлення обʼєктів у памʼяті
• Управління памʼяттю, stack та heap памʼять, smart pointers. Виробимо звичку використовувати RAII — одну з найважливіших ідіом C++
• Return value optimization, rvalue-references, move-семантика. Як повертати обʼєкт з функції: за значенням чи за посиланням
• Templates: напишемо logger, який приймає будь-яку кількість параметрів
• Огляд стандартної бібліотеки: контейнери, ітератори, алгоритми
Практика
• Реалізація утиліт на C++ (ls, find, tree)
• Власна реалізація контейнерів (vector, тощо)
C++ advanced topics and patterns
Те, що відрізняє C++ у теорії від C++ у продакшені: потоки, помилки, патерни й інструменти
• Перетворення типів та RTTI: де використовувати reinterpret_cast та як реалізувати abstract factory
• Функціональне програмування. Реалізація патерну observer
• Обробка помилок: від еррор-кодів і ексепшинів до std::expected. Чому в деяких проєктах взагалі немає ексепшинів?
• Багатопоточність: від posix mutex до std::condition_variable. Поширені проблеми (deadlock, false sharing) та як їх уникати
• Стандартна бібліотека окрім контейнерів: memory, chrono, variant, filesystem, metaprogramming
• Вступ до CMake: таргети, залежності. Як створити просту та правильну структуру проєкту з бібліотек та exe
• Робота з різними компіляторами та платформами. Undefined, unspecified та implementation-defined behavior: чому важливо знати різницю між цими поняттями та не лякатись їх
Практика
• Реалізація поширених патернів на C++ (observer, factory, тощо)
• Реалізація складніших утиліт на C++
GUI programming
Від перших елементів інтерфейсу до складних подієвих систем — практичний вхід у світ Qt і десктопних застосунків
• Огляд екосистеми Qt. Загальні ідеї і принципи побудови бібліотеки
• Робота з додатками та віджетами в Qt
• Архітектура додатків з графічним інтерфейсом. Як відмежувати логіку обчислень від логіки інтерфейсу
• Багатопоточність: черги задач, event loop. Як залишити графічний інтерфейс активним, поки відбуваються обчисле ння
• Збірка, пакування та поширення додатків на С++
Практика
• Розробка десктоп-застосунку з навантаженим інтерактивним інтерфейсом
• Оптимізація швидкодії для інтерактивних сценаріїв
SDK development
Про інженерію під капотом: дизайн API, cmake, тести та побудова власного SDK
• Дизайн API: як зробити API таким, який складно використати неправильно. Розглянемо як загальні поняття, так і специфічні для С++ техніки
• Крос-платформна розробка: відчуємо різницю роботи компіляторів та інфраструктурні особливості різних target систем (Linux, macOS, Windows)
• CMake: робота зі сторонніми бібліотеками та юніт тестами. Зробимо CI-friendly збірку SDK та підготуємо package, який можна інсталювати
• Вступ до бібліотеки OpenCV та базова обробка зображень. Напишемо пайплайн обробки зображень з використанням OpenCV-алгоритмів
• Юніт-тестування з використанням google-test. Від базових сценаріїв до використання gMock
Практика
Розробка крос-платформного SDK для обробки зображень: від дизайну API до юніт-тестування та розгортання
C++ Developer's Toolbox
Робота з реальними системами: від embedded-запусків і профілювання до сучасних модулів і статичного аналізу
• Огляд Raspberry Pi. Скомпілюємо та запустимо програми на Raspberry Pi
• Профайлінг та оптимізація програм. Як читати асемблерний код та коли варто це робити
• Огляд поширених 3rd party бібліотек та їх використання
• Інструменти для С++: статичний аналіз коду, clang-tidy, clang-format, профайлери, санітайзери
• Як виглядає С++ у найновіших стандартах: модулі, корутини
• С++ стандарти та їх еволюція. Огляд поширених coding conventions та особливостей використання • С++ у різних доменах: чим відрізняється С++ для десктопного додатку від С++ для NASA
Практика
• Крос-компіляція та виконання програм на вбудованих системах (на прикладі Raspberry Pi)
• Дебагінг, вимірювання швидкодії та оптимізація
читає
буде гаряче
ДЛЯ ІНЖЕНЕРІВ

Костянтин Вергун
Principal Software Engineer @Logitech.
Former: @Ring, @Materialise. 12 років професійного досвіду розробки на С++.
Реєстрація. Перший крок за вами
реєстрація
перший крок за вами
Я приймаю умови Публічної оферти та надаю згоду на обробку своїх персональних даних відповідно до Політики конфіденційності.
відгуки
що говорять випускники
ДЛЯ ІНЖЕНЕРІВ
відгуки
що говорять випускники
інтенсивний режим
Зустрічаємось у Zoom двічі на тиждень — щосереди о 18:30 і щосуботи о 10:30. Щотижня — нова домашка.
Усі лекції — це живі зустрічі з викладачем під запис (щоб повернутися до матеріалу пізніше). Регулярно проводимо додаткові Q&A-сесії з викладачем та тримаємо з вами звʼязок в Slack.
Мова викладання — українська.
Додаткові матеріали — англійською.
спільнота крутих людей
Проводимо відбір на курс, щоб ви навчалися поряд із сильними та вмотивованими. Навіть відраховуємо за незараховані домашки.
Викладач готовий працювати з вами, поки все не стане на свої місця. Іноді це третя ітерація code review, іноді — додатковий 1-1 на 15 хвилин. Ми тут, щоб вчитись і ставати сильнішими.
А ще щоб жартувати про своє в Slack та обмінюватися рефералами в круті компанії.
результат, який має сенс
Тут не буде поверхневих слайдів та довгих вступів: тільки глибокий розбір цікавих задач із реального продакшену.
Сертифікат видаємо не за відвідування, а за результати — виконані домашки, участь у дискусіях, відчутний рух та прогрес.