CMPSCI 250: Introduction to Computation
David Mix Barrington
This is the home page for CMPSCI 250.
CMPSCI 250 is the undergraduate core course in
discrete mathematics and will deal with logic, elementary number theory,
proof by induction, recursion on trees, search algorithms,
finite state machines, and a bit of computability.
Instructor Contact Info:
David Mix Barrington, 210 CMPSCI
building, 545-4329, office hours Tuesday 11-12, Wednesday 2:30-3:30,
Thursday 3-4, Friday 3:30-4:30.
I generally answer my email fairly
TA Contact Info: Cibele Friere
(email@example.com), office hours Thursday noon-1,
(firstname.lastname@example.org), office hours
Tuesday 2-3, and
(email@example.com), office hours Monday 2-3.
TA office hours are in LGRT 220.
The course is primarily intended for undergraduates in computer science
and related majors such as mathematics or computer engineering. CMPSCI 187
(programming with data structures) and MATH 132 (Calculus II) are corequisites
and in fact most students in the course have already taken both.
The course meets for three lecture meetings a week, Monday, Wednesday,
and Friday, at 11:15-12:05, in Hasbrouck room 134.
There is one discussion meeting per week for each of the two sections, with
Section D01 meeting Friday 12:20-1:10 p.m. and Section D02 meeting Friday
2:30-3:20 p.m., both in room 142 of the Computer Science building.
Most discussions will have a written assignment which you
will carry out in groups, chosen randomly at the beginning of each discussion.
Discussion attendance is required,
so that missing a discussion
will incur a grade penalty. The TA's and I will cover the sections in various
so they should be as interchangeable as we can make them. (D02 is currently
more crowded -- anyone who can switch to D01 is encouraged to do so.)
The textbook is several chapters of my draft version of
Discrete Mathematics: A Foundation for Computer Science. Photocopies
of this will be available before the start of term,
for $53 (two volumes), at
Collective Copies in downtown
Amherst. Ask for course packet #21.
(Dave gets none of this money -- it is the
copying cost only.) The Spring 2012 version will have only a few minor edits
from the Spring 2011 version, mostly correcting the errors noted on the Spring
2011 web site. The Fall 2010 version has a few more changes including four
missing pages (which I can email you on request).
Announcements (4 June 2012):
- (4 Jun) Sorry for the delay -- I have finally posted the
final exam text and solution. Thanks again for an
- (12 May) I have finally completed grading the final exams
and have posted grades to SPIRE. If you got a grade below C,
I have emailed you at the address SPIRE has for you -- otherwise you
got a C or better.
The final exam grades (including the extra points for finding
during the semsester) ranged from two 124's at the top to a 39, two
36's, and a 12 at the bottom. The median was an 80. I set the
at A = 105, B = 86, C = 68, D = 49, F = 30. In all 21 exams were
the C range.
Overall grades for the 84 people who took the final were ten A's
(four of them unofficial A+'s, for which I will file course
citations with the CMPSCI main office), 12 A-'s, 9 B+'s, 13 B's, 14
B-'s, 11 C+'s, 4 C's, 8 C-'s, 1 D, and 2 F's.
I have to be out of town through Wednesday, so I will probably
post the exam and solutions on Thursday. Thank you all for a very
enjoyable and mostly successful course.
- (30 Apr) Office hours for this week are given on my main page. I have graded HW#7 and HW#8 and can give
them back during those office hours. I plan to schedule a review
for the final, sometime on Monday 7 May.
- (23 Apr) I've edited the notes from this
morning to fix the example on the next to last slide. Also, please note
an error in the text that is relevant if you attempt the second writing
assignment for Excursion 14.9. On page 14-53, the regular expression on the
last line should be "[λ + a + ba + aba]b*", rather than what it
says now with the third term "ab".
- (22 Apr) I will be away Thursday afternoon 26 April -- I
will hold office hours 10:30-11:30 instead of 3:00-4:00.
- (20 Apr) I've posted the last HW assignment.
due a week from Tuesday. The first few problems are on material we've seen
already. There are 20 points of extra credit if you're ambitious.
- (14 Apr) I've posted the HW#8
due on Friday. There are 15 points of extra credit, not as
as the chess problem on HW#7, which gives you a chance to make up
earlier low HW grades if you can.
- (11 Apr) I have posted the second
midterm and its solution.
- (11 Apr) I must cancel my office hours tomorrow, sorry.
- (9 Apr) I have now graded the exams and will give them back in lecture today.
Top was 106 (two of them along with two 105's) and there were four below 40. The
median was 78.
The scale is A = 93, C = 65 -- here are the ranges for individual grades and the number
getting each grade:
- A+ (unofficial) 96-106 (12)
- A 91-95 (8)
- A- 86-90 (6)
- B+ 82-85 (6)
- B 77-81 (15)
- B- 72-76 (9)
- C+ 68-71 (5)
- C 63-67 (9)
- C- 58-62 (8)
- D+ 54-57 (3)
- D 49-53 (2)
- F 0-46 (4)
- (3 Apr) The exam seemed to go smoothly -- I will shoot for getting
the graded papers back to you by Monday. I also owe you a HW#7 assignment soon.
The lecture notes for tomorrow are up. We are
starting on the final third of the course, on regular languages and finite-state
- (1 Apr) The notes for tomorrow's
lecture are up. As I've said in lecture, Tuesday night's exam
(in Morrill 2 room 131 from 7-9 p.m.) will be similar in material
format to the Spring 2011 and Fall 2010 second midterms. There will
be very little or nothing on adversary search, but the rest of
9 (the sections on the syllabus) are fair game. Good things to
study are the solutions to the prior exams, the homeworks (HW#6
solutions were emailed to you earlier today) and the discussions.
There won't be questions specifically aimed at material from the
third of the course, but the general proof techniques used there are
important, particularly the Rule of Generalization.
- (17 Mar) The HW#6 assignment is up,
due the Friday after break. The second midterm is the evening of
the second Tuesday after break, which is 3 April.
- (17 Mar) The scale for HW#1 is indeed A = 54, C = 36, and
the scales for HW#2 and HW#3 are indeed A = 48, C = 30. Graded
HW#4's will be returned the Monday after break and I hope that
HW#5's will follow soon. I also owe you solutions for HW#5 which I
I will have soon.
Some more stats on the first midterm: The high was 99, the
median 61, and the low 25. There were 4 A+'s (88-99), 3 A's
7 A-'s (78-82), 8 B+'s (73-77), 10 B's (68-72), 9 B-'s (63-67),
14 C+'s (58-62), 12 C's (53-57), 7 C-'s (48-52), 7 D+'s (43-47),
6 D's (38-42), and 5 F's (25-37).
- (10 Mar) The HW#5 assignment is up.
- (9 Mar) I've just posted the next
lecture notes -- sorry I've been slow with these. I owe you the
scale for the first three homeworks, and some stats on the midterm
-- I'll probably get to these tonight (Friday night).
The HW#1 scale will probably
be A = 54, C = 36, the HW#2 scale will probably be A = 48, C = 30,
and the HW#3 scale might be either of those or somewhere in between.
I should also have the HW#5 assignment up by Friday night.
- (7 Mar) I've posted solutions for
the first midterm. The scale was A = 85, B = 70, C = 55, D =
40. The high was 99 and the low was 26 -- the mean was about 60. I
will have more detailed stats here tomorrow. Some of you may want
to consider a late drop of the course before the March 13 deadline
(next Tuesday) -- I can talk to anyone individually about that in
office hours or by appointment.
- (6 Mar) I've just put up the notes
for tomorrow's lecture. I will have graded midterms and HW#3's
available for the lecture -- I will try to get there before class to
distribute as many as I can and then do the rest afterward. (Now to
finish the last 28 midterms...) The current target for posting
solutions is tomorrow night.
- (4 Mar) I've posted the midterm
questions and tomorrow's lecture.
I've done about half the grading -- the exams are disappointing but
I think I can come up with a reasonable scale. I am still shooting
for returning graded exams on Wednesday -- I will also post
solutions when I get a chance.
- (2 Mar) The HW#4 assignment is up.
it has been up since early this afternoon -- thanks to the student
who noticed that I hadn't updated this page.
- (26 Feb) I have emailed out solutions to HW#3, and I have
just posted lecture notes for tomorrow.
lecture is fair game for Tuesday night's exam.
- (24 Feb) Tomorrow's lecture notes are
finally up -- I will try to do better about getting these ready in advance.
- (23 Feb) Remember that there is no discussion class tomorrow. I have
had to schedule another meeting during my regular office hour tomorrow (3:30-4:30), so I will have office hours 2:30-3:30 instead.
- (23 Feb) The exam next Tuesday evening is in Morrill 2, room 131, from 7-9 p.m. -- if you have a time conflict I should have heard from you already, but we may still be able to work something out.
- (21 Feb) Tomorrow's slides are
- (21 Feb) I have to go give the CMPSCI 401 midterm now, and the lecture
notes for tomorrow are not quite finished. I will post them later tonight.
- (15 Feb) The HW#3 assignment is now
up. I will email out HW#2 solutions when I get them, probably
- (15 Feb) The HW#3 assignment, due a week
from Friday, will be posted sometime tonight.
- (15 Feb) As I mentioned is class today, prime numbers and factoring
are relevant to the practice of computing, as reported in the
New York Times.
- (13 Feb) Graded HW#1's were returned in class -- I will bring the
remaining papers in on Wednesday. If you have an issue with the grading, the
first step is to email Cibele, the lead TA, or come to her office hours. She
can track down who graded the problem and whether a change is warranted. We
can't be all that flexible in changing grades because we need to be consistent
across everyone, but we can correct clear errors.
- (13 Feb) If you are using a green textbook from Fall 2010, I hope you
will soon notice that it is missing section 2.11, the material for next
Wednesday's lecture. If you email me, I will email you back a PDF of the
- (9 Feb) Arti and Samamon have changed their office hours for the
rest of the term -- see above.
- (5 Feb) Well, that was a disappointing result, but congrats
to the Giants. It's not often in football that your best strategy
is to allow your opponent to score a touchdown...
- (4 Feb) A student has found a mistake in HW#2,
I have now corrected. If this had happened nearer the deadline, I
would have emailed everyone, but earlier in the process I will count
on your looking at the assignment web page.
- (31 Jan) I've posted the first questions
and answers on HW#1. I'll add to this page as I get more
Note that I won't always announce here when I've started a page, and
I sometimes forget to update the text on the links above. But my
conventions for pages on this site are pretty obvious, so you can
look to see whether a given page exists. Extra exam points are
sometimes available for reporting broken links or other errors.
- (28 Jan) I've started the errata
page for the yellow textbook. Remember that if you have a blue
or green textbook, you will need to look at the prior errata pages.
- (27 Jan) I cannot make my office hours today because of a
suddenly-called faculty meeting. I will be reading email through the
- (24 Jan) I have posted the first
homework assignment, due on paper in class a week from Friday.
- (23 Jan) The book I mentioned in class, which I think every computer
science or math major should read, is Godel, Escher, Bach by
. A student points out that some people on
reddit have organized a read through of this book, and they are only a week
into it and still on the first chapter. (Link to reddit fixed later
on 23 Jan.)
- (23 Jan) I've corrected an error on the
syllabus, so that it now gives
the correct classroom for lectures. The good news is that the student who
reported this error to me gets an extra point on the final exam. The bad news
is that the error is reproduced in all the textbooks. (You might want to
correct yours in pencil.)
- (23 Jan) The textbook is available at Collective Copies. It is
course packet #21 and costs $53 for the two volumes.
- (18 Jan) I've given the originals for the textbook course
to Collective Copies. They will likely have packets available by
(possibly sooner). I will put ordering and price information here
they are ready.
- (18 Jan) The slides for the first
lecture are now up.
- (14 Jan) I've posted a list of learning
goals for the course, originally compiled as a study guide for the
Fall 2010 final.
- (14 Jan) This course is open on SPIRE, but restricted there
to certain majors (CMPSCI, Math, and ECE, for which it can serve as
a required course) and to those with both CMPSCI 187 (or ECE
242) and MATH 132. Students who have taken one of those two courses
are enrolled in the other may be eligible to take CMPSCI 250
this term -- email me if
- (11 Jan) Welcome to the preliminary version of the web site for CMPSCI
250 for Spring 2012. I am setting up the bare bones of the web site today.
This section of the CMPSCI 250 main page will be essentially a blog of course
In most respects the course will run like the Spring
2011 version of CMPSCI 250.
Last modified 4 June 2012