Built by a programmer with 30 years of experience, Advanced Programming with Python is less about Python's exotic features and more about a harder question: how do you make complex systems look simple?
Core Themes
- Data abstraction and interface design
- Object-oriented programming: composition, inheritance, and testability
- Functional programming: higher-order functions, composition, and combinators
- Event-driven systems and finite state machines
- Advanced testing strategies, including invariants and randomized testing
Composability as the Throughline
The course treats composability as the central skill of modern programming: assembling systems out of existing pieces, understanding how they interact, and making decisions that hold up as scale and complexity grow. It's built around roughly 10 hands-on projects and group discussion, aimed at developers who already know the basics of Python and want to write code that's genuinely built to last.