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 what can 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 the Algorithms class.
Textbook: Automata Theory, Languagges, amd Computation by Hopcroft, Motowani, and Ullman