CS 3200/5200 is an introduction to (a) formal language and automata theory and (b) computability. For (a), we will examine mechanisms for defining syntax of languages and devices for recognizing languages. Along with the fundamentals of these two topics, the course will investigate the relationships between language definition mechanisms and language recognition devices. For (b), we will study decision problems, the Church-Turing thesis, the undecidability of the Halting Problem, and problem reduction and undecidability. The text will be the third edition of Languages and Machines: An Introduction to the Theory of Computer Science, by Thomas Sudkamp