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

Practical Python Programming.
A foundational course on the Python programming and thinking that goes far beyond a simple tutorial.
September 10-14, 2018 Chicago
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.
October 8-12, 2018
December 3-7, 2018
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?

Classes are held at the Dabeaz office, located on the second floor of the historic Calo Theater building in the heart of Chicago's diverse Andersonville neighborhood. Located 8 miles north of downtown, Andersonville is filled with quality independent restaurants, cafes, bakeries, pubs, and boutiques. It's also the perfect place to attend a class and to relax afterwards. You will find the setting to be quite different than what you normally find at work, a conference, or a corporate training center.

All classes are strictly limited to 6 students--a size that makes it easier to interact with others and have meaningful discussions. Typically, everyone meets for breakfast and coffee around 9:00am. The course then runs from 9:30am-5:30pm with lunch and an afternoon coffee break. In most courses, more than half of the time is spent programming and working on hands-on projects. Come ready to code.

Although you can certainly learn from a book or online tutorial, a class gives you a unique opportunity to meet other programmers, make connections with the larger community, find out about bleeding-edge topics, and to walk away with all sorts of new ideas.

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

What You Need to Bring

All you need to bring is yourself and a laptop computer. All classes involve a signficant amount of coding, so bring a computer that you use regularly. Almost all course material is cross platform and works equally well on Windows, Mac OS X, and Linux.

More Information

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