This is the home page for CMPSCI 240. CMPSCI 240 is the first official offering of a new undergraduate core course for the new computer science curriculum. It will deal with counting, probability, probabilistic reasoning, and Markov processes. For students in the current computer science major, CMPSCI 240 may be used to fill the "math elective" requirement.

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

**TA Contact Info:** Lisa Friedland, lfriedl at cs dot umass dot edu,
office hours Wednesday 1:15-2:15 pm in LGRT 220.

The course is primarily intended for undergraduates in computer science and related majors such as mathematics or computer engineering. The main prerequisites are CMPSCI 187 (data structures) and MATH 132 (the second semester of calculus).

There is no professionally published textbook for the course. We will use draft versions of my discrete math textbook, which I will make available at Collective copies at cost. I'll announce here when the text booklets are available -- since I am still writing, it will be right before term starts.

The course is scheduled three lecture meetings a week, MWF 11:15-12:05, and one discussion meeting per week, Fridays 10:10-11:00 in room 1334 of the Lederle tower (LGRT). Note: This is due to a ROOM CHANGE on 21 January 2009. In fact on Fridays we will generally have lecture before discussion, and on three Fridays we will use both periods for a midterm exam. Some of the discussion periods have in-class writing assignments, for which you will not get credit if you are absent, but otherwise attendance is not part of the grade.

There will be three midterms, a final exam, four programming assignments, four written non-programming homework assignments, and seven in-class writing assignments -- see the requirements page.

