Fish schools and bird swarms are amazing to look at. It is even more exciting to come up with an understanding of how thousands of entities, each of which is most likely only aware of its nearest neighbors, can self-organize into such large structures. My students and I are interested in this question from a dynamical systems and statistical physics perspective.
One can also ask whether it is possible to program hundreds of little robots to self-organize into pre-determined shapes. The answer is yes, and yesterday, a group of researchers at Harvard University published an article in Science, entitled Programmable self-assembly in a thousand-robot swarm, in which they did just that.
For an overview of their work, see the article Heads up for the gathering robot swarm in the News section of Science.