Theory of computation is about understanding the limits of what computers can do.

Note: I am teaching two sections of 321 this term (an honors section and a non-honors section). The two sections have different structure, different homeworks, different requirements. This page is for the **non-honors section**!

# News

Oct 16

Homework 4 posted, due Oct 23 morning. Also, solutions to infamous Homework 3 problem 4 posted.

Oct 9

Homework 3 posted, due Oct 16 morning.

Oct 2

Homework 2 posted, due Oct 9 morning.

Sep 26

TA office hours announced (see info above).

Sep 25

Homework 1 posted, it's due Oct 2 morning. Mike's office hours will be MW after class.

Sep 20

Homework 0 posted. It's not for grade.

Sep 15

The website is ready. Let's do some CStheory!

# Materials

## Handouts

## Homeworks

- HW0 (not for grade)
- HW1, due Oct 2 (morning)
- HW2, due Oct 9 (morning)
- HW3, due Oct 16 (morning); solution to #4
- HW4, due Oct 23 (morning)

Hand them here, on Canvas, in PDF format.

## Primary Resources

- Jeff Erickson lecture notes (scroll down to "Models of Computation Notes")
- Fleck/Har-Peled lecture notes
- Marcelo Fiore lecture notes
- Cristopher Moore lecture notes
- Intro to Automata Theory, Languages, and Computation, a classic textbook by Hopcroft & Ullman

## Other Resources

- Tool for drawing state machines, by Evan Wallace
- RegExr tool for playing with "real world" regular expressions (by Grant Skinner)
- Chart of special characters (copy/paste math symbols into your assignments)