C++ in Depth
Master C++ through practice. From fundamentals to production systems.
350 $/місяць
ср, 18:30 / сб, 10:30 (UTC+3)
старт:
5 серп. 2026 р.
25 занять, 3 місяці
350 $/місяць
ср, 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 років професійного досвіду розробки на С++.
Реєстрація. Перший крок за вами
реєстрація
перший крок за вами
Я приймаю умови Публічної оферти та надаю згоду на обробку своїх персональних даних відповідно до Політики конфіденційності.
відгуки
що говорять випускники
ДЛЯ ІНЖЕНЕРІВ
відгуки
що говорять випускники
Говорять
випускники

Senior Software Engineer @SQUAD
Владислав Карнаушенко
Найбільша цінність курсу — розгляд тем на глибокому рівні. Це і відрізняє його від поверхневого гугління тих самих тем. Все пояснюється на фундаментальному рівні.
Викладач формує цілісну роадмапу навчання, і знання нашаровуються природно. Я не C++ розробник, тож для мене було дуже цінно, що майже не було моментів, коли я не розумів матеріал. Якщо Костя колись вирішить зробити продовження і покрити ще якусь кількість тем — я б точно розглянув такий курс для себе.

C/C++ Developer @HARMAN International
Сергій Карасьов
Заняття добре побудовані: на початку кожної лекції розбираємо питання з попередньої, і це допомагає закріпити матеріал. Теми підібрані чудово. Наприклад, ми детально розглянули такі концепції, як type erasure, thread pool та event loop. Тепер набагато легше розуміти подібні патерни в робочому коді. Пару тижнів тому помітив такий момент на проєкті — і чітко зрозумів, чому все було реалізовано саме так. Дещо спробував імплементувати вперше в житті — і це мегакорисний досвід.

С/C++ Developer @Turing Machines
Властислав Потоцький
Для мене це 10 з 10. Я вже мав три співбесіди на middle C++ dev — і все, що ми обговорювали на лекціях, питають на інтерв'ю. Я навіть не готуюся до співбесід, бо розумію, що з C++ на цьому рівні маю що розповісти на 95%. Основні цілі були закрити прогалини й отримати глибші знання — і те, і інше вдалося. Найбільше кайфував від обговорення тем і моментів, коли разом щось дизайнили та кодили.
інтенсивний режим
Зустрічаємось у Zoom двічі на тиждень — щос ереди о 18:30 і щосуботи о 10:30. Щотижня — нова домашка.
Усі лекції — це живі зустрічі з викладачем під запис (щоб повернутися до матеріалу пізніше). Регулярно проводимо додаткові Q&A-сесії з викладачем та тримаємо з вами звʼязок в Slack.
Мова викладання — українська.
Додаткові матеріали — англійською.
спільнота крутих людей
Проводимо відбір на курс, щоб ви навчалися поряд із сильними та вмотивованими. Навіть відраховуємо за незараховані домашки.
Викладач готовий працювати з вами, поки все не стане на свої місця. Іноді це третя ітерація code review, іноді — додатковий 1-1 на 15 хвилин. Ми тут, щоб вчитись і ставати сильнішими.
А ще щоб жартувати про своє в Slack та обмінюватися рефералами в круті компанії.
результат, який має сенс
Тут не буде поверхневих слайдів та довгих вступів: тільки глибокий розбір цікавих задач із реального продакшену.
Сертифікат видаємо не за відвідування, а за результати — виконані домашки, участь у дискусіях, відчутний рух та прогрес.