The next great change in computer science and information technology will come from mimicking the techniques by which biological organisms process information. To do this computer scientists must draw on expertise in subjects not usually associated with their field, including organic chemistry, molecular biology, bioengineering, and smart materials. This book provides an introduction to the interdisciplinary field of molecular computing. The book moves from abstract principles of molecular computing to the building of actual systems. The topics include the use of proteins and other molecules for information-processing, molecular recognition, computation in nonlinear media, computers based on physical reaction-diffusion systems found in chemical media, DNA computing, bioelectronics and protein-based optical computing, and biosensors.