Contents: 1. Introduction to Theory of Computation. 2. Finite Automata. 3. Finite Automata as Transducers. 4. Regular Expressions and Regular Grammar. 5. Context Free Grammars. 6. Normal Forms of Context Free Grammars. 7. Pushdown Automata. 8. Turing Machines. 9. Hierarchy of Formal Languages and Automata. 10. Introduction to Undecidability. 11. Recursive Function Theory. 12. Computational Complexity and Its Classes. Solution to Execises. Index. The book is all about the automata, formal language theory and computability. Automata theory plays important roles in compilers, text processing, programming languages, hardware designs and artificial intelligence and is the core base of computer science studies. The intent is to make automata theory interesting and challenging and break the myth of being a tough topic. For that matter, topics are covered in an easy to understand manner with the help of elaborative and well descripted examples. For topics which are little complex and fuzzy to understand, strategy adopted is to connect the topic with the everyday problems we encounter, in order to develop a connective understanding of the topic and get a clear view of the topic. Exercise questions are provided with the answers to understand the solution easily. The prospective audience for the book are computer science engineering students. Computer science scholars and people preparing for competitive exams like GATE, UGC-NET, etc.