This book and CD-ROM package has been developed in a lab-oriented course taught at Cal Tech in 1995 and 1996, and simultaneously augmented by artificial life research conducted there. These courses were attended by an interdisciplinary group of students from physics, computer science, and the computational neural sciences. The authors assume a pre-requisite understanding of statistical physics and thermodynamics, basic biology, as well as familiarity with computer architectures and scientific computing techniques. This project brings together the necessary theoretical groundwork for understanding the dynamics of systems of self-replicating information, as well as the results of initial experiments carried out with artificial living systems based on this paradigm.