In this course we investigate fundamental questions about what is or is not computable, and what resources are required to compute things. For example, what kinds of computations can be done with only a small finite memory? How much computing power does a stack buy us? What additional power does a RAM provide? Is it possible to determine whether a given program ever terminates? In our quest to answer these questions we'll study increasingly powerful abstract models of computation. We'll wrap up with a look at the famous open P vs. NP question.
| Course Information | Syllabus |
Return to the Mathematics and Computer
Science Home Page