Programming and Computer Science Courses

In a Nutshell...

Hands-on advanced programming and computer science courses for people who want to learn. Taught in-person by David Beazley, a computer scientist who likes to code and teach.

Special Note: Due to COVID-19, these courses are being offered in an online format until further notice. More information can be found here.

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 provide something of value for the long haul. They're the kind of courses you wish you could take in graduate school, but without all of the exams and psychological trauma.

Courses are an intense in-person exploration of a topic taught to just 6 participants. This small class size is unlike the typical experience you are likely to find online 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

Write a Compiler.
Take on the challenge of writing a compiler for a new programming language.
May 4-8, 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.
June 1-5, 2020 Chicago
Advanced Programming with Python.
Take your programming skills to the next level as you learn about problem solving, abstraction, and design.
May 18-22, 2020 Chicago
Structure and Interpretation of Computer Programs.
The famous computer textbook comes to life as you learn the foundations of programming languages.
August 10-14, 2020 Chicago
The Python Programming Language.
An in-depth look at Python programming for those who want to advance their Python programming skills.
Ongoing
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 a strong emphasis on the latter. Most courses are taught loosely in the style of "mob programming" where the entire group works together to figure out a problem solution. 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 be an "expert" programmer or 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.

Courses are open to everyone. There is no screening process--if you want to take a course, simply sign up. I trust you to be the best judge of your abilities. However, feel free to contact me if you're not sure.

What's Included

About The Instructor

Courses are taught by David Beazley, a well-known computer scientist with more than 20-years of teaching experience. His company, Dabeaz LLC, has been offering both public and on-site training courses for more than 12 years. Notable past organizational clients have included NASA Jet Propulsion Laboratory, Los Alamos National Laboratory, Citadel, and Hewlett Packard.

Your satisfaction is guaranteed. A full refund is offered to anyone not satisfied with their experience.

More Information

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