Level 2 · M.Sc
Advanced Python Programming
MSc syllabus · 42 phases · ~1 year
Every unit this programme teaches, in the order it is taught. Headlines only — the material itself opens once you are enrolled.
- Phase 0 Foundations
-
Phase 1
What "advanced" means + the
pyforgetarget - Phase 2 The CPython object model in depth
-
Phase 3
Bytecode & the
dismodule -
Phase 4
The CPython evaluation loop (the
cevalmental model) - Phase 5 Reference counting & the cyclic garbage collector
-
Phase 6
Memory: arenas, pools,
__slots__,sys.getsizeof - Phase 7 The import system internals
- Phase 8 Descriptors & how methods/properties really work
- Phase 9 Metaclasses & class creation
-
Phase 10
Class-customization hooks:
__init_subclass__,__set_name__ -
Phase 11
Attribute lookup,
__getattr__/__getattribute__& proxies -
Phase 12
Abstract base classes & the
collections.abctower -
Phase 13
Generators, coroutines &
yield from -
Phase 14
itertools& lazy pipelines at scale - Phase 15 Decorators with state & context managers
-
Phase 16
Generics,
TypeVar,ParamSpec& variance - Phase 17 Protocols, structural typing & overloads
- Phase 18 Typed plugin systems & runtime type introspection
-
Phase 19
Strict typing of dynamic code (the limits of
mypy) - Phase 20 Threading in depth & the GIL (and the no-GIL future)
-
Phase 21
multiprocessing& shared memory -
Phase 22
concurrent.futures& executor patterns -
Phase 23
asyncioI — the event loop inside -
Phase 24
asyncioII — synchronization, cancellation & structured concurrency - Phase 25 Async I/O at scale — streams & servers
- Phase 26 Choosing a concurrency model — a measured comparison
- Phase 27 Profiling & measurement
- Phase 28 Optimization & the cost model of Python operations
-
Phase 29
The buffer protocol &
memoryview - Phase 30 C extensions via the C-API
- Phase 31 Cython & native acceleration
-
Phase 32
ctypes/cffi& calling shared libraries - Phase 33 Building wheels, sdists & native builds
- Phase 34 API design, deprecation & semantic versioning
- Phase 35 Plugin architecture & entry points
- Phase 36 Publishing, supply-chain & reproducible builds
- Phase 37 Developer tooling (an AST-based linter/codemod)
- Phase 38 Documentation, examples & a stable public surface
- Phase 39 Capstone
- Phase 40 Hardening, postmortem, "What's Next"
- Phase 41 Portal integration