This is the home page for CMPSCI 291b. CMPSCI 291b is a trial offering of a proposed 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 291b may be used to fill the "math elective" requirement.

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

**TA Contact Info:** Vimal Mathew, vml@cs.umass.edu, 5-1596. Office hours in LGRT 220, days and time TBA.

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 textbook for the course. For the first half of the course we will use draft versions of my discrete math textbook, which I will copy and distribute. For the second half, I will have lecture notes available on this site where appropriate.

The course will meet for three lecture meetings a week, MWF 9:05-9:55 in room 140 of the computer science building, and one discussion meeting per week, Fridays 10:10-11:00 in the same room. (This is a change from the schedule originally on SPIRE.) I will record attendance, as part of the course grade will be based on class participation. If you have a legitimate excuse to miss a class, please email me, beforehand if possible.

There will be one midterm (using both class sessions on Friday 14 March) and a final, and about four graded homework assignments. There will be programming projects illustrating the principles of the course, and these will be carried out as group work with the entire class constituting the group. The main focus of the discussion sessions will be design meetings for these projects.

- Course Requirements and Grading (new!)
- Homework Assignment Directory (with HW#4)
- Programming Project Directory (with #1)
- Exam Directory (with practice final and solution)
- Questions and Answers on Homework (empty so far)
- Syllabus

**Announcements (12 May 2008):**

- (12 May) The solutions to the practice final are now up.
- (8 May) A practice final exam is now up. I will post solutions to this over the weekend. Since we don't have lecture notes for much of this material, you should study the solutions carefully because the real exam will be similar.
- (5 May) A revised and complete HW#4 assignment is now up.
- (3 Apr) I have posted most of the HW#3 assignment -- two more problems are on the way. It is two three weeks from yesterday, which is 23 April.
- (19 Mar) The scores on HW2 were 87, 69, 48, 39, 26, 20, 7. I've set the scale at A = 80 and C = 40, but these were still very disappointing. I'm worried that the problems some of you had on the exam were the result of fundamental inability to analyze problems rather than just time pressure. These problems can take a lot of work, and you need to do cross-checks to be sure that your answers make sense. (That being said, several of the problems on HW#2 were really too long and involved.) I'm emailing out a couple of corrections to the HW#2 solutions as well.
- (15 Mar) I've now graded the seven exams -- the scores were 72, 70, 63, 62, 41, 34, and 30. If I went with the A=90 and C=63 I had in mind, these would be B-, B-, C, C, F, F, F. They were bad, but not that bad, so I have rescaled to A=84, C=48, making the seven letter grades B+, B+, B, B-, C-, D+, D. I'll send out email summaries of where each of you are after I've graded HW#2, which will be sometime over the break.
- (14 Mar) I have posted the midterm and its solutions. I have not finished the grading but expect to over the weekend -- I will set the scale and post results then.
- (11 Mar) The solutions to the first practice midterm are posted.
- (8 Mar) The practice midterm is now up. I reused some questions from the 251 exams, but this should give a good idea of the length and difficulty of the real midterm. I'll post solutions in a day or two.
- (7 Mar) I will put up a practice test sometime over the weekend. In the
meantime, most of the questions on four exams from the
course I taught a year ago would be suitable as questions for this exam:
- Practice test 1: everything except 3, 4, and 7 (7 is ok for material but asks for an induction proof which I won't ask you for)
- Real test 1: everything except 2 and 7
- Practice test 2: everything except 5 and 7
- Real test 2: everything except 2

- (14 Feb) And in fact we lost yesterday's class, so we will probably be a lecture behind on the syllabus for a while. Tomorrow morning I'll do lots of poker examples in lecture, and we may start to talk about listing and counting poker hands in discussion.
- (12 Feb) I note that the weather forecast for tomorrow is bad. I will abide by the University's decision -- if we close or delay opening until after 9:05, we will not have class. If we are open but you don't think it's safe for you to drive in, I will understand.
- (9 Feb) I'm posting the first homework assignment, due on Friday 22 February in class.
- (3 Feb) I should have notes for the first programming project up later tonight. Too bad about the football game, please don't riot in frustration.
- (31 Feb) I've now set my office hours for the term.
- (27 Feb) The first complete draft of the syllabus is now up. The second half should be considered fairly tentative. See you tomorrow morning!
- (23 Feb) Thanks for your prompt responses to my inquiry about the schedule change -- I have rescheduled the discussion to Friday 10:10-11:00 and SPIRE should soon reflect this. The skeleton of the web site is now up.

Last modified 12 May 2008