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.
|
|