Introduces the foundations of formal language theory, computability, and complexity. Shows relationship between automata and various classes of languages. Addresses the issue of which problems can be solved by computational means, and studies complexity of solutions. Prereq., CSCI 3104 and 3155. Prerequisites: Requires pre-requisite courses of CSCI 3104 and CSCI 3155 (minimum grade C-).