A Programmer’s Perspective
Ganesh Gopalakrishnan

#Automata
#Computability
#FP
#PL
#DFA
#NFA
#Lambdas
Automata and Computability is a class-tested textbook which provides a comprehensive and accessible introduction to the theory of automata and computation. The author uses illustrations, engaging examples, and historical remarks to make the material interesting and relevant for students. It incorporates modern/handy ideas, such as derivative-based parsing and a Lambda reducer showing the universality of Lambda calculus. The book also shows how to sculpt automata by making the regular language conversion pipeline available through a simple command interface. A Jupyter notebook will accompany the book to feature code, YouTube videos, and other supplements to assist instructors and students
Features
Table of Contents
1: What Machines Think
2: Defining Languages: Patterns in Sets of Strings
3: Kleene Star: Basic Method of Defining Repetitious Patterns
4: Basics of DFA
5: Designing DFA
6: Operations on DFA
7: Nondeterministic Finite Automata
8: Regular Expressions and NFA
9: NFA to RE Conversion
10: Derivative-Based Regular Expression Matching
11: Context-Free Languages and Grammars
12: Pushdown Automata
13: Turing Machines
14: Interplay between Formal Languages
15: Post Correspondence, and Other Undecidability Proofs
16: NP-Completeness
17: Binary Decision Diagrams as Minimal DFA
18: Computability Using Lambdas
Ganesh Gopalakrishnan is a professor in the Computer Science Department at the University of Utah.









