CSE 596, Fall 2009


Introduction to the Theory of Computation


Mondays, Wednesdays, and Fridays, 1 p.m. to 1:50 p.m., 322 Clemens


Instructor.  Alan L. Selman.  My office is located at 223 Bell Hall; telephone 645-3180, ext. 104; e-mail: selman@cse.buffalo.edu.  I will announce office hours as soon as I know my full schedule for the semester. 


Please be certain that you are registered for one of the recitation sections and attend regularly.


Text.  The required text is “Computability and Complexity Theory” by Steven Homer and Alan L. Selman, Springer, NY.  My Web page contains a link with much information about the text, and, therefore, about this course. 


Theory of Computation is concerned with the following kinds of questions: What is computation?  What features are necessary in general models of computation?  What are the limitations of computers?  What problems can computers not solve?


Complexity Theory is concerned with providing quantitative measures on the resources needed to solve computational problems.  Computational complexity addresses questions about which problems can be solved efficiently and which cannot be solved efficiently.


In this course we will study several of the more important and exciting intellectual achievements of the twentieth century, including the important theory of NP-completeness.


Prerequisites. Here is some personal advice on appropriate background for this course.  You must have taken a course in discrete mathematics (or in some manner know the material that such a course contains).  Most students have difficulty with this course unless they have taken an undergraduate course in theory of computing (such as CSE 396).  If you have not taken an undergraduate course in theory of computing, I think that it would be the rare student who will do well in CSE 596 without some other prior courses that develop analytical thinking.  For example, prior courses in mathematical logic, algebra (at the level of  groups, rings, and fields), or number theory, would all serve this purpose.  The Preface of the text contains a similar statement. 


You will need to write proofs of theorems in this course. 


 Study Habits. Study the text.  You need to study the text outside of class in order to reinforce your understanding of the material in class.  You might want to read material before coming to class and then again in greater detail after class.  Students frequently tell me that they “understand” the material even though they do not perform well on exams.  The problem here is that “understanding” is different from “learning.” The former is passive and means that the student follows what I say in class.  Learning is active.  I recommend the following technique.  Do not read as you do in other subjects.  Instead, as you read, write everything you read in your own hand.  This activity forces you to dwell on and digest the details.  If you get stuck on a detail and cannot figure it out, get help.  I will be glad to help as will the TA.


Homework.  You will hand in homework assignments. There are extensive homework assignments, because you learn the material primarily by working at it. 


Homework assignments must be legible–the TA cannot grade what they cannot read.  Use a sharp pencil.  Erase neatly.  Do not use a pen.  Staple the pages together.  Please remember to print your name on every page that you hand in.


Hand in homework to a TA by the following protocol.  Homework assigned during week n  (n  ≥ 1) is due Friday of week n  +1.  Do not attempt to hand in homework after this deadline.  (If there is no class on a Friday, then the homework is due the following Monday.)  The TAs will review homework solutions during recitation sections. 


What homework is due on Friday?  This is the question we receive most often.  Do not ask this question because it is your responsibility to know the answer.  I will assign homework exercises as I cover the material.  Your job is to write the assignments down, keep a record, and hand in the solutions the following week.


Academic Honesty.  All of the work that you hand in for this class must be the result of your own independent effort. All work that you claim to be yours must be yours. You must not accept solutions to homework problems, or assistance with homework, from other students or from any other sources (other than the TA and me).


You may talk about homework problems, but when you do, you may not write solutions together.  You must write your own solutions by yourself.  If you are uncertain about this policy, it is safest not to talk about homework solutions with other students.  Most importantly, please seek the help you need from the TA and/or from me. 


All instances of academic dishonesty will result in an F in this course.  There are no minor infractions. 


Once again, seek help only from the TA and from me. 


Course Grade.  The grade at the end of the course will be in accordance with the following table:


Homework assignments          40%

            Midterm                                  20%                 Monday, October 19

            Final Exam                              40%


Attendance.  I require regular attendance.  You must come to class, and you must come on time. The class does not start at 1:10 p.m.  It begins at 1:00 p.m.  Students who do not attend class regularly risk receiving a failing grade in the course.  You are not required to attend class on days listed in the university calendar as major religious holy days (although I assume that you practice at most one religion).


EaGL.  The second Eastern Great Lakes Theory of Computation Workshop will meet at the Center for Tomorrow, October 3 and 4.  All students are invited to participate.  Please refer to the URL 


for details.


End of Semester.  Do not plan to travel home at the end of the semester until final exam week is over.  I do not know when the final exam for this course will be scheduled, and I will not give an early final exam to any student. 


Incompletes (the grade of “I”) will not in general be given.  This is reserved for the rare circumstance that prevents a student from completing the work in the course.  University and Department policy dictates that an “I” can be given only if both of the following conditions are met:  (i) Only a small amount of work remains, such as the final exam and one or two assignments, and (ii) the student has a passing average in the work completed.  In such a circumstance, the student will be given instructions and a deadline for completing the work, which is usually no more than 30 days past the end of the semester.


Incompletes cannot be given as a shelter for poor grades. It is the student's responsibility to resign from the course in a timely manner if doing poorly.  The last day to resign with a grade of “R” is November 13, 2009.


Newsgroup. We will regularly post information about the course on the news group sunyab.cse.596.  Check this frequently.


Course Web page.   Look for solutions to the homework problems on the course Web page www.cse.buffalo.edu/courses/cse596/