That pair of eyes on the front is an ultrasonic distance sensor for the Lego NXT robot. My 10 year old put this together to carry a video camera around the house and avoid bumping into stuff.
The NXT is at the top of the Lego hill and is a great place for people to start exploring both robotics and software development. The box in the middle is the controller which has ports to control and run motors and to get input from a variety of different sensors. The sensors included in the kit are touch, light, distance and sound sensors, but other companies also sell things like compasses, accelerometers, color sensors, IR seekers etc...
The NXT also comes with its own visual programming environment. It comes with a few tutorial projects which exhibit the basic functions. I think that most 8-10 year olds should be able to follow them, but getting beyond the tutorials takes some interest and experimentation. Making connections between the different programming blocks is done by simply dragging and dropping the output so it is fairly simple, but understanding loops and conditional branching is probably something that would not be suitable for an 8 year old. The box recommends for 10 and up and I agree with that recommendation.
The strong point of the NXT as a software learning platform is that it gives immediate physical output. You can write code and your robot actually moves or makes noises. This is not always true when you are just writing software. Their output is two dimensional. On top of this kids get to think about how to build a structure which is capable of doing something. The Lego pieces are easy to put together in different configurations that the focus in on shaping the construction to do what you want rather than trying to put it together.
Bill Gates has identified robotics as one of the key technologies in the coming decades. In my opinion home-built robots are still in the same phase as early computers were. A great way to get started in this is with the NXT. I highly recommend it.