Programming and Computer Science Courses


Forget everything you know about taking a typical class, watching a video, or working through an online tutorial and come to Chicago for an in-person learning experience that will expand your mind and skills. Taught in a round-table format with just 6 participants, these courses take a deep dive into a topic with a mix of lecture, hands on exercises, projects, and group discussion. Plus, you'll experience the ammenities of Chicago's distinctive Andersonville neighborhood. You won't be disappointed.

Current Course Schedule

Python Projects Week.
Improve your Python skills by spending a week tackling a series of interesting challenge projects.
October 22-26, 2018 Chicago
Advanced Python Mastery.
The ultimate course for programmers who want to move beyond small scripts into the land of libraries, frameworks, and large applications.
December 3-7, 2018 Chicago
Write a Compiler (in Python).
Take on the challenge of writing a compiler for a new programming language.
November 12-16, 2018
Computer Science: The Good Parts.
The computer science course that aims to be unlike anything else. It's the course you wish you took.
December 10-14, 2018 Chicago
Structure and Interpretation of Computer Programs.
The famous computer textbook comes to life as you learn the foundations of programming languages.
January 7-11, 2019 Chicago
Introduction to TLA+.
Find all of the hard concurrency bugs in your design before they happen by proving that they're impossible.
January 14-18, 2019 Chicago

What Are Classes Like?

When you come to take a course, you should prepare for an intense week of hands-on learning, coding, and discussion. First, and foremost, all classes are strictly limited to 6 students--a size that makes it easier to interact with others and to have meaningful discussions. In fact, one of the main benefits of taking an in-person course is to meet other programmers and to learn from their experience. You'll find out about interesting topics, make connections to the larger community, and walk away with new ideas.

A typical course day starts with breakfast and coffee starting around 8:45am. The course then runs from 9:30-5:30pm with lunch and an afternoon coffee break. Course time is divided between prepared lecture and working on hands-on projects with an emphasis on the latter. Come ready to code.

Hands-on circuit building in "Computer Science: The Good Parts"

Am I Ready to Take a Course?

Classes are attended by students with a wide variety of backgrounds and interests. You should have prior programming experience, but you definitely do NOT need to have a formal background in computer science. You can find more about preparation here.

What's Included

About The Organzier

Courses are organized by Dabeaz LLC, a company operated by David Beazley. Since 2007, Dabeaz LLC has conducted over 400 training courses for a mix of corporate clients and individuals. Notable past clients have included NASA Jet Propulsion Laboratory, Los Alamos National Laboratory, and Hewlett Packard. Prior to founding Dabeaz LLC, David Beazley was a tenure-track assistant professor in the Department of Computer Science at the University of Chicago. Dave is a well known conference speaker having given various talks and tutorials.

More Information

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