Students form groups of 2-3 to work jointly on their robot exercises. Each group is issued a robot kit that can be carried out of the laboratory in a small activity box. Laboratory sessions in the first half of the semester are conducted as closed laboratories. The objective of these sessions is to introduce robot building materials and to familiarize students with standard techniques of interfacing sensors and writing simple robot control programs. Each laboratory session has structured exercises.
Students start the exercises in the laboratory and spend the rest of the week completing it.
Robots resulting from previous week's exercises are demonstrated at the beginning of the next week's laboratory session. Using this paradigm robot programs are constructed as a hierarchy of behavior modules that execute concurrently in a multi-tasking environment. This enables a robot builder to create robots that exhibit simple behaviors to which more sophisticated behaviors can be added simply by coding higher level behavior modules. This proved to be a unique and concrete way of introducing multitasking, and issues relating to real-time control in the computer science curriculum. Laboratories in the second half of the semester are conducted as open laboratory sessions.