I design coding courses and teach them. Two full courses, built from scratch, that take complete beginners from their first line of code to real-time control, reaching 160+ students across two robotics organizations.
A 14-week curriculum that takes middle-schoolers from block-based VEXcode to text-based C++, culminating in odometry, real-time position tracking that's advanced even for the VEX IQ platform.
The progression: variables and types → control flow, sensors, loops, functions → distance / color / gyro sensors, encoders, and dead reckoning → proportional then full PID control → odometry concepts and implementation → state machines and algorithm design → tasks, classes, debugging, and a capstone.
I built it as a self-contained web app (HTML/CSS/JS) with a password gate, localStorage progress tracking, and an interactive quiz engine, referencing Purdue SIGBots and other primary sources. Students can learn and self-check independently.
The course spans the whole journey: where students start in block code, the real C++ they finish on, and the physical robots they build along the way.



Variables and types, then control flow, sensors, loops, and functions, the vocabulary of programming.
Distance, color, and gyro sensors, encoders, and dead reckoning: turning physical signals into numbers a program can use.
Proportional control, then full PID, the difference between a robot that overshoots and one that lands precisely.
Real-time position tracking. Students implement the math that lets a robot always know where it is on the field.
State machines, algorithm design, classes, debugging, and a final project that ties it all together.
A 6-hour introductory robotics course for ~40 students aged 6–10, teaching core programming concepts, sequencing, loops, sensors, and the gyroscope, through the Sphero programmable rolling robot.
I designed every section myself around hands-on driving activities, real-world analogies, built-in quizzes, and per-section teacher tips, so a non-technical instructor can deliver it confidently.
Both courses are built as small web apps a student can work through on their own. Each lesson gates the next, so nobody skips ahead before the basics land. Progress is saved in the browser, so a student picks up exactly where they left off. A quiz engine checks understanding before a section is marked done.
Per-section teacher tips sit alongside the material, so a non-technical instructor can run the whole thing and still answer the common questions. The VEX course is password-gated for students; the Sphero course is structured around hands-on driving so six to ten year olds learn by doing, not reading.
Building it this way forced the same discipline as any product: clear state, honest feedback, and no dependence on one expert being present. The reward is reach, more than 160 students learned from material I could not personally deliver to all of them.
Teaching forces you to actually understand something. You can't hand-wave PID to a 10-year-old, you have to find the analogy that makes it click, which means you have to know it cold yourself. Writing these courses made me a better engineer, not just a better teacher.
The design constraint that mattered most: write it so the student can fail safely and self-correct. Quizzes, progress tracking, and teacher tips exist so learning doesn't depend on one expert being in the room.