DNA contains the genetic instructions for the biological development of cellular life forms or viruses. DNA computing uses DNA as a substrate for storing information, while molecular biological operations are used to manipulate this information. This book provides the reader with a comprehensive introduction to the field of DNA computing. It emphasizes computational methods to tackle central problems of DNA computing, such as controlling living cells, building patterns, and generating nanomachines. The volume is intended for researchers and graduate-level students in computer science, bioengineering and molecular biology as a reference book. It is also appropriate for practitioners in industry.