CSE 396

Introduction to the Theory of Computation

 

Spring Semester 2009

 

Professor Selman; Office: Bell 223; selman@cse.buffalo.edu; 645-3180, ext. 104

 

T R 12:30 PM—1:50 PM, 214 Norton

 

Office hours:  I will announce office hours as soon as I know my complete schedule.

 

TAs will assist and lead the recitation sections.

 

Recitation sections:  You must be enrolled in and attend one of the recitation sections.  Recitations sections will meet weekly beginning Thursday, January 22, the second week of classes.  (Classes do not meet Jan. 19.)

 

Prerequisite:  You must have a C- or higher in CSE 250.  This is absolutely critical.  You must not take this course if you have not satisfied the prerequisites. 

 

Textbook:  Michael Sipser, Introduction to the Theory of Computation, Second Edition, 2006

 

Grades will be based on two exams during the semester, quizzes, and a cumulative final exam.  There are no Òextra creditÓ assignments.

 

Exam 1 20%, Exam 2 20%, Quizzes 20%, Final Exam 40%.

 

Exam 1 Tuesday, February 17

 

Exam 2 Tuesday, March 31

 

Final Exam:  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.  

 

Quizzes

 

#1        Thursday, January 22

#6        Thursday, March 19

#2        Thursday, January 29

#7        Thursday, April 9

#3        Thursday, February 5

#8        Thursday, April 16

#4        Thursday, February 26

 

#5        Thursday, March 5

 

 

 

 

There are a total of eight quizzes.  Each quiz takes 10 to 20 minutes.  I will drop the two lowest grades and count the remaining six. 

 

Quizzes are not given automatically at either the beginning or at the end of a class period.  It is your responsibility to be in class when a quiz is given.  If you miss a quiz, that quiz becomes one of your two lowest quizzes (so no penalty ensues).  However, if you should miss three or more quizzes, these will count as zero. No make-up quizzes will be given. Do not request a make-up if you miss a quiz.

 

To repeat:  I will drop the two lowest grades and only the two lowest grades.  There are no reasons for dropping more than the two lowest grades. 

 

All exams and quizzes are closed book, closed notes, and open mind!

 

Attendance:  Regular attendance is required.  You must be on time.  It is not acceptable to come to class twenty minutes late.  You must attend the recitation sections also.  (Please stay home if you have the flu or are otherwise sick.)  You might want to know that there is a strong correlation between regular attendance and performance on the final exam. 

 

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).

 

Homework:  You learn this subject by studying your class notes, reading the textbook, and doing homework.  Success on the quizzes and exams depends largely on skill with homework.  TAs will be available to help you with homework problems and they will review homework solutions in your recitation sections.  Also, they will attempt to correct your homework solutions. 

 

I will collect homework solutions every Thursday in class, and plan to return solutions to you the following week.  Please note that this activity is to help you learn the material only, and homework solutions will not count toward your final grade.  However, this activity is important.  Students who do not regularly hand in homework assignments and attend recitations do not perform well in this course.  I urge you to do the homework assignments.  You cannot learn the material by attending class only.

 

Homework assignments are due in class every Thursday.  Hand in the assignments that are given the week before.  We will not accept late assignments.  Please remember to print your name on every page that you hand in.  Also, please print neatly—the TAs cannot correct what they cannot read—and get into the habit of using a sharp pencil for your work.  A ballpoint pen is not appropriate for mathematical or technical work. 

 

What homework is due on Thursday?  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.  You will write the assignments down, keep a record, and hand in the solutions the following week.

 

It is not always possible for the TAs to correct your written assignments because of their other course responsibilities, and because they are students also.  However, they will make every effort to do so and they will make sure that you have access to the correct solutions.

 

Academic Honesty:  The Department's policy statement is available at

http://www.cse.buffalo.edu/academics-academic_integrity.shtml.

 

With regard to homework exercises, let me note again that they do not count toward your grade, with the exception that you must work at them and hand in your best effort.  All of the quizzes and exams that you hand in must be the result of your own independent effort.  Work that you claim to be yours must be yours.  If one student permits another student to copy, then both are equally guilty.  All instances of academic dishonesty will result in an F in this course.  There are no minor infractions.  Unfortunately, students have failed this course because of copying from another student while taking a quiz or exam, or by changing an answer on a returned quiz or exam, and then asking for additional points. 

 

Time Management:  A typical course is designed to require three hours outside of class for each hour spent in class.  Thus, a four-hour class is supposed to fill up 16 hours of your week.  If, for example, you are carrying a 16-credit course load, then your total time obligation is 64 hours each week.  If you are taking courses that require you to write large programs, then, as you probably already know, these may require even more time.  If your academic schedule requires 64 hours each week, you need to average nine hours each day.  That does not leave much time for anything else.  Therefore, if, for example, for economic reasons, you need to work during the academic semester, seriously consider lowering your academic workload accordingly.  Otherwise, something will suffer, and the something that suffers usually is academic performance. 

 

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 is Friday, March 27.

 

Course Topics:  In this course we will study several of the more important and exciting intellectual achievements of the twentieth century:

 

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

 

Automata Theory is concerned with simple mathematical models of computation. We are concerned with studying the relative power of different models, and with robustness of different models.  Automata theory is used in compiler design, operating systems, AI, and circuit design.  In courses in those subjects you may concentrate on "How to do something" or on "how to design something."  Here we are concerned with what can and cannot be done with different models.  

 

Formal Language Theory is concerned with the formal manipulation of symbols.  All the rules for languages are explicitly stated in terms of what strings belong to a language.  No semantic meaning is attached.  We are concerned with syntax.  This is very different from grammatical studies of natural languages—but forms a basis for some studies in that direction also.  A crucial question in formal language theory is what kind of computational effort is required to recognize what kinds of formal languages.  Thus the two subjects, Automata Theory and Formal Language Theory, are inextricably bound. 

 

Complexity Theory is concerned with providing quantitative measures on the resources needed to solve computational problems.  This is the branch of Theory of Computation that addresses the questions about which problems can be efficiently solved and which cannot be efficiently solved.  In particular, we will learn about the complexity classes P and NP and about NP-complete problems.

 

Newsgroup  You need to have an account on a UNIX machine.  Get into the practice of reading the newsgroup sunyab.cse.396.  We will keep you informed of course business this way. 

 

Webpage   The address for the course page is

http://www-local.cse.buffalo.edu/courseweb/cse396/