This is the home page for CMPSCI 401. CMPSCI 401 is an advanced undergraduate 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.

**Instructor Contact Info:**
David Mix Barrington, 210 CMPSCI
building, 545-4329, office hours Monday 11:15-12, Tuesday 11-12,
Wednesday 2:30-3:30, Thursday 3-4.
I generally answer my email fairly
reliably.

**TA Contact Info:** No TA as such, grader is Conor Power,
ccpower@student.umass.edu.
Conor will have office hours in room 207 of the CMPSCI building on Fridays
from 10:30-11:30.

The course is primarily intended for undergraduates in computer science and related majors such as mathematics or computer engineering. 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.) I have
ordered the book at the Textbook Annex.

The course will meet for three lecture meetings a week, MWF 1:25-2:15 in Lederle Center (LGRC, the low-rise) room A203. There is no formal attendance requirement but there will be occasional graded in-class activities.

There is also an scheduled honors section for the course called CMPSCI H401, a one-credit seminar intended for undergraduates in Commonwealth College (but open to non-CC students as well if there is room). I will lead a seminar on some topics related to the main course, such its connections to formal logic and abstract algebra. This class will meet on Fridays 2:20-3:20 in LGRC A203, right after the regular class.

- Course Requirements and Grading
- Homework Assignment Directory (with #5)
- Exam Directory (with midterm #2 and solution)
- Questions and Answers on Homework (with some on #2)
- Syllabus and Schedule

**Announcements (15 May 2013):**

(15 May) I just posted the first midterm and its solution. Sorry for the long delay with those. I hope to post the final and its solution tonight or tomorrow.

(15 May) I have graded the finals and compiled final grades -- both were emailed to the individual students. The scale on the final was A = 105, C = 70. The individual scores for the 22 students who took it were 133, 107, 105, 97, 95, 93, 93, 91, 90, 87, 86, 85, 82, 81, 78, 77, 76, 71, 60, 59, 54, 30.

The overall grades for the 25 people who finished the course (three of whom did not take the final) were one A+ (officially recorded as A but recognized with a course citation), two other A's, five A-'s, four B+'s, four B's, three B-'s, no C+'s, three C's, no C-'s, no D+'s, two D's, and an F.

I enjoyed having you all in the course and look forward to working with some of you in the future. I hope you had a stimulating and valuable encounter with the theory of computation.

(10 Apr) I have posted the solution to the second midterm. I still owe you the first midterm and its solution.

Here are the aggregate scores for the second midterm: 130, 109, 106, 104, 104, 102, 98, 94, 92, 91, 91, 90, 89, 88, 82, 78, 77, 71, 67, 54, 52, 49, 44, 27. That is 7 A's of various sorts, 8 B's, 3 C's, 3 D's, and 2 F's. The median was an 89, with 38 points on the five T/F questions, 32 combined on Questions 6 and 7, and 19 on Question 8.

(3 Apr) I'm trying to catch up with posting the exams and solutions -- midterm #2 is now up. The exams I returned had letter grades, for a scale of A = 105, B = 87, C = 69, D = 51, F = 33. I will post the aggregate results once I have graded the last two. The HW#5 assignment is now posted, due Wed 17 April.

(8 Mar) I've just posted the HW#4 assignment, due on the Wednesday after break. Sorry for the delay in posting the first midterm and its solution -- I will try to get to this over the weekend.

(23 Feb) I have graded the midterms and will hand them back on Monday. I kept the scale at A = 115, B = 95, C = 75, D = 55, F = 35. The scores in order were 134, 133, 123, 121, 117, 116, 115, 111, 110, 109, 109, 108, 106, 102, 100, 100, 100, 97, 89, 82, 81, 80, 78, 76, 68, 38. That means 4 A+'s, 3 A's, 6 A-'s, 4 B+'s, 1 B, 1 B-, 3 C+'s, 2 C's, 1 C-, and one F. Thus the median was 104, on the A-/B+ line, which is appropriate for a class of students this string. I will post the exam and my solutions when I get to it but I need to grade a CMPSCI 250 exam first.

(21 Feb) I have posted the HW#3 assignment, due on 6 March. The HW#4 assignment will be due on the Wednesday after break, 27 March.

(18 Feb) I've posted the Q&A page for HW#2. Also, I've confirmed that both evening midterm exams will be in room 142 (the large classroom) in the CMPSCI building.

(10 Feb) I've updated the syllabus
for the changes necessitated by the snow day -- we are **no
longer**
skipping the Wednesday class on the day of the first midterm exam,
20 February, though don't expect exam questions on the new material
in that lecture.

(8 Feb) Thanks to the students who pointed out my HTML fail in posting HW#2, and thanks especially to the student who emailed me a cache copy of the HW#1 assignment that I overwrote. I think everything is straight now.

(8 Feb) There will be no class today because the University is
closing at noon for the snowstorm. There is no honors class either.
Conor *will* hold his office hours 10:30-11:30 in room 207 of
the
computer science building. He can discuss HW#1 in retrospect, or
the hw#2 assignment that I just posted, due
Tuesday 19 February. Because of the snow day, we *will* have
lecture
on Wednesday 20 February, the day of the exam. I will update the
syllabus over the weekend.

(4 Feb) Conor's office hours will be **Fridays** 10:30-11:30, not
on Wednesday as
I mistakenly said in class today.

(3 Feb) I have posted the first questions and answers on homework #1.

(28 Jan) And the first assignment is up, due a week from Wednesday in class.

(28 Jan) Sorry for the delay in updating this. The first homework assignment will be posted by tonight. The syllabus is live and I have posted my office hours.

(6 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 2012 version -- the web site for that is still up, here.

Last modified 15 May 2013