Code Visually

Train: a completely visual coding language for ages 2 to 102

Launch Train on Web

Kids learn numbers, letters, logic, and coding by playing with wooden trains. Adults solve fun puzzles.

"Train" is a completely visual programming language to teach 2 to 102 year olds how to code. Programs in Train look just like a wooden toy train set. Executing a program means starting the engines and watching the trains move about the tracks. Each engine represents a seperate thread so a multithreaded program is just train tracks with multiple trains. Cars attached to an engine are variables/memory. Wooden blocks that rest on cars are the values of the variables. There are several sets of wooden blocks that represent different data types in Train including numbers, colors, letters, binary, and dinosaurs. Program control is provided by forks ("wyes") and physcial loops in the track which implement if/then and while/loop logic. Stations in Train allow wooden blocks to be operated on including adding a value to memory (adding a block to a car), freeing memory (removing a block from a car), incrementing, decrementing, addition, subtraction, multiplication, and division. Wyes include greater than, less than, equal, lazy, sprung, prompt, and random. Slingshot and catapult station remove blocks from cars and place them on the ground as a form of output. "Magic" tunnels act as goto statements allowing for the creation of functions. Programs are created in Train by simply drawing them on the screen.

Please send comments to:

Train Manual
Train on GitHub
Privacy Policy
Press Kit