Course Description
This course is an introduction to models of computation, computability, and complexity. We will ask questions like: How do we define the abstract notion of "computation" or a "computer"? What problems can be computed? What problems can be computed efficiently? Can we prove that some problems can never be computed, no matter how fast our computers become? The course is highly mathematical and abstract; in particular, there will be minimal programming assignments (if any) and homework problems will frequently involve proving or disproving various assertions. Students are expected to be comfortable with the material covered in Discrete Math (W3203) or the equivalent.
For details of textbooks, visit the Reading page
Topics will include:
automata and the languages they define, context-free grammars and languages they define, Turing machines, basic complexity theory (such as P vs. NP), etc.
CS W3261 - All rights reserved.
CS W3261 COMPUTER SCIENCE THEORY-SPRING 2009