Programming and Computer Science Courses


Computer science courses for people who want to learn. Taught in-person by a computer science professor.

Expand Your Thinking!

When coding, you're often focused on the details of a specific technology. What commands do you put in your script? How do you install a package? How do you deploy a website? Or write an app? There are thousands of resources to help you with all of these things. However, technology is also fleeting--what's popular today might be gone tomorrow. It's a given that you will always be learning new technologies. The courses offered here are different. They're designed to challenge your thinking, push you outside your comfort zone, and to build skills for the long haul.

Classes are taught by David Beazley, an independent computer scientist, author, and educator. They are intense in-person explorations of a topic taught to just 6 participants. This small class size is unlike any learning experience you are likely to find online, at a coding bootcamp, or at a university. It's a friendly, hands-on experience that allows for meaningful questions and group discussion.

"David's training classes are a unique and not-to-be-missed experience. They are an immersive exploration and the format ensures you leave the class with new knowledge, new understanding, new skills, and new friends. David has a gift for explaining hard concepts and making things interesting. He is one of the best teachers I have ever met."

Current Course Schedule

Structure and Interpretation of Computer Programs.
The infamous computer textbook comes to life as you learn the foundations of programming languages.
October 21-25, 2019
October 28-November 1, 2019
Write a Compiler.
Take on the challenge of writing a compiler for a new programming language.
November 4-8, 2019 Chicago
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 9-13, 2019 Chicago
Rafting Trip.
The networks, concurrency, and distributed systems course that will test your wits as you struggle to implement a fault-tolerant service via the Raft distributed consensus protocol.
December 16-20, 2019 Chicago
Advanced Programming with Python (NEW!).
Take your programming skills to the next level as you learn about problem solving, abstraction, and design.
January 6-10, 2020. Chicago
The Python Programming Language.
An in-depth look at Python programming for those who want to advance their Python programming skills.
Online Video

What Are Classes Like?

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, to question, and to discuss.

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

Am I Ready to Take a Course?

Classes are attended by professionals 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. That said, courses are still rigorous. Learning is the ultimate goal and some of the subject material (depending on topic), might be comparable to what one would cover in a graduate computer science course. You can find more about preparation here.

What's Included

About The Organizer

Courses are organized by Dabeaz LLC, a company operated by David Beazley. Since 2007, David 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 numerous talks and tutorials. He has a Ph.D. in Computer Science.

Your satisfaction is important. Dabeaz LLC offers a full refund to anyone not satisfied with their experience.

More Information

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