This is the home page for CMPSCI 501. CMPSCI 501 is an advanced undergraduate/master's-level core course in the theory of computation and will deal with formal language theory (finite automata, regular languages, grammars, and pushdown automata), computability theory, and complexity theory.

This is essentially the same course that has been called CMPSCI 401 for many years. Beginning with this semester it counts as a theory core course for M.S. students in computer science, as well as an upper-level undergraduate elective and a required course in the BS-CMPSCI Theory of Computation track. This course fulfills any requirements previously satisfied by CMPSCI 401.

**Instructor Contact Info:**
David Mix Barrington, 210 CMPSCI
building, 545-4329, office hours Monday 10-11, Tuesday 11-12, Thursday 2-4.

I generally answer my email fairly reliably.

**TA Contact Info:** Mark McCartin-Lim,
markml@cs.umass.edu.
Office hours Wednesday 5-6 in room 243, Computer Science Building.

The course is primarily intended for undergraduates in computer science and related majors such as mathematics or computer engineering, for master's students in computer science, and for graduate students in other fields with the appropriate background and interest. CMPSCI 311 (theory of algorithms) is the primary prerequisite, though this may be negotiable for students with a strong mathematics background. The mathematical techniques taught in CMPSCI 250 (or similar courses like MATH 300 or MATH 455) will be used heavily. No programming will be assigned, but familiarity with programming at the level of at least CMPSCI 187 (data structures) will sometimes be assumed. This is probably the mathematically most difficult course in the CMPSCI undergraduate curriculum. It is a semi-elective course -- it fills requirements for any CMPSCI major and many MATH majors, but should be taken only by students whose mathematical ability and/or motivation is average or above relative to CMPSCI majors.

The textbook for the course is Introduction to the Theory of Computation by Michael Sipser, *second
edition*. This is a very good book: I will be following it very closely
for my lectures, and it is a very good long-term reference, but it is rather
expensive. The first edition is available more cheaply, and the main text of
the two is virtually identical, but the second edition will be the source of
the problems I assign and it has a large number of solved exercises.
(There is also a new third edition -- you may get that instead of the
second, but it only differs primarily in having a new section on CFL's
that I won't be using.) The book information has been posted on
SPIRE, and thus the Textbook Annex probably has copies of the book
available.

The course will meet for three lecture meetings a week, MWF 11:15-12:05 in Goessmann room 51. There is no formal attendance requirement but there will be occasional graded in-class activities.

- Course Requirements and Grading
- Homework Assignment Directory (with #6)
- Exam Directory (with final exam and solution)
- Questions and Answers on Homework (nothing yet)
- Syllabus and Schedule

**Announcements (18 May 2014):**

- (18 May) The text of the final
exam and the solutions are
now up. The scale was A = 105, C = 60, and individual grades have
been emailed to all students.
The scores of the 26 people who took the final were 111, 108, 105, 105, 99, 97, 96, 95, 90, 90, 85, 84, 83, 82, 76, 74, 73, 71, 71, 70, 66, 60, 55, 54, 52, 44. Only six of you benefited by counting the final as 50%.

The overall course grades for those 26 people were two A+, three A, four A-, five B+, five B, three B-, two C+, no C, one C-, and one D+. Of these, the eight graduate students got one A+, two A-, three B+, one B, and one C+. The undergraduate who got A+ will get a course citation, and I will document the graduate student's A+ to anyone on request.

I was a bit disappointed by the performance on the final -- as in my other course, people slacked off at the end and did not master the material of the last week or two. I'm considering how I might change the incentives to combat this the next time I teach the course.

But overall I am very pleased with how hard you worked and what you learned, and you were all a pleasure to have in class.

- The last homework assignment is now up. It is due on paper Wednesday 30 April 2014, either in class or to the main office by 4:00 p.m. -- I will have paper solutions available for pickup in the main office after it is due.
- (10 Apr) Solutions to the second midterm are now up.
- (9 Apr) The text of the second midterm is up, solutions will follow soon.
- (1 Apr) I have just posted the HW#5 assignment. There may be some delay before I post the second midterm and its solution. I can give you the scores on the second midterm, which has been graded and returned: 104, 100, 97, 95, 91, 90, 88, 86, 84, 74, 74, 72, 71, 71, 67, 66, 66, 65, 63, 62, 62, 61, 59, 59, 58, 58, 49. I put the A at 96, B at 76, and C at 56. The median was 71, a B-.
- (10 Mar) The HW#4 assignment is now posted, due the Wednesday after break. Make sure you are aware of the different numbers of questions in Chapter 4 between the second and third editions of Sipser.
- (24 Feb) The HW#3 assignment is posted. I will hand back graded HW#1 papers on Wednesday. The scale for HW#1 was A = 90, C = 60.
- (23 Feb) The 27 scores on the midterm were 132*, 130, 129, 125, 124, 123, 122*, 119, 118, 117, 114*, 111. 109*, 109*, 102, 101, 97*, 92*, 85, 82, 77, 74*, 69, 55*, 50. (The stars indicate scores obtained by graduate students.) The median was 109, an A-. Only two exams were below C, and those two people should definitely talk to me about whether to remain in the course. There were five others in the B-, C+, or C range, which is below the minimum acceptable level for a grad student or an honors undergraduate.) I will announce the aggregate scores and set the scale for HW#1 soon.
- (23 Feb) The exam and its solutions are now posted. I have graded the exams, and the scale is A = 115 and C = 70. I will post the aggregate scores later today, and return graded papers on Monday. I'll try to post the next homework assignment later today as well.
- (10 Feb) The syllabus has been updated with the exam locations and the changes due to the snow day last week. I have also corrected the email address for Mark, the TA. The HW#2 assignment is now up -- it is due in class on Wed 19 Feb, the day of the first midterm, and it is shorter than HW#1 due to the limited time.
- (27 Jan) I have posted the first homework assignment, due a week from Friday.
- (10 Jan) This area of the main course page will serve as a blog and will be my primary medium to communicate with the students (though I will email everyone for urgent matters). Please check here frequently. Today I'm setting up some of the basic parts of the course web page. In most respects the course will operate very much like the Spring 2013 version -- the web site for that is still up, here.

Last modified 18 May 2014