For my thesis project we are using lego mindstorms to build a maze travelling robot.
The lego RCX Invention system is really cool, but somewhat pricy. The default lego programming language is a drag and drop, connect the boxes type of graphical languages so kids could play with it all day after you do a quick presentation.
If you wanted to get more control check out BrickOS (C compiler) or Lejos (Java compiler).