# CS 4313: Automata, Computability, and Formal Languages

## Syllabus and Assignments

Syllabus
Homework 1,
Homework 2,
Homework 3,
Homework 4,
Homework 5,
Homework 6.

Homework 7,
Homework 8,
Homework 9,
Homework 10,
Homework 11.

## Code

Tar file containing NFA simulator. The individual files
are: README, nfa, nfa1, nfa2, and nfa3.
A Perl program for evaluating regular expressions.

Tar file containing CFG parser. The individual
files are: README, cfg, g1, g2, g3, and
g4.

Tar file containing Turing machine simulator.
The individual files are: README, tm, mab, m2x, and
mincr.

Turing machine for binary addition.

Turing machine for substring testing.

## Notes (subject to change)

1.2. Languages, Grammars, and Automata.
2.1. DFAs,
2.2. NFAs,
2.3. Equivalence of DFAs and NFAs.

3.1-2. Regular Expressions,
3.3. Regular Grammars.

4.1-2. Properties of Regular Languages,
4.3. Pumping Lemma.

5.1. Context-Free Grammars,
5.2. Parsing, Ambiguity, and the CYK Algorithm.

Handout for NPDA transition graphs,
7.1. Pushdown Automata,
7.2. NPDAs = CFGs.

8.1. Pumping Lemma for CFLs.

9.1. Turing Machines,
9.2. Turing Machines for Complicated Tasks,
9.3. Turing's Thesis.

10.3. Nondeterministic TMs,
10.4. Universal TMs.

11.1. Recursive and Recursively Enumerable Languages,
11.2-4. Grammars for TMs.

12.1. Undecidability of the Halting Problem,
12.2-4. More Undecidable Problems.

14.1-2. Complexity Theory,
14.3. Complexity Classes,
14.4. P and NP.

Back to Tom Bylander's Home Page