Theory of Computation

This is a course in the theory of computation, a field that is considerably older than computers and computer science itself. We will look at issues related to

whatcan be algorithmically computed and what can be said about the compuational process, including time and space complexity. Although the models of computation we will use are quite concrete and easily programmed, our interest in them is primarily mathematical. We will write many proofs, just as you did in theAlgorithmsclass.

**Textbook**: __Automata Theory, Languagges, amd Computation__ by Hopcroft, Motowani, and Ullman

- HW 1 due Monday, September 11
- HW 2 due Monday, September 18
- HW 3, due Monday, September 25
- HW 4, due Wednesday, October 4
- HW 5, due Wednesday, Ooctober 25
- HW 6, due Monday, November 6
- HW 7, due Wednesday, November 22

- Topics for Exam 1
- Exam 1 from Spring 2017
- Solutions for Exam 1 from Spring 2017
- Solutions for this Fall's Exam 1

- Topics for Exam 2
- Exam 2 from Spring 2017
- Solutions for Exam 2 from Spring 2017
- Solutions for this Fall's Exam 2

- You may find that JFLAP (Java Formal Languages and Automata Package) from Duke University is a useful tool for drawing and simulating automata.