Programming and Computer Science Courses

In a Nutshell...

Computer science courses for people who want to learn. Taught in-person by a computer scientist (and former professor) who likes to teach.

Expand Your Thinking

Technology is often fleeting--the popular tools of today might be old news tomorrow. However, problem solving skills are forever. The courses offered here are about that. 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 experience you are likely to find online, at a coding bootcamp, or at a university. People are there to learn and it's a friendly, hands-on environment 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

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
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
Structure and Interpretation of Computer Programs.
The famous computer textbook comes to life as you learn the foundations of programming languages.
January 20-24, 2020 Chicago
Write a Compiler.
Take on the challenge of writing a compiler for a new programming language.
March 16-20, 2020 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.
Mar 30-Apr 3, 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 that has been teaching programming courses for more than twelve years. Notable past organizational clients have included NASA Jet Propulsion Laboratory, Los Alamos National Laboratory, and Hewlett Packard.

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.