| Instructor Konrad Slind (MEB 3436) | Office Hours: After class, or by appointment |
| Class Time T/R, 14:00-15:20 | Class Room EMCB 122 |
| TA: Jianjun Duan | Office Hours: 13:00-14:00 the day before assignment due,
or by appointment |
Foundations of CS is a survey of topics in theoretical computer science. The course assumes a previous course in CS theory covering at least finite state automata, context-free grammars, and Turing machines. If you've taken the equivalent of cs3100 here at Utah, you should be fine. Taking such a course as a platform, we will study two central topics, namely Computability and Complexity, in some detail.
We will also survey a collection of other topics. Each of these other topics are important and deep, so our time constraints will force us to usually give only quick and superficial coverage. However, that seems to be necessary in order to give an overview. The following table gives more detail. Note that the survey topics are preliminary and will likely change.
| Computability | Complexity | Survey of Other Topics |
|---|---|---|
| Turing machines
Alternative models Decidability Undecidability Reductions Rice's theorem Relative computability Recursion theorem | Non-deterministic TMs
Complexity measures Time and space hierarchies P and NP NP-completeness Reductions Applications of intractability | Computability/Complexity for R
Program specification and verification Programming language semantics L-systems Infinite state automata Models for concurrency Termination |
The University Academic Calendar may be consulted for further information about drop dates and other important dates in the semester.
Problem Solving in Automata, Languages, and Complexity
by Ding-Zhu Du and Ker-I Ko (ISBN: 0-471-43960-6) as the course text. I chose
this text because the authors are quite precise and give a wealth of examples.
It is fairly expensive, so you may want to obtain a used copy online.
There are many other excellent books in this area. Here is a sampling (they should all be in the library, and some are even in the departmental library):
For background you might also refer to my class notes for cs3100.
In the survey portion of the course, we will make use of papers and other resources available through the library and the WWW.
| Assignments | 40% |
| Exams (2 midterms) | 40% |
| Presentation | 20% |
| Total | 100% |
Should you discover what you think is an error in grading, you have exactly one week after the grades are posted to request for regrading. You should first go and see the TA who graded your work and see if you can get it resolved. If you are still unsatisfied, then you should go and see Professor Slind.
Exam 2 covers complexity
Students are free to pick a topic, although they must clear it with me. It is strongly recommended that students arrange a meeting with me before they give their presentation. This meeting can be an informal run-through of the presentation and can also serve to clarify outstanding points.
Some possible papers to base a presentation on, along with with a collection of overview papers (some are quite good).
The (evolving) schedule of presentations.