Computer Science 663
Theory of Computation

Weizhen Mao
Department of Computer Science
College of William and Mary

General Information | Schedules | Announcements | Lectures | Assignments | Exams

General Information

Instructor: Weizhen Mao, McGl 114, 221-3472, wm@cs.

Lectures: MWF 10:00-10:50, Washington 306.

Office hours: MWF 11:00-12:00, McGl 114.

Required: M. Sipser, Introduction to the Theory of Computation, 3rd edition, Thomson, 2013. (Any earlier editions are also OK.)
Recommended: M. R. Garey and D. S. Johnson, Computers and Intractability: A guide to the theory of NP-completeness, Freeman, 1979.

Course description:
The following topics will be covered, either briefly or in detail, in the course: (1) Computability Theory: models of computation including Turing machines, proving undecidability; (2) Complexity Theory: complexity classes including P and NP, reductions and completeness, proving and solving NP-complete problems.

A problem set of about four problems will be assigned every week. There are about 12 such assignments, accounting for 60% of your total grade.

In working on homework assignments, you must think logically, but often creatively. The best way to do well in this course is to attack each problem set as soon as it is handed out. After you consider various approaches to a problem for a while, you might want to put it down and come back to it a day or two later. The right solution might just jump at you. Above all, do not expect to be able to start the night before an assignment is due!

Working on a problem set, you are allowed to discuss problems with your fellow students in the same class. I encourage you to form study groups and meet regularly to discuss challenging homework problems. An empty hand policy must be observed when you meet with your classmates: You are free to discuss any aspect of the homework, but you must leave the meeting without any record (physical or electronic means) of these discussions. This is because the actual writing of the detailed homework answers must be an individual activity, so that each student can receive an individual grade for each homework assignment. Also in your homework write-ups do not forget to list the names of your collaborators for each problem.

In addition to consulting your classmates, you are of course allowed, actually encouraged, to consult other reference material in addition to the textbook and class notes. However, if you used this reference to derive the answer to a problem, you should give it proper credit in the homework write-up. In no case you should copy verbatim from a reference without proper attribution, as this is considered plagiarism.

I require that all homework write-ups be typeset in LaTeX with figures generated in the PDF format inserted nicely into the text.

I do not accept late homework except for the following reasons: (1) personal illness; (2) family tragedy; and (3) travel due to interviews or conferences. Never use another course as an excuse for an extension of this course.

Dispute on graded homework should be done within one week after you get back the homework. No points will be adjusted after this one-week window.

Final exam:
The final exam will be in-class from 2:00 to 5:00 on Wednesday, May 13. The format is open-book and open-notes. It accounts for 40% of your total grade.

Grading policy:
Your total grade (in points) will be calculated by the following formula:
(Homework total / Max. homework total) * 60 + (Final exam total / Max, final exam total) * 40.

Final letter grades will be given based on the standard scale (i.e., 90 or above: A; 80-89: B; 70-79: C; 60-69: D; and below 60: F). However, I reserve the right to slightly lower these standards, which was often the case for this course in the past.

If you have a disability that may effect your participation in this course and wish to discuss academic accommodations, please contact me as soon as possible.