CodeRoadsTaismaukHero.jpg

Teaching Kids Coding Fundamentals With Tangible Interaction

What if a computer wasn't necessarily the best place to learn the fundamentals of coding? My master's thesis at Umeå Institute of Design is an exploration as to how we can make learning basic coding as intuitive as building with blocks.

In June 2017 this project was awarded the Core77 Design Awards Open Design Student Award.

20 Weeks - Individual Thesis

Skills -  Ethnographic Research, Rapid Prototyping, Electrical, Arduino, Story Telling, Filmmaking, Story Boarding, UX, Experience Design, Toy Design, Academic Research


Problem

In the last few years America as a whole has taken an interest in bringing coding to school education. New initiatives are popping up in order to get younger students involved, but many still have similar challenges that traditional coding education faces. The initial learning curve is high, a whole new vocabulary has to be learned, and the ever present possibility of failure scares many kids off coding forever. The goal of this thesis is to create a much more approachable and explorative introduction to the world of coding. 

Inspiration Coding is governed by a set of rules, behaviors and structures, much like our physical reality is governed by gravity and physics. This project seeks to match the way the digital coding world works and snaps together, to the way our physical world snaps together.  My final inspiration came from a marble track –  an expandable structure that is effective at showing cause and effect, as well as visualizing how elements flow through a system. 

Inspiration

Coding is governed by a set of rules, behaviors and structures, much like our physical reality is governed by gravity and physics. This project seeks to match the way the digital coding world works and snaps together, to the way our physical world snaps together. 

My final inspiration came from a marble track –  an expandable structure that is effective at showing cause and effect, as well as visualizing how elements flow through a system. 


 
 

Final Result Video

Code Roads is a re-positionable marble track, that, through the arrangement of modules, can be programmed.  The system reacts to inputs and directs marbles through using intelligent modules that function like specific coding concepts.  Kids can then use this system to solve problems in their own lives by creating custom tracks that can intelligently be programmed to react to different real world stimuli. 


Meet the System

Detectors/Deployers (Inputs)

Each arrangement of the system starts with an "INPUT", these function like an "If" statement. If CONDITION is true, then DO SOMETHING. This example shows a motion detector, and its paired marble deployer. If the motion detector senses movement,  it sends a message to the deployer which launches a marble into the system. A number of different detectors can be introduced, such as sound detecters, temperature or timers. Each input has its own dedicated launcher so many inputs can be used simultaneously. 

Smart Roads

These modules make the system intelligent, allowing kids to change how it reacts to the different inputs. Each module represents a different logic concept in coding. In this case, a boolean operator concept of "AND" is articulated by a Y shaped track.  Through the use of IR Beams, the module knows when a ball has arrived from the left or right track. When a marble from both is detected, IE Condition 1 AND Condition 2 are true, then the module reacts by opening a door, allowing both balls to pass through. Additional logic elements are "OR", "RANDOM"

Reader/Reactor (Outputs)

These modules are the "doers" of the system. They are composed of two paired components similar to Inputs. Whenever a marble passes through the "reader" portion, it sends a signal to the "reactor" module which then activates. The reactor can be placed anywhere within signal range and can be used to interact with the environment around them.

Using the System (Video)

Other coding education platforms introduce concepts through small example exercises; typically making a small robot move and behave in a certain way. However that process teaches concepts in a bubble. Code Roads brings the learning back into the physical world, which is where many of the challenges kids face every day are. By essentially giving kids a toolbox, they can then invent their own uses for the system. This means that the final goal is a bespoke creation, tailored around the real problems that kids have. 

What kids can make with it

Here a kid has created: If (a dog barks) and (the dog is near the door) then (open the door). 


Exhibition/ Thesis Defense

I successfully defended this thesis on May 17th, 2016. The project was later summarized for display at UID 16 and a works like prototype was developed for visitors to play with.  


 
 

Testing Generation Videos 

This testing session was the first proof of concept back in march. I needed to see whether kids could successfully manipulate the modules, predict where marbles would fall, and have the kid explain back concepts of the system accurately. 

First functioning packaged prototype of an "input". Here it reacts to sound, and launches a marble when sound is detected. 

First functioning packaged prototype of  "AND" Boolean Operator.

First functioning packaged prototype of an "output". Made using a SAM labs prototyping module for compactness. 


Additional Process

This project involved a heavy prototyping phase that ran from the first day.  Initially I just wanted to discover what kinds of concepts from coding I could translate into a physical form. Later once a more defined direction was chosen I focused on using and testing the technology that I thought could power the final system.  Here is a selection of progress videos showing each of the components being brought to life.