Professor: | Andrea Danyluk |
Office: | TCL 308, x2178 |
Office Hours: | Mon 2:00-3:00, Tues 10:30-12:00 and 1:00-2:00 |
Thurs 9:30-11:00, and by appointment | |
Class meetings: | MWF 12:00-12:50, TCL 206 |
TA: | Chris Douglas |
TA Hours: | Su, T, Th 9:00-10:30 |
Text: | Elements of the Theory of Computation (2nd edition), by H. Lewis and C. Papadimitriou, Prentice Hall, 1998. |
Note: you can find a list of typos in the text at: http://www.cs.berkeley.edu/~christos/typos.html. |
The phrase theory of computation refers to the study of the mathematical foundations of computation: what is an appropriate mathematical model of a computer, what types of computations are possible in the model, what types are not, the inherent complexity of certain compuations, and so forth. Perhaps surprisingly, many concepts from the theory of computation are of fundamental importance in other areas of computer science, such as computational linguistics, compiler design, hardware design, object-oriented design, and even the syntax of the UNIX grep and awk commands.
In this course we will investigate various models of computation. Along the way, the intimate connection between computation and language recognition will be developed. We will study several classes of abstract machines including finite automata, push-down automata and Turing machines, along with several classes of languages such as regular and context-free languages. In addition we will examine some of those problems, such as the Halting Problem, which are not amenable to computer solution. Time permitting, some further topics will be explored.
There will be three exams:
Exam I: | Oct. 18, short exam, in class. [Exam I solutions] |
Exam II: | 24-hour take-home exam; you may pick it up any time during the period Nov. 15 - Nov. 18; all exams must be returned by 5 pm on Nov. 18. Sample Exam |
Final exam: | 24-hour take-home exam. Sample Exam |
Students with disabilities who may need disability-related classroom or lab accommodations for this course are encouraged to set up an appointment to meet with me as soon as possible and to contact the Dean's Office at x4262 to better insure that accommodations are provided in a timely manner.
The best way to learn the material in this course is by doing; consequently, most of the work for this course will consist of working through the problems assigned for homework. Problems will be assigned and collected daily. You should do all of the problems, but only a few will be designated as problems to hand in.
Homework must be turned in at the beginning of class on the day it is due; late homework will not be accepted. However, the few lowest homework grades of each student will be dropped when computing the final grade.
Exams: You may refer to your text and your class notes while taking take-home exams, and you may talk to me. No other sources of information are permitted. The in-class exam is a closed book and closed notes exam.
Homework: Collaboration on problems is permitted; copying of solutions is not. The work you hand in should be yours. While some students find studying together to be quite beneficial and enjoyable, I strongly encourage you to attempt to solve homework problems on your own first, as this is the only way to ensure that you have mastered the material. Students who rely too heavily on collaboration on homework often find the exams to be much more difficult than expected.