Department of Mathematical and Digital Sciences
Bloomsburg University of Pennsylvania

Artificial Life
Honors 110

Spring 2011

Professor: Drue Coles
Phone: 570-389-4626
Office: 235 Ben Franklin Hall

Text: Nothing to purchase. Reading materials will be provided or are freely available on the web.

Prerequisites: There are no formal prerequisites, but the course is designed for people who like to read, write, think, discuss, and experiment. You will need to learn some programming, but no computing background is assumed — we cover programming basics in class.

Overview. Artificial Life is an area of computer science devoted to the study of living systems through the use of computers to simulate biological phenomena. It was initiated in the late 1940s by John von Neumann, one of the giants of 20th century science and mathematics, who worked out the logical form of a self-replicating machine. One of the central ideas of Artificial Life is emergence. An emergent property of a system is a complex pattern or behavior that arises from the local interactions of autonomous components. This happens everywhere in nature: individual ants, for example, self-organize into highly sophisticated ant colonies without any external guidance or centralized control. Emergence is a common theme in biology, chemistry, ecology, economics, physics and other areas.

We will experiment with a number of free and open source software packages for generating lifelike behavior in simulated populations of locally interacting components. These components may adapt, reproduce, or evolve over computer-simulated time. For example, we will study the emergence of complex behaviors in Conway's Game of Life, the fight for survival among mechanical structures evolving in a virtual ecosystem, and algorithms that find solutions to computational problems by mimicking the processes of natural selection. We will also survey ideas about artificial life that philosophers have considered, such as the prospect of genuine life emerging from artificial systems.


  1. Introduction
  2. Philosophy
  3. Emergence in Cellular Automata
  4. Game of Life
  5. Evolutionary Systems