Skip to main content

Advanced Programming with Python

34h 56m 12s
English
Paid

"Advanced Python Programming" is a practical journey through key development ideas and tools that help write more reliable, flexible, and maintainable software. The course is created by a programmer with 30 years of experience and combines both time-tested practices and modern concepts that the author continues to study. The main goal is to learn to solve problems not only for "today" but also to write code that is ready for the future.

You will cover topics such as data abstraction, interface design, object-oriented and functional programming, event-driven systems, problem modeling, testing, and methods for easy code verification. The big idea of the course is composability: modern programming is built not on rewriting algorithms from scratch, but on the ability to assemble systems from existing components, understanding how they interact and which architectural decisions affect scalability and complexity.

Instead of focusing on the "exotic" features of the language or trendy libraries, the course poses deeper questions: how to make the complex look simple?

Key topics of the course:

  1. Basics of programming and abstraction.
  2. Designing and using interfaces.
  3. Object-oriented programming: composition, inheritance, testability.
  4. Event-driven systems and finite state machines.
  5. Functional programming: higher-order functions, composition, combinators.
  6. Advanced testing strategies: invariants, randomized testing, model verification.
  7. Problem-focused programming: how to highlight the essence of a task and avoid distracting details.

Who this course is for:

For developers who want to take their level of library and application writing to a new level. Deep knowledge of "advanced" Python features is not required, but it is important to be familiar with basic data structures, functions, and classes, as well as understanding standard algorithms.

Format:

The course is practice-oriented: you can expect about 10 full-fledged projects in Python and group discussions to help reinforce ideas in practice.

About the Author: David Beazley

David Beazley thumbnail

David Beazley is an independent author, educator, and researcher, widely known for his contributions to the Python community. Early in his career, he worked on high-performance scientific software, leading to the creation of SWIG—a compiler that enabled the integration of C/C++ code with Python and other dynamic languages. In 1999, he wrote Python Essential Reference, the first Python reference book.

From 1998 to 2005, David was an associate professor in the Department of Computer Science at the University of Chicago, where he taught courses on operating systems and networks. Since 2007, he has been developing his own educational project, Dabeaz LLC, humorously calling it a "one-man graduate school."

David is the author of the third edition of Python Cookbook (2013), the book Python Distilled (2021), as well as video courses and numerous well-known presentations ranging from live coding to experiments with WebAssembly. In 2023-2024, he taught a course on programming language design and implementation at Brown University, jointly with Shriram Krishnamurthi.

David holds a Ph.D. in computer science and master's and bachelor's degrees in mathematics.

Watch Online 10 lessons

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