Dabeaz Courses
Programming Courses
From 2007-2026, I taught a variety of project-based programming<br>courses. These were usually taught in an intense week-long immersion format. None of these<br>courses are currently scheduled, but this page includes links<br>to course descriptions for historical reference:
Advanced Programming with Python
Advanced Python Mastery
Computer Science: The Good Parts
Crusty Interpreter
Practical Python Programming
Rafting Trip
Ruckus
Structure and Interpretation of Computer Programs (SICP)
The One
Write a Compiler
Short Courses (2 days)
Rusty Elevator .
A broken elevator may have inspired the creation of Rust, but could you<br>actually code an elevator in it?
June 17-18, 2025.<br>June 28-29, 2025 (weekend).
ONLINE
Ruckus .
No, not a Racket--something even louder. Write a small interpreter in Rust.
July 12-13, 2025 (weekend).<br>July 22-23, 2025.
ONLINE
Ray Tracer .
Write a ray tracer in Rust. Ooh, pretty!
June 21-22, 2025 (weekend).<br>June 25-26, 2025.
ONLINE
-->
Elevated .
How hard could it be to write the software for controlling an elevator?<br>Pretty hard as it turns out.
May 19-20, 2025
ONLINE
The Objects .
Learn about programming with classes and objects.
June 9, 2025
ONLINE
The Functions .
Dive into the foundations of functional programming.
June 10, 2025
ONLINE
The Test .
Security, writing testable code, logical specification, and novel testing<br>techniques.
August 17, 2023
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."
-->
Hands-on circuit building in "Computer Science: The Good Parts"
Courses are usually taught in an intense week-long immersion format to a small group<br>(limited to about 15 participants online or 6 participants in-person).<br>The immersion format works to provide structure and to focus your<br>engagement with the material.
Courses run from 9:30am-5:30pm in US Central Time/Chicago with an<br>hour lunch break. Course time is divided between group discussion and<br>working on hands-on projects with a strong emphasis on the latter.<br>Courses are taught in a conversational live-coded style that does NOT<br>involve PowerPoint-style presentation or passive content. Moreover, I<br>am a big proponent of "guided discovery" wherein we work together to<br>find a solution. This often involves active experimentation, being<br>open to making "mistakes", and changing direction as needed. In<br>general, no two courses are ever exactly the same. Come ready to code, to<br>question, and to discuss.
-->
Classes are attended by professionals with a wide variety of<br>backgrounds and interests. You should have prior programming<br>experience, but you definitely do NOT need to be an "expert"<br>programmer, have a formal background in computer science, or<br>deep knowledge of advanced programming language "features."<br>That said, courses are still rigorous. Learning is the ultimate goal and<br>some of the subject material (depending on topic), might be similar<br>to what one would see in a graduate computer science course. You can<br>read more about preparation here.
Courses are open to everyone. There is no screening process and I'm<br>not in the business of gatekeeping--if you want to take a course,<br>sign up. I trust you to be the best judge of your abilities. However,<br>feel free to contact me if you're<br>not sure.
-->
I have been offering public-enrollment CS courses for more than 17<br>years. What you see here is exactly what it is--courses. I<br>personally teach all of these classes and focus my attention on topics<br>that I think are interesting, intellectually deep, and worthy of<br>study. I have a "no questions asked" cancellation and refund policy.<br>I hope that you learn as much taking a course as I do by teaching it.
-->
An End to Courses
It's sad, but true. The courses that I used to offer here have to come<br>to end. I'd just like to thank everyone who attended over the<br>years--I really enjoyed teaching these classes and hope that those of<br>you who took them learned a lot. I know I did!
Honestly, I thought I might be teaching these courses into my<br>retirement, but the enrollment numbers don't lie. Since 2023, there<br>has been a complete collapse in the market for continuing education.<br>As this was my primary source of income, I've been forced to move<br>on.
In reflecting upon all of this, this upheaval comes at a time when<br>my kids are heading off to college. Even if business conditions were<br>better, I'm still not sure I'd want to spend my empty-nest days sitting<br>in the basement, staring at Zoom, and walking the dog.<br>So, for the moment I've decided to go back to graduate school to get<br>my Professional Educator's License in Secondary Education, final destination<br>unknown. Stay tuned.
Copyright (C) 2005-2026, David...