Adam Martin’s project, Everyone Can Program, teaches children the principles of programming using custom marble runs which have been 3D printed.
Programming principles involve high-level, abstract concepts that make the difference between “writing a little code” and “knowing how to develop and launch a complete, usable application”.
The core ore lessons include multi-person/shared programming, debugging, testing and program analysis, and everything iss done by constructing (or deconstructing) marble runs!