top of page

Подай заявку
             на відбір

за Весь курс

1050 $

за курсом нбу

помісячно

370 $

КУРС ТРИВАЄ 3 МІСЯЦІ

ПЕРШИЙ КРОК ЗА ТОБОЮ

Я приймаю умови Публічної оферти та надаю згоду на обробку своїх персональних даних відповідно до Політики конфіденційності.

За тебе може заплатити роботодавець?

Напиши нам на hello@csosvita.com, і ми оформимо все якнайшвидше.

МАЄШ ПИТАННЯ?
     МИ ВІДПОВІДАЄМО

// Не знайшли відповідь, яку шукали? Напишіть нам на hello@csosvita.com і ми з усім допоможемо

я зможу навчатися на курсі, якщо в мене інший часовий пояс?

Так, звісно. Всі заняття ми записуємо, тож різниця в часових поясах не буде суттєвою перешкодою. Переглядайте лекції коли зручно, а якщо виникнуть питання — викладач і команда на зв'язку в Slack-каналі.

як проходять заняття?

Ми працюємо в невеликих групах 20-25 людей у форматі живих занять із викладачем — зустрічаємося кілька разів на тиждень у Zoom. На заняттях розбираємо задачі, дискутуємо, уточнюємо деталі, розглядаємо приклади та аргументацію рішень. Формат побудований так, щоб кожен був залучений і мав можливість взаємодіяти з викладачем та групою.

чи є записи занять?

Щоразу організовуємо запис, однак краще долучатися до онлайн-зустрічі — обговорити питання з одногрупниками та проконсультуватися з викладачем. Доступ до записів зберігається протягом року з дня старту курсу.

який рівень підготовки потрібен?

Курс розрахований на інженерів, які вже мають комерційний або pet-project досвід із C++ і хочуть глибше зрозуміти, як мова та система працюють «під капотом». Ми очікуємо базове розуміння C++, Computer Science fundamentals та готовність самостійно опрацьовувати частину матеріалу поза заняттями.

Детальніше вимоги описані у блоці Prerequisites на цій сторінці.

до зустрічі на курсі

Перевірено випускниками —
        ТОП інженерами з індустрії

владислав парахін.jpg

Сергій Карасьов

C/C++ Developer @HARMAN International

LinkedIn

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

владислав парахін.jpg

Властислав Потоцький

С/C++ Developer @Turing Machines

LinkedIn

Для мене це 10 з 10. Я вже мав три співбесіди на middle C++ dev — і все, що ми обговорювали на лекціях, питають на інтерв'ю. Я навіть не готуюся до співбесід, бо розумію, що з C++ на цьому рівні маю що розповісти на 95%. Основні цілі були закрити прогалини й отримати глибші знання — і те, і інше вдалося. Найбільше кайфував від обговорення тем і моментів, коли разом щось дизайнили та кодили.

владислав парахін.jpg

Владислав Карнаушенко

Senior Software Engineer @SQUAD

LinkedIn

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

ПРО КУРС

C++ має репутацію мови, яка підкидає помилки там, де їх найменше очікуєш. Тому інженери звикли її остерігатися — уникають певних конструкцій, бояться невизначеної поведінки та борються з інфраструктурою. Цей курс переводить з режиму обережності в режим контролю. Ви зрозумієте не лише код, а й те, що під капотом — пам’ять, компіляцію, оптимізацію, багатопоточність і роботу з великими бібліотеками.

На курсі ви пройдете повний цикл розробки на C++ та створите інфраструктурні production-рішення. У результаті матимете доробок C++-проєктів, які можна використовувати для працевлаштування та розвивати далі.

*За даними Djinni, C++-кандидати мають менше труднощів у пошуку роботи, а зростання miltech-проєктів суттєво збільшує попит на embedded-фахівців. Попри складність, C++ залишається одним із найсильніших напрямів для старту в низькорівневому програмуванні.

ЩО ПОТРІБНО ЗНАТИ

:: Базове розуміння роботи операційної системи: stack vs heap memory, процеси та потоки
:: Практичний досвід з Git: commit, push/pull, branching
:: Цикли, рекурсія, алгоритми, структури даних та їх складність
:: C++ на Junior рівні та вище: типи даних, вказівники та посилання, обʼєкти і класи

ДВІЧІ на тиждень

СЕРЕДА 18:30 (UTC+3)

СУБОТА 10:30 (UTC+3)

// live зустрічі з записом

Стек

C++

// пишемо код з першого заняття

ПРОГРАМА

:: 25 LIVE ЗАНЯТЬ        :: ГЛИБОКЕ ЗАНУРЕННЯ В ТЕМУ       :: ДО 25 СТУДЕНТІВ

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)
  • Дебагінг, вимірювання швидкодії та оптимізація

ЯК ПРОХОДИТЬ
            НАВЧАННЯ

01

фідбек та ітерації

// Домашки не задаємо для галочки. Викладач перевіряє рішення, повертає на доопрацювання та пояснює, де прогалини

Zoom

02

записи та конспекти

// Записуємо всі заняття та ділимося матеріалами, щоб ви не втрачали темп навіть через форс-мажори чи особисті обставини

Zoom

03

live звʼязок

// Усі заняття проходять в живому форматі з викладачем, щоб поставити запитання та попрактикувати live-coding

Zoom

01

live зв'язок

// Усі заняття проходять в живому форматі з викладачем, щоб поставити  запитання та попрактикувати live-coding 

Zoom

Slack

02

записи та конспекти

// Записуємо всі заняття та ділимося матеріалами, щоб ви не втрачали темп навіть через форс-мажори чи особисті обставини 

Notion

03

фідбек та ітерації

// Домашки не задаємо для галочки. Викладач перевіряє ваші результати та відправляє на доопрацювання та пояснює

GitHub

HackerRank

ПРАКТИЧНА
         РОБОТА

:: ЗАВДАННЯ ЩОТИЖНЯ     :: ФІДБЕК ВИКЛАДАЧА     :: ПРОДАКШН-INSPIRED ЗАДАЧІ

Tree CLI Utility

// приклад однієї з домашок на курсі
Модуль-01 · C++ fundamentals. Реалізація production-like CLI-утиліти для роботи з файловою системою. 

Реалізувати утиліту tree для командного рядка, яка приймає шлях до директорії та виводить її вміст у вигляді дерева — подібно до Unix-команди tree

Реалізуйте утиліту з такими вимогами: 

:: Обхід директорій через std::filesystem, використання STL контейнерів та алгоритмів. 
:: Підтримка опції max-depth N для обмеження глибини рекурсії. 
:: Коректна обробка помилок: неіснуючий шлях, відсутність прав доступу, symbolic links та інші edge cases.
:: Чітке розділення побудови дерева директорій та його відображення в консолі.
:: Збірка через CMake.

Домашні завдання передбачають розвиток цих ідей у наступних модулях і перевикористання спільного коду.

ЩО ЗМІНИТЬСЯ
            ПІСЛЯ КУРСУ

1

розумієш C++ «під капотом»

// Бачиш що відбувається між кодом і залізом: як працює памʼять та компілятор, звідки береться runtime cost, чому одні рішення масштабуються, а інші ні.

2

контролюєш інфраструктуру

// Збираєш проєкти з нуля, проєктуєш архітектуру, розбираєшся в tooling — без залежності від IDE чи фреймворків.

3

виходиш із реальним доробком

// CLI-утиліти, крос-платформний SDK, десктопний застосунок — завершені проєкти, які можна показати або розвивати далі.

ВИКЛАДАЧ
         ТА АВТОР ПРОГРАМИ

ivan2.jpg

Костянтин Вергун

Principal Software Engineer @Logitech. 

Former: @Ring, @Materialise. 12 років професійного досвіду розробки на С++.


:: 12 років професійного досвіду розробки на С++ у різних доменах: desktop applications, cross-platform SDKs, embedded.   

:: M.Sc. in Applied Mathematics.

:: 100+ проведених технічних інтервʼю та менторство інтернів та junior-інженерів.

01

12 років професійного досвіду розробки на С++ у різних доменах: desktop applications, cross-platform SDKs, embedded.

02

M.Sc. in Applied Mathematics

03

100+ проведених технічних інтервʼю та менторство інтернів та junior-інженерів

Master C++ until you own every line

C++

    in Depth

Курс формує глибоке systems-level розуміння C++: як працюють памʼять, багатопоточність, compiler/runtime behavior та яку реальну вартість мають абстракції у production-like системах.

5 серпня 2026

// старт наступної групи

3 місяці

// 25 занять

370 $/місяць

// або 1050 $ за весь курс

До 25 учасників

// кількість місць обмежена
bottom of page