CMPSCI 251 (291A): Mathematics of Computation

David Mix Barrington

Spring, 2007

This is the home page for CMPSCI 251, known officially to the university as CMPSCI 291A. CMPSCI 251 is a second course in the mathematics of computation, following CMPSCI 250. In the new computer science curriculum now in development, CMPSCI 251 will be a required course, coming before the algorithms course, CMPSCI 311. In the current curriculum it may be used as the elective "fifth mathematics course" -- for further clarification speak to me or to your computer science academic advisor.

The subject matter of CMPSCI 251 divides into four parts:

  1. A review of combinatorics and induction
  2. Probability and probabilistic reasoning
  3. Information theory, including error-correcting codes, and
  4. Models of computation: Finite-state machines and Turing machines

Some of the material of CMPSCI 251 has been in CMPSCI 250 when I have been the instructor, and some overlaps with CMPSCI 311 and CMPSCI 401. It will not replace either of those courses, but should provide useful preparation for them.

Instructor Contact Info: David Mix Barrington, 210 CMPSCI building, 545-4329, office hours Tuesday and Thursday 1:30-3:30, or by appointment. I generally answer my email fairly reliably.

TA Contact Info: There is no TA for this course. I get to grade everything.

The only formal prerequisite is CMPSCI 250 or equivalent, but 250 expects MATH 132 (Calculus II) and CMPSCI 187 (programming in data structures using Java) as corequistites, so 251 will expect familiarity with this material as well. Calculus will come up occasionally but will be treated gently.

The course will meet for three lecture meetings a week, MWF 11:15-12:05 in room 203 of Lederle GRC (the low-rise). There will be one discussion meeting per week, Wed 10:10-11:00 in room 202 LGRT (the Lederle tower). Discussion sessions will consist of students solving specific problems alone or in groups and handing answers in, so missing any of these classes will incur a grade penalty. The three-credit course thus has four contact hours per week -- I will try to compensate for this (and for the fact that the course is elective rather than core) by cutting back on the homework and pace of material relative to those of the eventual core course version.

There is no published textbook for this course -- I have a draft book in development that serves the first and fourth quarters pretty well, and I will make this text available. For the second and third quarters of the course you will get the best text I have produced at the time -- something between detailed lecture notes and the final book sections.

Announcements (16 May 2007):

Last modified 16 May 2007