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 4-5, Tuesday 2-3, Thursday 10-12.
I generally answer my email fairly
reliably.

**TA Contact Info:** Moe Mattar,
mmattar at cs dot umass dot edu,
office hours Tuesday 11-1, Wednesday 4-6 in LGRT 220 (near the edlab).

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. 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 LGRC 201. (The room was recently changed from LGRC 205.) There is no formal attendance requirement but there may 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. H401 will meet in room 140 of the Computer Science building from 4-5 on Fridays, starting with 29 January.

- Course Requirements and Grading
- Homework Assignment Directory (with HW#6)
- Exam Directory (with final exam and solution)
- Questions and Answers on Homework (with some on HW#3)
- Syllabus (revised 24 Feb)

**Announcements (20 May 2010):**

- (20 May) The final exam and its solution are now posted. You may pick up graded exams in person in my office. Have a great summer!
- (18 May) The final exam is graded and I have filed grades for the course.
I emailed each of you with your exam and course grades -- here are the
aggregate statistics. The twenty exam scores were 116, 112, 98, 94, 90, 85, 83, 81, 80, 79, 78, 78, 74, 69, 68, 64, 61, 59, 54, and 46. I set the scale at
A = 102, B = 83, C = 65, D = 46, so that there were two A+'s, two A-'s, one
B+, four B's, four B-'s, two C+'s, one C, two C-'s, a D+, and a D. I will post
the exam and solution (I hope) by the end of tomorrow night.
Course grades were one A+, four A-, four B+, two B, six B-, one C, one C-, and one D+.

- (4 May) Moe says that he
*will*be at his regular Wednesday office hours tomorrow, and that he will hold his help session on Sunday 9 May from 2-5 p.m. in our classroom, LGRC A 201. We hope to have HW#6 solutions available for pickup in the main office tomorrow morning. Sorry for the delay in getting HW#5 back -- it should be available soon (from me or Moe directly). - (4 May) Note that practice final exams from Spring 2008 and Spring 2009 are available on the web site, along with 2008 solutions and 2009 solutions. This exam will be the same length and difficulty, and cover almost exactly the same material (check the syllabus for this term to see exactly what is fair game for this exam).
- (30 Apr) Moe will have a help session for the final exam
**a week from**this Sunday, which is 9 May 2010. Our last class this Monday will be a general review of the course and will have time for course evaluations. - (21 Apr) The last HW assignment is now posted, due at 4:00 p.m. on the last day of class. It has 30 points worth of extra credit.
- (21 Apr) Tomorrow is officially a Monday at UMass, so I should have office hours 4-5, but I won't because of the distinguished lecture. I'll try to be around 3:00-3:30 in my office.
- (4 Apr) The HW#5 assignment is now posted. It has 20 points worth of (not that hard) extra point problems, for those of you who may need to boost your homework scores. HW#6 will be due on the last day of class (Tuesday 4 May) and will also have extra credit problems.
- (2 Apr) The solutions to the second midterm are now complete.
- (1 Apr) (a legitmate message in spite of the date) I have graded the exams and will give them back in class tomorrow. (The exam is here and I will post solutions soon, maybe later tonight if I get them done.) The scores were disappointing relative to the first exam but I think it was a reasonable test of where you are. I kept the scale at the estimated A = 105, C = 65, and seven out of the twenty who took the exam were below C. (No one is out of range of getting C or better overall with a decent final exam.) The scores were 109, 108, 99, 93, 92, 92, 85, 82, 82, 80, 73, 66, 63, 60, 54, 49, 46, 41, 37, 37.
- (1 Apr) HW#5 will be due Friday 16 April. I haven't made it up yet (I'll post it over the weekend) but it will include Problems 6.22, 6.23, and 6.24 in Sipser. (These deal with yesterday's lecture, and my hint is that 6.24 is actually the one to do first, applying the Richard paradox.)
- (11 Mar) I've posted the HW#4 assignment, due the Friday after break. This is shorter (75 rather than 100 points) but will count equally with the other homeworks.
- (11 Mar) We passed out solutions to all of HW#3, except Problem C-1, in class yesterday. Moe says that many of your solutions to C-1 are difficult or impossible to interpret. Since it is your responsibility to convince him that your answer is correct (he is not a compiler), you may email him additional explanation of your Turing machines over the next few days.
- (11 Mar) Moe will be away for the week after break, so he won't have office hours that week. (Marco, the grader, might cover his hours -- stay tuned.) Moe will have another Sunday afternoon review session, for the second midterm, on 28 March in LGRT 220 from 2:00-6:00.
- (8 Mar) I've posted some Questions and Answers on HW#3, and I will post more if I get them tomorrow. HW#3 is due Wednesday in class.
- (3 Mar) I am moving my office hours next Monday (8 March) from 4-5 to 3-4 because of a faculty candidate talk.
- (1 Mar) Sorry for the late notice, but I will not be at my office hours today because I will be at Rod Grupen's distinguished faculty lecture at the Mullins Center.
- (26 Feb) I have posted HW#3, which is due a week from Wednesday, on 10 March 2010.
- (24 Feb) The exam and its solution are now posted.
- (24 Feb) I've graded the exams, in time to hand them back today, but
of course I can't because today's lecture is cancelled due to snow. (You all
know to look here to find out about
snow days, right?) The exam went well, so well that I adjusted the scale to
A = 115, B = 95, C = 75, D = 55. The scores were 123, 120, 114, 114, 113, 112,
110, 108, 105, 104, 103, 102, 99, 97, 95, 90, 89, 88, 76, 68, 61 for a mean of
99.5 -- that's nine A's of various sorts, nine B's of various sorts, a C, a
C-, and a D+. I'll post the exam and a solution sometime today. The two people
below C should talk to me, perhaps after class on Friday.
Friday we'll cover all of section 3.1 of Sipser. I also owe you a HW#3 assignment which I will post soon -- it will be due on Wednesday 10 March with HW#4 due on Friday 26 March, just before the second midterm.

- (20 Feb) As I've mentioned in lecture, you can get a very good idea what to expect on the midterm by looking at the first midterms (and the one practice midterm) from my prior offerings of this course in Spring 2009 and Spring 2008.
- (19 Feb) The HW#1 scores were top = 95, median = 76, mean = 73, bottom =
36. The scale will be A = 90, B = 75, C = 60, D = 45, F = 30. The scale on
HW#2 will likely be more generous because Problem 1.56 should have been extra
credit. (Naming the language A was easy, proving B
_{3}(A) to not be regular was very hard.) - (19 Feb) Sorry I haven't updated this lately. The midterm is Monday night, 7-9 p.m., in A201 LGRC (the regular classroom). The second midterm will be there as well, but the final exam will be in room 142 of the CMPSCI building, Tuesday 11 May at 1:30-3:30. This information is also now on the syllabus.
- (19 Feb) Some office hour changes for next week due to the test:
- Moe will lead a help session in A201 LGRC (the regular classroom) from
2-6 on
*Sunday*21 February. He will not have his regular office hours next week. - There is no class on Monday, but since the taxpayers are paying me I will come to the classroom at the regular lecture time and hold an extra office hour.
- I will hold my regular office hour 4-5 on Monday, as well as my regular office hours next week.

- Moe will lead a help session in A201 LGRC (the regular classroom) from
2-6 on
- (4 Feb) I have posted HW#2, due two weeks from tomorrow. Remember that the first midterm is two weeks from Monday.
- (29 Jan) The honors section will meet 4-5 p.m. on Fridays, starting today, in room 140 of the Computer Science building.
- (26 Jan) Mo and I have now chosen our office hours which are listed above. Mo will start his tomorrow 4-6, I will start mine today 2-3.
- (22 Jan) I have posted the HW#1 assignment, which is due on Friday 5 February, two weeks from today.
- (20 Jan) Mo is away this week. You can give him input as to when to schedule his office hours using this Doodle poll. I will schedule my own office hours soon, but will be around most of the day tomorrow and will have an open advising session in room 150/151 of the CMPSCI building this Friday 3:30-4:30.
- (16 Jan) The Course Requirements and Grading page is now posted.
- (8 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 2009 version -- the web site for that is still up, here.

Last modified 20 May 2010