[ TEACHING ]
Through my company Dabeaz, LLC, I offer the following programming courses on an ongoing basis
in Chicago. They can also
be taught on-site in the Chicago-area and as virtual courses worldwide.
- Practical Python
Programming. A class on the Python programming language
and standard library with a focus on applying Python to problems in
scripting, data analysis, and systems programming. This course assumes no prior
experience with Python, but assumes that participants already know how to program
in another programming language. It is especially well-suited for programmers
who want to know what Python is all about without extra fluff.
- Advanced Python Mastery.
An intense class that covers the more advanced aspects of the
Python programming language. This course is primarily designed for
programmers working on large applications, frameworks, or libraries.
Course material is strongly focused on tradeoffs between different implementation
techniques, performance properties, and usage of Python's metaprogramming features
(decorators, context managers, metaclasses, descriptors, etc.).
- Python Programming Language [VIDEO].
Can't attend an in-person class? This is an intense 6+ hour video series that
takes you on a tour of the Python programming language with a series
of practical coding examples. Aimed at programmers with some
experience, the video covers a mix of topics from both my Practical
Python and Advanced Python Mastery courses. It consists entirely of live-coded
examples of Python in action. You won't be bored.
About The Courses
These courses have been developed by David Beazley, a 20-year
Python programming veteran, elected member of the Python Software
Foundation, frequent PyCON presenter, and author of "Python Essential Reference, 4th Ed." (Addison-Wesley)
and the "Python Cookbook, 3rd Ed." (O'Reilly Media).
Dave has a Ph.D. in computer science, a
M.S. in mathematics, and previously spent seven years teaching
operating systems, networks, and compilers at the University of
Chicago. Here's what to expect if you take a course:
- Real-world focus. The primary focus is on practical
applications and common programming problems faced by actual Python
programmers. As such, you're not going to find toy problems from
computer science classes and job interviews (e.g., computing Fibonacci
numbers, 8-queens puzzles, fizzbuzz, etc.). Instead, you'll learn how
to crunch data, interact with the operating system, organize programs,
integrate Python with other software, write tests, and more.
- Attention to detail. Thousands of man-hours have gone into
developing the presentation materials and exercises. Course notes
include hundreds of pages of fully indexed reference material,
figures, and code examples. Exercises provide the essential building
blocks for writing larger Python programs after you're done with the
- Hands-on. In these classes, more than half of the time
is spent writing programs. You're going to get your hands dirty writing
- No marketing jargon or buzzwords.
Concepts are clearly explained using plain language and examples are
designed to be understood by anyone who has had some prior programming
experience. It is not necessary to be a professional computer
scientist, software engineer, or an expert in some specific kind of
software development methodology (i.e., object-oriented programming).
- No advocacy. Classes are solely focused
on using Python--not convincing you to use
Python in the first place. They also do not advocate any
particular method of programming or software development.
There is more than one way to do it as well as tradeoffs.
- No regurgitation. I am the author of the book and
don't need to read from it to teach a course. My classes are wholly
original works that are strongly focused on core concepts and building
an understanding of why you use various Python features and
why Python works in the way that it does.
- A brisk pace. Your time is valuable. These courses present
information in a way that is highly organized and which prefers
hands-on programming over drawn-out talking. Classes are organized
around short lecture segments (10-20 minutes) followed by coding
exercises (20-30 minutes). You won't be bored.
Want to see more? Check out some of Dave's talks
and presentations for a sampling of past presentations.
Schedule a Course
To schedule a course at your place of business, contact Dave directly
by sending an email to "dave" at "dabeaz.com". Classes are typically
scheduled 8-32 weeks in advance.
Are you looking for Python training for just yourself or a friend?
Check out Dave's Chicago courses which
are open to anyone and which offer a completely unique training experience.