I am teaching a class of object-oriented software design this semester. As a class project, I asked the students to design a robot that can navigate by itself, using a light sensor to detect color, and an ultrasonic sensor to detect obstacles. In addition, it has to be remotely controllable through a graphical user interface running on a computer, wirelessly. All the hardware were bought commercially. But the students have to write the software themselves according to object-oriented principles.
Part of the assessment was a competition. The 13 teams of 2 students each were divided into 4 groups. The teams in each group compete head-to-head. Each of the robots have to navigate the narrow, crooked path from the starting patch into the main arena, autonomously. Then they can be switched to remote-controlled mode, to drive to the final stretch as soon as possible, without bumping into the obstacles. When it reaches the final stretch, it must then switch back to autonomous mode, to navigate to the destination patch. The fastest with the fewest mistakes wins.
The 4 group winners were then entered into the semi-finals, when the competition became sudden-death. The students were good sport’s and it was great fun. Some of the winners gloated a bit, naturally; but not in an obnoxious way.
The girls did well too. I only have 5 girls among the 26 students, at 19%. Among the 8 semi-finalists, however, there were 3 girls, at 38%. In the final, it was 2 girls against 2 boys, at 50%! The girls team could have won too, if only their robot did not bump into one of the obstacles.
I am happy with the performance of the class overall, and particularly that of the girls.
I have to admit I got much of the ideas about the project and competition from my colleague G. Thank you.