Recent applications to biomolecular science and DNA computing have created a new audience for automata theory and formal languages. This is the only introductory book to cover such applications. It begins with a clear and readily understood exposition of the fundamentals that assumes only a background in discrete mathematics. The first five chapters give a gentle but rigorous coverage of basic ideas as well as topics not found in other texts at this level, including codes, retracts and semiretracts. Chapter 6 introduces combinatorics on words and uses it to describe a visually inspired approach to languages. The final chapter explains recently-developed language theory coming from developments in bioscience and DNA computing. With over 350 exercises (for which solutions are available), many examples and illustrations, this text will make an ideal contemporary introduction for students; others, new to the field, will welcome it for self-learning.