LEGO introduced the first Mindstorm in 1998 with version 1.0 of the Robotics Invention System (RIS) kits. Since then Mindstorms have been upgraded with the latest version being Lego Mindstorm nxt released in 2006. The Mindstorms have been used in teaching computer science concepts such as object-oriented programming and artificial intelligence. They have also been used in introducing children to computers. An educational version of the Lego Mindstorms NXT system is through Lego Education. It contains a programmable brick, three motors, one light sensor, one ultrasonic (sonar) sensor, one sound sensor, and two touch sensors. The programmable brick contains three output ports used to power the motors, and four input ports used to connect sensors. Legacy support is included via converter wires that connect to the NXT programmable brick and legacy 9V motors and Robotics Invention System sensors.
Lego Mindstorms nxt are good for introducing students to computing sources. They increase the interest of students in computing courses. They also make class work fun and more exciting. The most exciting thing about this programming interface is that students are able to visually see the algorithmic constructs they are using in their programs. Green blocks represent instructions that are to be executed sequentially; the purple blocks are selection structures, and the orange blocks are repetition structures. This makes it a programming language easily understood by new computer programming students.
The programmable brick supports Bluetooth version 2.0 + EDR communications using the serial port protocol. It is a Class II device, giving a non-line-of-sight communications distance of up to 10 meters, or roughly 30 feet . Because of this, it is possible to use Bluetooth enabled computers, cellular phones, and control devices, like Wii Remotes or Xbox 360 controllers, to control a NXT robot, as well as receive sensor feedback from the motors and attached sensors. This is good for an advanced software engineering course because it enables the assignment of a project requiring communications with other pieces of software, adding complexity to the system and exposing students to programming networked software.
At some colleges, the visual programming language used in the Lego-supplied software to teach the concepts of computer science without making students who may be unfamiliar with a programming language to learn the syntax of a high-level language like C++ or Java, two of the languages that are commonly used in introductory computer science courses.
The Mindstorms have some disadvantages as teaching tools. The robots do not function in exactly the same manner even when running the same program. Environment factors such as friction or battery power can cause cause the motors to behave differently each time a program runs. However its effectiveness in introducing computing courses cannot be underrated and its merits far outweigh the few challenges it poses.