Here is another cool programmable robot that uses motors to keep its balance when nudged. The Cubli inspired Single Point Robot is fully programmable. You can track its various parameters on your smartphone via Bluetooth. It has a display to show various data points.
This robot can not only balance itself on flat surfaces but also on sharp inclines. The above video shows it in action.