Living organisms are extraordinary. They have capabilities which far exceed any present-day technology, and it is therefore inevitable that scientists and engineers should seek to emulate at least some of those capabilities in artificial systems. Such an endeavour not only offers the possibility of practical applications, but it also sheds light on the nature of biological systems.
The notion of artificial life can take many diverse forms, and in this article we will focus on three aspects: modelling the development of structure in living systems, the quest to create artificial intelligence, and the emerging field of synthetic biology. All three topics reveal surprising, and sometimes remarkably deep, connections between the apparently disparate disciplines of biology and computer science.