Lego

A good article from JavaWorld which describes how you can build intelligent robots that can learn and show emergent behavior. It uses artificial neural networks.

This article describes the backpropagation algorithm, a basic neural network, and its implementation on a Lego Roverbot with Java.

Interesting read.