### A Programmer's Perspective

### A Programmer's Perspective

#### Get Citation

** 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**

- Uses illustrations, engaging examples, and historical remarks to make the material accessible
- Incorporates modern/handy ideas, such as derivative-based parsing and a Lambda reducer showing the universality of Lambda calculus
- Shows how to "sculpt" automata by making the regular language conversion pipeline available through simple command interface
- Uses a mini functional programming (FP) notation consisting of lambdas, maps, filters, and set comprehension (supported in Python) to convey math through PL constructs that are succinct and resemble math
- Provides all concepts are encoded in a compact Functional Programming code that will tesselate with Latex markup and Jupyter widgets in a document that will accompany the books. Students can run code effortlessly.

**I Foundations**

1 What Machines Think

2 Defining Languages: Patterns in Sets of Strings

3 Kleene Star: Basic Method of defining Repetitious Patterns

II Machines

4 Basics of DFAs

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

III Concepts

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

** 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**

- Uses illustrations, engaging examples, and historical remarks to make the material accessible
- Incorporates modern/handy ideas, such as derivative-based parsing and a Lambda reducer showing the universality of Lambda calculus
- Shows how to "sculpt" automata by making the regular language conversion pipeline available through simple command interface
- Uses a mini functional programming (FP) notation consisting of lambdas, maps, filters, and set comprehension (supported in Python) to convey math through PL constructs that are succinct and resemble math
- Provides all concepts are encoded in a compact Functional Programming code that will tesselate with Latex markup and Jupyter widgets in a document that will accompany the books. Students can run code effortlessly.

**I Foundations**

1 What Machines Think

2 Defining Languages: Patterns in Sets of Strings

3 Kleene Star: Basic Method of defining Repetitious Patterns

II Machines

4 Basics of DFAs

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

III Concepts

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

** 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**

- Uses illustrations, engaging examples, and historical remarks to make the material accessible
- Incorporates modern/handy ideas, such as derivative-based parsing and a Lambda reducer showing the universality of Lambda calculus
- Shows how to "sculpt" automata by making the regular language conversion pipeline available through simple command interface
- Uses a mini functional programming (FP) notation consisting of lambdas, maps, filters, and set comprehension (supported in Python) to convey math through PL constructs that are succinct and resemble math
- Provides all concepts are encoded in a compact Functional Programming code that will tesselate with Latex markup and Jupyter widgets in a document that will accompany the books. Students can run code effortlessly.

**I Foundations**

1 What Machines Think

2 Defining Languages: Patterns in Sets of Strings

3 Kleene Star: Basic Method of defining Repetitious Patterns

II Machines

4 Basics of DFAs

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

III Concepts

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

** 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**

- Uses illustrations, engaging examples, and historical remarks to make the material accessible

**I Foundations**

1 What Machines Think

2 Defining Languages: Patterns in Sets of Strings

3 Kleene Star: Basic Method of defining Repetitious Patterns

II Machines

4 Basics of DFAs

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

III Concepts

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

** 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**

- Uses illustrations, engaging examples, and historical remarks to make the material accessible

**I Foundations**

1 What Machines Think

2 Defining Languages: Patterns in Sets of Strings

3 Kleene Star: Basic Method of defining Repetitious Patterns

II Machines

4 Basics of DFAs

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

III Concepts

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

** 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**

- Uses illustrations, engaging examples, and historical remarks to make the material accessible

**I Foundations**

1 What Machines Think

2 Defining Languages: Patterns in Sets of Strings

3 Kleene Star: Basic Method of defining Repetitious Patterns

II Machines

4 Basics of DFAs

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

III Concepts

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