top of page

Python Advanced NEW

Master Python from the inside out

350 $/місяць

пн / пт, 18:30 (UTC+3)

start:

Aug 17, 2026

// 16 занять, 2 місяці

350 $/місяць

пн / пт, 18:30 (UTC+3)

what's inside

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

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

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

Curriculum

it will be hot

FOR ENGINEERS

How Python manages memory

How memory is organized in CPython and why it matters for performance

• CPython's internal object model: PyObject, reference counting, the role of GC
• Memory management levels: heap, arenas, pools, blocks and pymalloc logic
• Typical patterns of overallocation and memory fragmentation in Python code
• Measurement and diagnostic tools: tracemalloc, gc, sys.getsizeof, practical analysis techniques

Practice: Writing code without unnecessary allocations

Memory copying and fragmentation

How silent copies and allocations affect memory consumption and program stability

• Shallow, deep, and hidden copying: where Python creates new objects
• Memory fragmentation: causes and accumulation
• The impact of copying and fragmentation on memory consumption and system stability
• What to use instead of copies: working with references and view approaches (generators, weak references, slots, named tuples, dataclasses)

Practice:
Implementation of Copy-On-Write array, analysis of hidden allocations, memory profiling

Performance beyond Python

When an interpreter is no longer enough and what approaches allow you to scale performance

• Vectorization and abandonment of Python loops NumPy and alternatives: PyArrow, JAX — usage scenarios
• Zero-copy approach: buffer protocol, memoryview, mmap — working with data without copies
• Compilation and JIT optimization: Cython, Numba. When it's justified and when it's not

Practice:
Working with byte data without copies, choosing the optimal data processing approach for a specific task

Caching strategies

From local cache to multi-tier strategies with Redis

• Local and external caches (in-memory vs Redis): when is which approach appropriate?
• Typical caching errors: stale data, cache stampede, uncontrolled growth
• Cache-eviction policies (LRU, LFU, TTL) and their impact on memory and hit-rate
• Approaches to choosing cache size: a trade-off between memory consumption, performance, and stability

Practice:
Choosing an approach for the task, implementing an LRU cache, analyzing the impact of the cache on performance and algorithm behavior

GIL and multithreading

How the Global Interpreter Lock determines concurrency limits in CPython

• The role of the GIL in CPython and its impact on performance
• Thread switching: how Python handles I/O-bound and CPU-bound tasks
• GIL interaction with thread scheduler and signals
• GIL implementation: mutexes, semaphores, pthreads conditional variables

Practice:
Choosing an execution strategy and explaining the results taking into account the impact of GIL

Synchronization and safe work with threads

How to avoid races, deadlocks, and unstable behavior in multithreaded code

• How and why thread races arise
• Locking primitives: mutex, lock and their impact on performance
• Thread-safe interaction through queues and data exchange
• Thread Coordination: Semaphore, Event, Condition
• Choosing the Number of Threads: A Tradeoff Between
• Concurrency and Overhead

Practice:
Implementation of a multi-threaded log collector, implementation of thread-safe structures

Multiprocessing

How to bypass GIL restrictions and scale CPU-bound tasks across processes

• Process launch models: fork, spawn
• Data exchange between processes: queues, pipes, shared memory
• IPC and process coordination
• Choosing the number of processes: balancing performance and processor capabilities

Practice:
Centralized logging, parallel computing, and data sharing using IPC and shared memory

Asynchrony

How the asynchronous execution model works and where it breaks down in real systems

• Coroutine model and event loop: how concurrency is achieved
• Waiting and coordinating tasks: await, gather, task groups
• Typical asynchronous code errors: blocking loops, race conditions, memory leaks
• Green flows and other alternatives

Practice:
Task orchestration using a semaphore, choosing a concurrency/concurrency strategy for different types of tasks

Instructor

it will be hot

FOR ENGINEERS

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

Senior Python Software Engineer @N-iX

Експертка з високонавантажених систем та сертифікована AWS-архітекторка.

Проєктує масштабовані low-latency рішення та складні інтеграції для глобальних корпорацій

Ready? Take the first step

ready?
take the first step

I accept the terms of the Public Offer Agreement and consent to the processing of my personal data in accordance with the Privacy Policy.

reviews

What alumni say

FOR ENGINEERS

reviews
what alumni say

What our

alumni say

results that matter

No shallow slides or long introductions — just deep dives into real production challenges.

Certificates are earned, not given. They're earned through real results: completed assignments, active discussions, and measurable progress.

learn among the best

We carefully select students so you're surrounded by driven, motivated peers. Yes, we dismiss those who don't complete assignments.

Your instructor stays with you until it clicks — whether that means a third code review or a quick 15-minute call. That's what we do: push each other to learn and level up.

Oh, and share jokes in Slack and swap referrals to awesome companies.

intensive mode

We meet twice a week on Zoom — Wednesdays at 6:30 PM and Saturdays at 10:30 AM. New assignment every week.

All lectures are live sessions with the instructor, recorded for later review. We also run regular Q&A sessions and stay connected via Slack.

Taught in Ukrainian.
Supplementary materials in English.

What awaits you?

have fun and dive deep

FOR ENGINEERS

bottom of page