1. A robotics system for teaching concepts of computer programming to a user, the robotics system containing software for: providing a reference to a device; concurrently providing on a display a plurality of views associated with a programming of the device, the plurality of views comprising: a textual view, wherein a programming code for controlling the device is displayed as text; a graphical view, wherein a plurality of icons are provided in the graphical view, wherein the plurality of icons are configured to be selectively placed, interconnected, and modified in the form of a flow diagram in a programming area of the graphical view, and wherein a configuration of the plurality of icons, when placed in the programming area, respectively represent a plurality of blocks of the programming code, wherein each of the plurality of blocks of the programming code respectively corresponds to a behavior of a respective programming object of the device, and wherein the plurality of blocks of the programming code behave in a specific manner and in relation to one another based on the configuration of the plurality of icons; and a simulation view, wherein the simulation view is configured to display a configuration of the device and a response of the device to the programming code; and accepting input from an input device by the user for modifying the programming code in the textual view, the icons and selective interconnection thereof in the graphical view, and the configuration of the device in the simulation view, therein modifying the programming of the device.