CS 154:
Introduction to Automata and Complexity Theory
This course provides a mathematical introduction to the following questions: What is computation? Given a computational model, what problems can we hope to solve in principle with this model? Besides those solvable in principle, what problems can we hope to efficiently solve? In many cases we can give completely rigorous answers; in other cases, these questions have become major open problems in computer science and mathematics. By the end of this course, students will be able to classify computational problems in terms of their computational complexity (Is the problem regular? Not regular? Decidable? Recognizable? Neither? Solvable in P? NPcomplete? PSPACEcomplete?, etc.). Students will gain a deeper appreciation for some of the fundamental issues in computing that are independent of trends of technology, such as the ChurchTuring Thesis and the P versus NP problem. Prerequisites: CS 103 or 103B.
Terms: Aut

Units: 34

UG Reqs: GER:DBEngrAppSci

Grading: Letter or Credit/No Credit