Level 3 · Ph.D
Advanced Python Programming
Ph.D syllabus · 56 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
- Phase 42 The specializing adaptive interpreter (PEP 659)
- Phase 43 The tier-2 optimizer & the experimental JIT
- Phase 44 Free-threading in depth (PEP 703) & thread-safe native code
- Phase 45 Subinterpreters & the per-interpreter GIL (PEP 684/734)
- Phase 46 Rust extensions with PyO3 & maturin
- Phase 47 The stable ABI, limited API & extension portability
- Phase 48 Embedding CPython & the initialization config (PEP 587)
- Phase 49 CPython on WebAssembly (Emscripten / Pyodide)
-
Phase 50
Production observability:
sys.monitoring(PEP 669) & tracing - Phase 51 Rigorous benchmarking & the CPython research literature
- Phase 52 Proposing the doctoral capstone (research method)
- Phase 53 Capstone I: execute the research
- Phase 54 Capstone II: verified publication & hardening
- Phase 55 Frontier, ethics & close; portal integration