| The following texts are recommended as supplemental material. Other texts on automata theory: 
						John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, second edition, Adison Wesley, 2001.
						John E. Hopcroft and Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, 1979.
					 For the section on general recursion theory 
						Michael Machtey and Paul Young, An Introduction to the General Theory of Algorithms, North Holland, 1978.
					 For undecidability and logic 
						Herbert B. Enderton, A Mathematical Introduction to Logic, Academic Press, 1972.
					 For lambda calculus (optional advanced topic) 
						J. Roger Hindley and Jonathan P. Seldin, Introduction to Combinators and lambda-Calculus, Cambridge, 1986.
						H. P. Barendregt, The Lambda Calculus Its Syntax and Semantics, Revised Edition, North Holland, 1984.
					 Lecture Notes: Past Exams: 
						Fall 2004 mid-term (pdf).
						Fall 2004 final (pdf).
						Spring 2005 mid-term (pdf).
						Follow-up homework from midterm (pdf).
						Spring 2005 final (pdf).
						Fall 2005 mid-term (take home exam) (pdf).
						Fall 2005 final (pdf).
						Spring 2007 mid-term (in class exam) (pdf).
						Spring 2007 final (pdf).
	                    Fall 2007 final (pdf).
	                    Fall 2008 final (pdf).
  					    Fall 2008 mid-term (in class exam) (pdf).                        
	                    Fall 2008 final (pdf).
					    Spring 2009 mid-term (in-class exam) (pdf)
					    Spring 2009 final (pdf)
				      					 |  |