Program or be Programmed!
The design behind Mirobot encourages learning at a range of different levels. It's built to teach you about everything from basic visual programming using something like Scratch to using Javascript to program it directly.

Web based programming using blocks
Using a Scratch-like visual programming language (Snap!), children can easily program Mirobot from the browser without having to worry about getting code syntax right.

Javascript programming
Because Mirobot can be controlled over a WebSocket connection, it means it's very easy to use Javascript to tell it what to do. Either control it from a script embedded in a web page or use Node.js to control it. You can also use the awesome Cylon.js project to program it.

Arduino programming
Because Mirobot is based around an Arduino compatible core, the regular Arduino IDE can be used to modify the firmware. There are several sketches included to get things started but it is designed to be reprogrammed

Use other apps
There is a range of apps to suit learners of different abilities over on apps.mirobot.io. Go and explore now!