CMPSCI 501: Theory of Computation
David Mix Barrington
Spring, 2016
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 was called CMPSCI
401 until Spring 2014. Beginning with that 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 for Spring 2016 Tuesday 3-4,
Wednesday 2:30-3:30, Thursday 1-2.
I generally answer my email fairly
reliably.
TA Contact Info: Mark McCartin-Lim,
markml@cs.umass.edu.
Office hours Friday 1-2.
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 University's Amazon textbook entity has copies of the book
available.
The course will meet for three lecture meetings a week, MWF 11:15-12:05
in Marston 211.
There is no formal attendance requirement but there will be
occasional graded in-class activities.
Announcements (25 July 2016):
- (25 Jul) I have finally posted the
final exam and its solution. The
finals were disappointing for the most part, and I changed the scale to
100 = A, 75 = B, 50 = C. (The top five scores were 123, 112, 107, 105,
and 94; after that were 8 in the 80's, 8 in the 70's, 5 in the 60's,
9 in the 50's, and 2 in the 40's, with the median at 74.
Overall for the course I gave four A+, six ordinary A, six A-, three
B+, six B, four B-, three C+, four C, and one C- grade. You may pick exams
up from me either during the summer or the coming fall.
Thanks for an enjoyable course!
- (20 Apr) I have made two corrections on the HW#6
assignment, which are relevant if you are using the second edition of
Sipser.
- (14 Apr) I have posted the final homework
assignment, due on the last day of classes, Wednesday 27 April.
You may hand it in on paper either in class or to the CICS main office
by 4:00 pm. This assignment is only 80 points, plus 10 extra credit,
but counts the same as the first five. Remember that the lowest of your
six homework grades is dropped.
- (6 Apr) I have posted the second
midterm and its its solution.
- (1 Apr) I have posted the penultimate homework
assignment which is due in class on 15 April. The last assignment will
be due at 4:00 p.m. on the last day of classes, Wed 27 April.
- (1 Apr) The scores on the second midterm were 130, 122, 120, 113, 110,
110, 109, 107, 107, 104, 103, 102, 100, 100, 95, 94, 92, 90, 87, 85, 82, 77,
74, 73, 70, 67, 66, 64, 63, 60, 54, 51, 51, 47, 44, 17.
- (27 Mar) The exams are graded and I will return them in class
tomorrow. The high was 130, the median around 90, and there were
only a few scores below 50. (I will give all the scores soon, after I have
graded the last exam.) I set the scale at A = 105, B = 82.5, C =
60, D = 37.5, F = 15. I will post the exam text and solution when
I get to it. You now have grades for 40% of the course with the two
midterms, which should give you a good indication of how you are doing.
- (6 Mar) I have posted the fourth homework
assignment, due in class the Wednesday after break. The second
midterm
is the Thursday after break, in Morrill II room 222.
- (26 Feb) The first midterm and its
solutions are now posted.
- (23 Feb) The first midterm is graded and returned. The scale
was A = 115, B = 95, C = 75. The high grade was 125, the median
105, and the low 45. The 36 scores in order were 125, 121, 121,
120, 119, 118, 117, 117, 114, 113, 113, 112, 111, 108, 106, 106,
105, 105, 103, 101, 100, 100, 100, 99, 98, 93, 92, 92, 91, 91, 90,
88, 86, 83, 78, 45. I will post the exam text and solutions as soon
as I can get to it.
- (23 Feb) The third homework assignment
is posted.
- (2 Feb) The second homework assignment
is posted.
- (27 Jan) The first question and answer on HW#1
have been posted.
- (27 Jan) Office hour times for Mark and for me are now included above.
- (21 Jan) The first homework assignment
is up, due a week from Wednesday. The problem numbers are from the
third
edition -- I will check second edition numbers tomorrow.
- (17 Jan) The syllabus is up.
- (7 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 and tomorrow
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 2015 version -- the web site for that is still
up, here.
Last modified 25 July 2016