7 0
7 0
7 0
7 0
7 0
7 0
- - - E C P T O
E:Python Essential Reference, 4th Edition
C:Python Cookbook, 3rd Edition
P:Chicago-area Python Classes
T:Talks & Tutorials


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 class.
  • Hands-on. In these classes, more than half of the time is spent writing programs. You're going to get your hands dirty writing useful programs.
  • 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.