Train Code Visually

© 2018 Sean Megason
iPad, iPhone, Windows, Mac OSX, Steam
Teaches: Logic, coding

CTR Review

Designed by a professor, this is a train track builder experience designed to introduce programming concepts. The idea is good -- the implementation rather rudimentary. Executing a program means starting the engines and watching the trains move about the tracks. Each engine represents a separate 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. The app is both browser based and avialable for iOS.