The fall was spent working with NXC (Not Exacty C) and the Mindstorms kit. We tried to use Arduino, but building robots quite involved (soldering, special order parts, etc). Mindstorms, while expensive up front ($260), gives us the microcontroller and the lego pieces with plenty of options to build robots. The kids could build a robot, disassemble it and re-build it in minutes.
So we settled on Mindstorms. However, we are teaching kids how to program, and the GUI version of Mindstorms Lab View was not going to cut it. So we found NXC, which is a C subset that targets the Mindstorms kit; perfect!
We have a website dedicated to the exercises we built, we had a ball with the robots, the kids really enjoyed the experience. We introduced them to C functions, to compile a program and download it to a microncontroller.
The more common exercises are for the robot to follow a line, to move forwards, backwards, etc. We did a bit of that, stressing clean code, breaking functionality into single purpose functions, etc. We are building programmers, so clean code is always stressed.