Automata and Their Applications is a uniform treatment of the theory of finite state machines on finite and infinite strings and trees. Many books deal with automata on finite strings, but there are very few expositions that prove the fundamental results of automata on infinite strings and trees. These results have important applications to modeling parallel computation and concurrency, the specification and verification of sequential and concurrent programs, databases, operating systems, computational complexity, and decision methods in logic and algebra. Thus, this textbook fills an important gap in the literature. Beginning with coverage of all standard fundamental results regarding finite automata, the book deals Buchi and Rabin automata and their applications to operating systems, temporal logic and communication systems, as well as to various logical theories. The book is self-contained with numerous examples, illustrations, exercises, and is suitable for a two-semester undergraduate course or a one-semester graduate course/seminar. Since no advanced mathematical background is required, the text is also useful for self-study by computer science professionals who wish to understand the foundations of modern formal approaches to software development, validation, and verification.