Welcome! I'm David Beazley, a breathing human and computer scientist with more than 30 years of teaching and programming experience. Most people know me from my work in the Python world:
What you'll find here are live-taught programming and project courses for software professionals.
My courses are focused on a singular goal--becoming a better programmer. However, this involves so much more than just "coding." Ultimately, it's about problem solving, thinking about how things fit together, and asking questions about the bigger picture. It's also about developing the personal agency to evaluate decisions and to look at code with a critical eye.
All of my courses are focused on problems related to building software. However, rather than trying to follow the latest fashion, topic areas are taken from foundational topics in computer science. By taking a course, you will certainly learn more about that specific topic. However, I also hope to push you a bit outside your comfort zone and to focus on things that have more of a long-term payoff.
| Write a Compiler. Take on the challenge of writing a compiler for a new programming language. |
February 16-20, 2026. | ONLINE |
| 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. |
January 5-9, 2026. | ONLINE |
| Ruckus. Get right to heart of what makes Rust different from most other programming languages as you struggle mightily to implement the core of a small programming language. |
March 23-26, 2026. | ONLINE |
| Crusty Interpreter. Implement the Lox programming language from Crafting Interpreters in Rust and learn a lot about programming language design and implementation in the process. |
April 20-24, 2026. | ONLINE |
| Advanced Programming with Python. Take your programming skills to the next level as you learn about problem solving, abstraction, and design. |
January 26-30, 2026 | ONLINE |
| Structure and Interpretation of Computer Programs. The famous computer textbook comes to life as you learn the foundations of programming languages. |
June 1-5, 2026 | ONLINE |
"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."
Courses are usually taught in an intense week-long immersion format to a small group (limited to about 15 participants online or 6 participants in-person). The immersion format works to provide structure and to focus your engagement with the material.
Courses run from 9:30am-5:30pm in US Central Time/Chicago with an hour lunch break. Course time is divided between group discussion and working on hands-on projects with a strong emphasis on the latter. Courses are taught in a conversational live-coded style that does NOT involve PowerPoint-style presentation or passive content. Moreover, I am a big proponent of "guided discovery" wherein we work together to find a solution. This often involves active experimentation, being open to making "mistakes", and changing direction as needed. In general, no two courses are ever exactly the same. Come ready to code, to question, and to discuss.

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, have a formal background in computer science, or deep knowledge of advanced programming language "features." That said, courses are still rigorous. Learning is the ultimate goal and some of the subject material (depending on topic), might be similar to what one would see in a graduate computer science course. You can read more about preparation here.
Courses are open to everyone. There is no screening process and I'm not in the business of gatekeeping--if you want to take a course, sign up. I trust you to be the best judge of your abilities. However, feel free to contact me if you're not sure.
I have been offering public-enrollment CS courses for more than 17 years. What you see here is exactly what it is--courses. I personally teach all of these classes and focus my attention on topics that I think are interesting, intellectually deep, and worthy of study. I have a "no questions asked" cancellation and refund policy. I hope that you learn as much taking a course as I do by teaching it.
For more information and general inquiries, please send email to [email protected]. You can also consult the Frequently Asked Questions.
Copyright (C) 2005-2026, David Beazley