- Models of Computation by John E. Savage
- Introduction to the Theory of Computation by Michael Sipser
- Finite-State Machine Designer by Evan Wallace

LaTeX (pronounced lah-tek) is a typesetting program that you can use to make your homework solutions look beautiful. This class involves a healthy dose of mathematical notation, which means LaTeX could be your best friend! If you do not have LaTeX installed on your computer, grab one of these:

- ShareLaTeX (online)
- MiKTeX (Windows)
- MacTeX (Mac)
- Texmaker (cross-platform)

If you don't know the LaTeX code for a symbol, this is a neat site which will return the LaTeX code based on handwritten input:

If you've never done this whole LaTeX business before, don't panic! Here are some links to help you get started: