U. Ihme, J. Fischer, T. Ihme

University of Applied Sciences Mannheim (GERMANY)
Teaching a computer language often begins with teaching its theoretical background and testing small routines in ascetic console applications. Students studying computer science often avoid technical projects because of the fear of the unknown, while students of subjects, such as mechatronics, don’t miss the technical aspects but they are bored by theory and console execution.

Because of the direct feedback of technical automata and the "fun-factor" which technical experimentation includes the idea came up, that learning a computer language should have a connection to technical aspects. Robotics is an interdisciplinary subject and there will be no automation or robot movement without any programming line. In many ways robotics seems to be an ideal starting point to learn a computer language. With the LEGO® Mindstroms® System robots can be easily built and adapted to special tasks. It is even possible to have robots for a whole classroom. These robots are reusable and can be used for many purposes. The LEGO® Mindstorms® System can be programmed in different programming languages, among them JAVA and C/C++.

At the faculty of computer science of the University of Applied Sciences Mannheim students learn Java or C/C++ during their programming lessons. With the introduction of LEGO® robots even in basic programming courses it seems possible to make programming visible, to get direct feedback and to motivate Students with the mentioned "fun-factor". The Robotics Institute, which belongs to this faculty, owns LEGO® Mindstroms® Systems to teach students class-wise and has experiences in using that for many years.

During the winter semester 2013/2014 a first test of using LEGO® robots during the programming lessons was carried out. All students of the first semester studying computer sciences (learning JAVA) and mechatronics (learning C/C++) had to absolve a LEGO® robotics lab at the beginning of their courses. For the lab they got assembled LEGO® robots. After a short introduction they had to program the robots in NXC (Not eXactly C) mostly without any programming experience. During the lab they had to solve the first part of the beginner’s playing field Explore Mars, using the special designed e-learning material. The lab starts with simple tasks, like moving the robot forwards and driving curves. For other tasks the students have to use loops and if-statements. Using the robots, the students checked very quickly, if their programming logic was correct. The students gave a very positive response. They quickly get a rough idea how the commands work. Furthermore they get practical examples with technical applications instead of theoretical constructs.

Some of all these students got a second LEGO® lab at the end of their programming class. For this lab the RoboCup Junior Rescue A Arena was used. The students’ robots should follow a line, which has gaps. On the way there is an obstacle, which has to be avoided. With the second lab the students got feedback about how their programming skills have progressed since the introductory course.

Because the response of the students was very good, the LEGO® labs should become a permanent part of the programming classes at the faculty. So a course realizing that, will be created.

The paper deals with the experiences from these LEGO® labs and gives a rough idea how a complete programming courses using LEGO® Mindstroms® may look like.