- Course Requirements and Grading
- Homework Assignment Directory (with HW#4)
- Programming Project Directory (with #4)
- Exam Directory (with final exam and solution)
- Questions and Answers on Homework (with some on HW#1)
- Corrections for the Textbook
- Syllabus

**Announcements (25 May 2009):**

- (25 May) I just realized I forgot to put a summary of the exam and course grades here, though you have each been emailed your individual exam and course grades. The exam scale was A = 105, C = 70 as advertised. The nine exam grades were 100, 96, 93, 91, 84, 78, 71, 57, and 52. The nine final grades were A-, B+, B+, B+, B, B, B-, C, and C-. I really enjoyed having you all in the course -- perhaps I'll see some of you in CMPSCI 401 in Spring 2010!
- (20 May) I've posted solutions for the final exam. I will email out grades sometime tomorrow.
- (20 May) I've just posted the text of the final exam. Solutions will be posted tonight, and I will email out individual grades for the exam and the course tonight or tomorrow.
- (6 May) I've posted the Programming Project #4 assignment, which contains a hyperlink that you can't click on from the hardcopy you got last Friday.
- (23 Apr) I have posted solutions to the third midterm.
- (22 Apr) And now the third midterm is posted -- I should have the solutions up sometime tomorrow.
- (22 Apr) The last homework assignment, due on Wednesday 6 May, is now posted. The last programming project will be due at the very end of classes -- we will have the assignment ready early next week and discuss it a week from Friday. I also owe you the real third midterm and its solution. Those midterms are graded and everyone has theirs back. As I said in class today, the scale was A = 90, B = 76, C = 62, and D = 48, and the nine scores in order were 92, 88, 86, 84, 79, 77, 70, 61, and 48.
- (13 Apr) The practice exam for the third midterm is now ready. I'll post the solution Tuesday night.
- (12 Apr) I've gotten behind on posting errata in the textbook packet --
I will get to this as soon as I can (after the practice exam) but Lisa pointed
out a couple that affect the current homework:
- At the beginning of section 11.3.2 on page 11-18, two of the probabilities are reversed. If the patient has Disease B, he should have a 10% chance of dying if treated for B, and 20% chance of dying if treated for A.
- In Exercise 11.2.3 part (a), remember that the "payoff on a dollar bet"
does
*not*include the return of the original dollar. So on a 3-1 bet, you would get $4 total in return for your winning $1 ticket, but the "payoff" is still only $3.

- (3 Apr) We've now posted the third programming assignment, as discussed in class today. The basic elements of the project are fairly easy, and there are some more open-ended parts that we hope you enjoy playing with.
- (2 Apr) I have posted the HW#3 assignment, which is due two weeks from yesterday, 15 April. The programming assignment will be due at the same time, so plan your time carefully.
- (24 Mar) The course packet for the rest of the course, containing chapters 11 and 12, is now available at Collective Copies in downtown Amherst. It is course packet #47 and costs $13. It has the full text and 80% of the right number of problems and exercises, but no glossary or exercise solutions.
- (14 Mar) And now the exam and solution are up.
- (14 Mar) I've graded yesterday's midterms and will post the exam and the solutions later today. I set the scale at A=88 and C=60, and the nine individual scores were 85, 83, 80, 79, 72, 64, 62, 55, and 45, for letter grades of A, A-, B+, B+, B, C+, C, C-, and D. I can give individual grades by email if you can't wait until a week from Monday.
- (6 Mar) We've finally posted the assignment for Programming Project #2. As Lisa writes in these notes, she's posted the code base (minus the parts that you are supposed to write) on the cs240 part of the Edlab, along with her completed code for Programming Project #1. The latter might be useful for some of the HW#2 problems, such as the Risk probabilities. We'll discuss Project #2 in the discussion period tomorrow.
- (2 Mar) And in fact the campus is closed today so class is canceled -- see you Wednesday.
- (1 Mar) Heavy snow is predicted for tonight and tomorrow. Once again we will abide by the university's decision as to whether to hold class -- if the campus is open by 11:15 (which I would bet against, at about 2-1 odds) we will have class, and otherwise we won't. I'll find out about 6:00 tomorrow morning and I'll post the decision here as well.
- (25 Feb) Lisa is changing her office hours on Wednesday from 1-2 to 1:15-2:15. I was supposed to mention this in class, but forgot -- sorry!
- (25 Feb) I have posted the HW#2 assignment, due two weeks from today. I should have news on programming projects 1 and 2 shortly.
- (20 Feb) Ok, I've graded the exams, and most of you did well. I set the scale at A = 90 (middle of A range is 90), B = 75, C = 60, D = 45, F = 30. The nine scores in order were 92, 91, 85, 81, 77, 70, 69, 58, 38, which convert to A, A, A-, B+, B, B-, B-, C, D- respectively. To find out which of these grades is yours, however, you have to wait until Monday.
- (20 Feb) I have posted the first midterm and its solution. I'm almost done with the grading and will post aggregate results shortly. You'll get the graded exams back on Monday.
- (18 Feb) I handed back graded HW#1's in class today. Scale was A = 80, B = 64, C = 48, D = 32. The solutions to the practice midterm are now posted.
- (16 Feb) I've posted a practice exam for the first midterm, which should be similar in length, difficulty, and content to the exam you will take on Friday. I'll post solutions to the practice exam on Wednesday.
- (13 Feb) Just a reminder that Monday is a holiday and thus we will meet next on Wednesday. Friday 20 Feb is our first exam -- I promised you a practice exam by now but don't have it ready yet. If you look here at the two midterms from last year's CMPSCI 291b, they will be somewhat similar in length and difficulty to this exam. But those exams cover probability, the second half of the course which we've just touched on. A large part of the first CMPSCI 240 midterm will consist of specific counting problems like the ones we did in discussion today.
- (12 Feb) It was nice to have a crowd in office hours. If you weren't there, or even if you were, check out the new questions and answers on the Q&A page for HW#1.
- (8 Feb) I've posted the first question and answer on HW#1.
- (4 Feb) I've posted office hours for both Lisa and me above. Friday I will lecture on the first and second counting problems for the first hour, then we will have an in-class exercise on Section 6.5 of the book.
- (29 Jan) I hope you enjoyed your snow day. Tomorrow I will cover material from both the scheduled lectures 2 and 3 in the first hour, and then Lisa and I will present the programming assignment. It is based on Excursion 6.8 in the book but has some differences -- the writeup here is not yet complete but everything there should be correct. I've also posted the first homework assignment and the first corrections for the textbook.
- (27 Jan) We may be snowed out tomorrow -- check here for official info. If the University is closed for any part of the time from 11:15 to 12:05, we will not have class. The first homework assignment will be posted tonight or tomorrow, due on Friday 13 February.
- (22 Jan) The requirements page and syllabus are now up. The textbook packet for the first half of the course should be available over the weekend at Collective Copies in downtown Amherst -- I will confirm here when it is. Also, we have gotten a ROOM CHANGE so that both lecture and discussion classes will be in LGRT 1334 (SPIRE now lists this correctly). Don't forget to allow time for LGRT's slow elevators!
- (29 Dec) I have established a skeleton web page. I taught an experimental version of this course last spring, for which the web site is here. The format this term will change somewhat since we now have an official four-credit course.

Last modified 25 May 2009