COMP 350-01, Theory of Computation, Fall 2004