top of page

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

за Весь курс

700 $

за курсом нбу

помісячно

370 $

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

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

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

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

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

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

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

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

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

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

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

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

Курс розрахований на Python-розробників рівня Junior+ / Strong Junior, які вже впевнено пишуть код і хочуть глибше зрозуміти, як Python працює «під капотом».

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

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

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

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

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

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

Анна Півняк

Back End Developer @Globus AG

LinkedIn

Мені дуже сподобалась лекторка — пояснення були зрозумілими, структурованими й по суті. Матеріали курсу повністю закрили мої прогалини в знаннях, і загалом я залишилась у захваті від навчання.

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

Віталій Дудник

Senior Python Developer у miltech-проєкті

LinkedIn

Я повністю задоволений курсом: було багато цікавої, корисної й доступно поданої інформації. Особливо сподобались практичні завдання, а також якісні та зрозумілі презентації. Окремо хочу відзначити лекторку — вона дуже активно коментувала наші pull request’и, і це було справді цінно для навчання.

ПРО КУРС

Python швидкий настільки, наскільки добре ви розумієте, що відбувається під капотом. На цьому курсі ми відкриємо те, що зазвичай приховано: модель памʼяті CPython, PyObject, алокації та фрагментацію, GIL і конкурентність потоків, multiprocessing, async та zero-copy підходи. Ви навчитеся не «припускати», а міряти, профілювати й оптимізувати. Ви переконаєтесь, що робота з пам’яттю чи потоками — це не дрібниці, а фундамент, що визначає швидкість, стійкість та вартість вашої системи.

Цей курс переводить розробника у категорію those who understand Python beneath Python — інженерів, що контролюють поведінку інтерпретатора, вміють будувати scalable-рішення, зменшувати latency та споживання RAM, писати код стійкий до високих навантажень. Результат — відчутний приріст продуктивності програм і повний контроль над тим, як вони працюють зсередини.

Програма не для пасивного перегляду, а для глибокої роботи: дослідження, експерименти, оптимізація й, можливо, переписування того, що здавалося правильним роками.

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

:: Технічна англійська на рівні B1+ / B2 для роботи з технічними статтями
:: Буде плюсом базове розуміння потоків, процесів та асинхронності
:: Python на рівні Junior: впевнене володіння змінними, функціями, класами, ООП та базовими принципами написання чистого коду.
:: Шкільна математика та математичне мислення
:: Базове розуміння ітераторів, генераторів, декораторів, контекстних менеджерів і принципів організації коду в Python
:: Практичний досвід роботи з основними структурами даних Python: list, dict, set, tuple

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

ПОНЕДІЛОК 18:30 (UTC+3)

ПʼЯТНИЦЯ 18:30 (UTC+3)

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

Стек

Python

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

ПРОГРАМА

:: 16 ЗАНЯТЬ        :: LIVE-CODING       :: ДО 25 СТУДЕНТІВ У ГРУПІ

Як Python керує памʼяттю

Як влаштована памʼять в CPython і чому це має значення для продуктивності
  • Внутрішня обʼєктна модель CPython: PyObject, reference counting, роль GC 
  • Рівні керування памʼяттю: heap, arenas, pools, blocks та логіка роботи pymalloc
  • Типові патерни надлишкових алокацій і фрагментації памʼяті в Python-коді
  • Інструменти вимірювання та діагностики: tracemalloc, gc, sys.getsizeof, практичні техніки аналізу


Практика:  


Написання коду без зайвих алокацій

Копіювання та фрагментація памʼяті

Як непомітні копії та алокації впливають на споживання памʼяті та стабільність програм
  • Поверхневе, глибоке та приховане копіювання: де Python створює нові обʼєкти
  • Фрагментація памʼяті: причини виникнення та накопичення
  • Вплив копіювання та фрагментації на споживання памʼяті та стабільність системи
  • Що використовувати замість копій: робота з посиланнями та view-підходи (генератори, слабкі посилання, слоти, іменовані кортежі, датакласи) 

Практика: 

 

Реалізація Copy-On-Write масиву, аналіз прихованих алокацій, профілювання памʼяті

Швидкодія за межами Python

Коли інтерпретатора вже недостатньо і які підходи дозволяють масштабувати продуктивність
  • Векторизація та відмова від Python-циклів NumPy і альтернативи: PyArrow, JAX — сценарії використання
  • Zero-copy підхід: buffer protocol, memoryview, mmap — робота з даними без копій
  • Компіляція та JIT-оптимізація: Cython, Numba. Коли це виправдано, а коли ні  

Практика: 


Робота з байтовими даними без копій, вибір оптимального підходу обробки даних під конкретну задачу

Стратегії кешування

Від локального кешу до багаторівневих стратегій з Redis
  • Локальні та зовнішні кеші (in-memory vs Redis): коли який підхід доречний
  • Типові помилки кешування: застарілі дані, cache stampede, неконтрольоване зростання 
  • Політики cache-eviction (LRU, LFU, TTL) і їх вплив на памʼять та hit-rate
  • Підходи до вибору розміру кешу: компроміс між споживанням памʼяті, швидкодією та стабільністю 

