What if a computer wasn’t the best place for kids to learn the fundamentals of coding?

New coding initiatives and curriculum treat code as separate activity – one that can only take place on the computer. This project proposes an alternative method, one tailored to students who learn best through kinesthetic and visual means. The approach combines tangible interaction principles to help make the introductory stages of learning code as approachable and intuitive as possible to 7-10 year olds.

Instead of learning at school, kids can play with Code Roads within their home. By configuring a series of magnetic modules, sensors and outputs, kids can arrange and build programs. Through using the system, they can begin to learn the fundamentals of sequential thinking, and potentially build a program to help them solve their own problems.

Inspiration and Method

As a visual learner, I faced an uphill battle when learning to code, especially when trying to visualize the flow of information through the exclusively text based input. I was constantly translating coding concepts in my head, “Loops” became roller coasters, “If statements” became light bulbs and light switches.

What if kids could learn to code more like this? Perhaps by assembling structures that behave like code instead of immediately learn to type out syntax, they might gain a more concrete visualization of how code behaves. I was initially inspired by Rube Goldberg machines – wickedly complex structures that chain objects together in a sequence of cause and effect, much like coding logic.

This project was grounded in rapid physical and electrical prototyping. This fast pace allowed for dozens of explorations and iterations to be created and refined throughout the full 20 week period.


Code Roads is a children’s toy composed of re-positionable magnetic tracks, remote sensors, and outputs such as motors or beepers. The sensors trigger marbles to drop into the tracks; where the arrangement and configuration of various logic structures such as "OR, AND, RANDOM" determine where the marbles go. As they move in the system they pass through infrared triggers, activating output modules. These outputs can make things happen such as turning on and off lights, triggering alarms or rotating door knobs.

The potential of the system is to bring coding closer to kids daily lives. Kids don't problem solve in the same way adults do, so this system creates a highly visual way of programming and creating systems that can help kids help themselves. For example "IF my dog barks, AND he is near the door, THEN open the door to let him out". Such a toy might one day make the step between the inventions kids dream of , and reality, just a little bit closer, and in doing so help kids discover the awesome potential of code.