CMPSCI 401: Theory of Computation
David Mix Barrington
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
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.
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
- (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
- (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
- (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
- (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
- (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 B3(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
- (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
- 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
- I will hold my regular office hour 4-5 on Monday, as well as my regular
office hours next week.
- (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
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
Last modified 20 May 2010