Практика:  


Вибір підходу під задачу, реалізація LRU-кешу, аналіз впливу кешу на продуктивність і поведінку алгоритму

GIL та багатопоточність

Як Global Interpreter Lock визначає межі паралельності в CPython
  • Роль GIL у CPython та його вплив на продуктивність
  • Перемикання потоків: як Python поводиться з I/O-bound та CPU-bound задачами
  • Взаємодія GIL з планувальником потоків і сигналами
  • Реалізація GIL: мʼютекси, семафори, умовні змінні pthreads  

Практика:  


Вибір стратегії виконання та пояснення результатів з урахуванням впливу GIL

Синхронізація та безпечна робота з потоками

Як уникати гонок, блокувань і нестабільної поведінки у багатопоточному коді
  • Як та чому виникають гонки потоків
  • Примітиви синхронізації: mutex, lock і їхній вплив на продуктивність
  • Потокобезпечна взаємодія через черги та обмін даними
  • Координація потоків: Semaphore, Event, Condition
  • Вибір кількості потоків: компроміс між паралельністю та накладними витратами

Практика:  


Реалізація багатопоточного log collector, реалізація thread-safe структур

Багатопроцесність

Як обходити обмеження GIL і масштабувати CPU-bound задачі через процеси
  • Моделі запуску процесів: fork, spawn
  • Обмін даними між процесами: черги, пайпи, shared memory
  • IPC та координація процесів
  • Вибір кількості процесів: баланс між продуктивністю та можливостями процесора  

Практика:  


Централізація логування, паралельні обчислення та спільний доступ до даних із використанням IPC і shared memory

Асинхронність

Як працює асинхронна модель виконання і де вона ламається в реальних системах
  • Корутинна модель та event loop: як досягається конкурентність 
  • Очікування та координація задач: await, gather, task groups
  • Типові помилки асинхронного коду: блокування loop, race conditions, витоки памʼяті
  • Зелені потоки та інші альтернативи

Практика:  


Оркестрація задач з використанням семафору, вибір стратегії паралельності/конкурентності для різних типів задач

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

01

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

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

Zoom

02

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

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

Zoom

03

live звʼязок

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

Zoom

01

live зв'язок

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

Zoom

Slack

02

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

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

Notion

03

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

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

GitHub

HackerRank

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

:: 8+1 ДОМАШНІХ ЗАВДАНЬ     :: ФІДБЕК ТА РЕВʼЮ     :: РЕАЛЬНІ ПРОДАКШН ЗАДАЧІ

Copy-On-Write Array

// приклад однієї з домашок на курсі
Модуль-02 · Копіювання та фрагментація памʼяті. 

Створи структуру, де копії масиву ділять спільний буфер, а реальне копіювання відбувається лише під час першого запису.   

Завдання допомагає зрозуміти оптимізацію памʼяті, refcount, shared state та підхід, який лежить в основі snapshot-структур, zero-copy операцій і fork-процесів.

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

1

читаєш і розумієш Python зсередини

// Розумієш, як PyObject, reference counting і pymalloc формують поведінку коду і бачиш потенційні витоки памʼяті, зайві алокації та неочевидні performance-проблеми ще на етапі code review.

2

контролюєш памʼять під навантаженням

// RAM-споживання стає більш передбачуваним: ти вмієш профілювати алокації, знаходити фрагментацію, прибирати зайві копії та замінювати їх ефективнішими підходами - зокрема memoryview, генераторами й роботою з даними без дублювання.

3

бачиш, де Python справді паралельний, а де лише здається

// Розумієш, як GIL впливає на виконання коду, чому threading може допомогти в одних задачах і майже нічого не дати в інших, та як не будувати конкурентність навмання.

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

ivan2.jpg

Світлана Сумець

Senior Python Software Engineer @N-iX


:: 5+ років комерційного досвіду в Python backend engineering, зокрема у високонавантажених системах. 

:: AWS Certified Developer — Associate, AWS Certified Cloud Practitioner. 

:: B.Sc. & M.Sc. in Computer Science & AI, ХНУРЕ. 

:: Працює з backend, cloud infrastructure, distributed systems та runtime performance задачами.

01

5+ років комерційного досвіду в Python backend engineering, зокрема у високонавантажених системах

02

AWS Certified Developer – Associate, AWS Certified Cloud Practitioner

03

B.Sc. & M.Sc. in Computer Science & AI, ХНУРЕ

04

Працює з backend, cloud infrastructure, distributed systems та runtime performance задачами

Master Python from the inside out

Python

    Advanced

Фундаментальний курс для Python-розробників, які хочуть глибше зрозуміти, як інтерпретатор виконує їхній код, що відбувається з памʼяттю, потоками та процесами, і як ці знання допомагають писати більш продуктивні та усвідомлені рішення.

вересень 2026

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

2 місяці

// 16 занять

370 $/місяць

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

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

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