Cellular Automata (CA) form a general class of models of dynamical systems which are simple yet capture a rich variety of behaviour. This has made them a favourite tool for studying the generic behaviour of and modelling complex dynamical systems. Historically CA are also intimately related to the development of concepts of computers and computation. This connection continues to be a theme often found in discussions of CA. Moreover, despite the wide differences between CA and conventional computer architectures, CA are convenient for computer simulations in general and parallel computer simulations in particular. This book examines how CA have gained importance with the increasing use of simulations in the development of our understanding of complex systems and their behaviour.