Skip to main content
CF

Advanced Programming with Python

34h 56m 12s
English
Paid
Updated September 2026

Advanced Programming with Python is a 10-lesson 34 hours 56 minutes self-paced course by David Beazley. 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?

Course facts

Lessons
10
Duration
34 hours 56 minutes
Level
All levels
Language
English
Updated
2026-09-11
Instructor
David Beazley
Price
Premium

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.

Who teaches Advanced Programming with Python? David Beazley

David Beazley thumbnail

David Beazley is one of the most authoritative independent voices on the Python language, author of the Python Cookbook (O'Reilly), Python Distilled, and the long-running PyCon tutorial series that has shaped how serious Python engineers think about the language. He has been teaching Python continuously since the late 1990s.

His CourseFlix listing carries four David Beazley courses: Advanced Programming with Python, the Crusty Interpreter (a Rust implementation exercise), Write a Compiler, and the Rafting Trip retreat-style intensive. The teaching style is unusually rigorous about the language and the foundational CS topics underneath it — David's courses are taught at the level of someone who has implemented Python interpreters and language tooling for decades.

Material is paid and aimed at experienced Python developers ready to study the language at depth. For broader content, see CourseFlix's Python category page.

What lessons are included in Advanced Programming with Python?

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 10 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Day 1-1
All Course Lessons (10)
#Lesson TitleDurationAccess
1
Day 1-1 Demo
03:28:54
2
Day 1-2
03:24:59
3
Day 2-1
03:29:43
4
Day 2-2
03:28:39
5
Day 3-1
03:36:39
6
Day 3-2
03:30:58
7
Day 4-1
03:31:44
8
Day 4-2
03:31:15
9
Day 5-1
03:30:15
10
Day 5-2
03:23:06
Unlock unlimited learning

Get instant access to all 9 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

What courses are similar to Advanced Programming with Python?

More courses by David Beazley

  • Ruckus thumbnailUpdated 3mo ago

    Ruckus

    An in-depth 4-day course on developing a programming language core in Rust. Practice with mutable data, higher-order functions, and memory management.
    27h 43m
  • Write a Compiler thumbnailUpdated 6mo ago

    Write a Compiler

    Unlock the Complexity of Software Development by Writing a Compiler . The course on compiler development is traditionally considered a capstone discipline.
    35h 41m
  • Crusty Interpreter thumbnailUpdated

    Crusty Interpreter

    Build a Rust interpreter for the Lox language from Crafting Interpreters in this week-long, project-intensive course for ambitious developers.
    33h 53m
  • Rafting Trip thumbnailUpdated

    Rafting Trip

    A week-long project course walking through a from-scratch Raft consensus implementation, covering networking, threading, and system design.
    34h 26m

Frequently asked questions

What are the prerequisites for enrolling in this course?
Prospective students should have a solid understanding of basic programming concepts and experience with Python. Familiarity with object-oriented programming and functional programming concepts will be beneficial, as these areas are explored in depth during the course.
What projects or systems will I build during the course?
The course focuses on problem modeling and designing systems using data abstraction and interface design. Students will work on projects related to event-driven systems and finite state machines, enhancing their skills in creating scalable and maintainable software.
Who is the target audience for this course?
This course is ideal for software developers with intermediate Python experience who wish to deepen their understanding of advanced programming concepts. It is particularly suited for those interested in improving their ability to write flexible and future-ready code.
How does this course compare to other advanced Python courses?
Unlike other courses that may focus on specific libraries or frameworks, this course emphasizes core programming principles such as composability and architectural decision-making. It aims to teach students how to handle complexity by making the complex look simple.
What specific tools or platforms does the course use?
The course does not center around specific tools or platforms but rather focuses on essential programming concepts. Students will explore object-oriented and functional programming, as well as advanced testing strategies, without reliance on particular libraries or tools.
What topics are explicitly not covered in this course?
The course does not focus on the latest Python libraries or trendy programming features. Instead, it dedicates time to core principles like interface design, data abstraction, and methods for easy code verification, aiming for long-term skill development.
How much time should I expect to commit to this course?
The course consists of 10 lessons, each designed to provide a comprehensive understanding of advanced programming concepts. Students should be prepared to dedicate time for in-depth study and practical exercises to fully grasp the material and apply it effectively.