Python Master Classes

with David Beazley
Author of the Python Cookbook, 3rd Ed
Python Essential Reference, 4th Ed.
Dabeaz, LLC
5412 N Clark Street #218
Chicago, IL 60640
Follow dabeazllc on Twitter

Available Courses


Python Concurrency and Distributed Computing Workshop

[4 days] Come to Chicago to have your brain exploded into tiny bits by the most intense course on Python threads, messaging, advanced I/O handling, generators, coroutines, and distributed computing around. Yes, this is the same workshop that spawned the infamous Understanding the Python GIL talk and PyCON 2010 presentation. Topics include threads, thread synchronization, queuing, message passing, data serialization, multiprocessing, event-driven I/O, generators, coroutines, actors, remote procedure call, distributed objects, and more. A major focus of this workshop is on the underlying principles that form the foundation of creating reliable systems--you will walk away with new insight and ideas for improving your own code. Past participants have described the workshop as containing about the same amount of material as three semesters of a computer science degree, only better.

[ More Information ]

Target Audience:

This course is for more experienced Python programmers. Attendees are expected to already be familiar with the core Python language and common library modules such as os, sys, etc. Having some basic knowledge of systems and network programming principles is highly recommended.


Advanced Python Mastery

[4.5 days] So you learned Python from an online tutorial, a training course, or from a book, but you want to learn more. Then this is the course for you. Designed for working programmers who want to take their understanding to a whole new level, you'll learn what really makes Python tick. The course starts out by looking at subtle aspects of the Python code you are already writing, but then dives into a wide variety of advanced topics including the object model, data encapsulation, descriptors, generators, coroutines, context managers, decorators, metaclasses, packages, closures, and more. By the end of the course, you'll not only know what these features are, but how they can be applied to a wide range practical programming problems. Includes a 325 page guidebook and more than 50 hands on exercises.

[ More Information ]

Target Audience:

This class assumes that you already know the basics of writing simple Python programs and that you are generally familiar with Python's core features (functions, classes, modules, common library modules, etc.).


Practical Python Programming

[4.5 days] This course, designed for software developers, scientists, and engineers, is an intense introduction to the Python programming language and standard library. A major focus of the course is on using Python to process and manipulate data from various kinds of files and web services. Major topics include mastery of Python's core data types (tuples, lists, sets, dicts, etc.), import library modules, and use of third-party extensions such as numpy and matplotlib. Includes a 300 page guidebook and more than 50 hands-on exercises.

[ More Information ]

Target Audience:

This class assumes that you already know how to write simple programs in another programming language such as C, C++, Java, Perl, Ruby, PHP, etc. A background in object-oriented programming is useful, but not required.


Write a Compiler (In Python)

[5 days] The ultimate project course for serious programmers who want to challenge their skills against the task of writing a compiler in only 5 days. If you never got to take a compilers course in school or if you simply want to know how magical things like PyPy work under the covers, then this is the course for you. Covers just about everything that would be covered in an introductory level university compilers course including regular expressions, lexing, parsers and parser generators, abstract syntax trees, type systems, control flow graphs, code generation, and simple optimization. A major aspect of this course concerns the software engineering, design, and testing issues of writing a compiler. More than 90% of the time is spend coding.

[ More Information ]

Target Audience:

This course assumes full proficiency with the Python language as well as knowledge of common data structures and algorithms as might be taught in an undergraduate algorithms course. Prior experience with regular expressions, simple text parsing, and object oriented programming is strongly advised.


More Information

For more information and general inquiries, please send email to "dave" at "dabeaz.com". You can also consult the Frequently Asked Questions.

Copyright (C) 2009-2017, Dabeaz LLC. All Rights Reserved.