CMPSCI 251 (291A): Spring 2007

Syllabus and Course Schedule

Prof. David Mix Barrington

All reading and discussion assignments are from Barrington, A Mathematical Foundation for Computer Science, fourth draft.

PART I:  Review of Combinatorics and Induction

Mon 29 Jan L01  Introduction and Overview
Wed 31 Jan D01  Practicing Induction Proofs
Wed 31 Jan L02  Fundamental Definitions
Fri 02 Feb L03  Sum and Product Rules, First and Second Counting Probs (6.1-6.4)
Mon 05 Feb L04  Third and Fourth Counting Problems (6.6,6.7)
Wed 07 Feb D02  The Problem of Sorting (6.5)
Wed 07 Feb L05  Counting Problem Examples (6.7)
Fri 09 Feb L06  Review of 6.1-6.7, More Examples
Mon 12 Feb L07  Asymptotic Notation (7.4)
Wed 14 Feb D03  Practicing with Big-O
Wed 14 Feb L08  Analysis of Sorting (7.5)
Fri 16 Feb L09  Finite Probability Distributions (7.6)
Mon 19 Feb ---  HOLIDAY (Presidents' Day)
Wed 21 Feb ---  Review for Midterm #1
Wed 21 Feb L10  Expected Value (7.7)
Fri 23 Feb X01  FIRST MIDTERM on Lectures 1-8

PART II: Probability and Probabilistic Reasoning

Mon 26 Feb L11  Variance and Standard Deviation (P.3)
Wed 28 Feb D04  Analysis of Craps (7.8)
Wed 28 Feb L12  The Binomial Distribution (P.4)
Fri 02 Mar L13  The Coupon Collector's Problem (P.5)
Mon 05 Mar L14  Bounds on Probability (P.6)
Wed 07 Mar D05  Contention Resolution
Wed 07 Mar L15  Union Bounds (P.7)
Fri 09 Mar L16  Bayesian Reasoning (P.8)
Mon 12 Mar L17  What is a Bit? (I.1)
Wed 14 Mar ---  Review for Midterm #2  
Wed 14 Mar L18  Limits of Data Compression (I.2)
Fri 16 Mar X02  SECOND MIDTERM on Lectures 9-16
                SPRING BREAK

PART III:  Information Theory

Mon 26 Mar L19  Variable-Length Codes (I.3)
Wed 28 Mar D06  Huffman's Algorithm
Wed 28 Mar L20  Huffman Coding and Entropy (I.4)
Fri 30 Mar L21  The Entropy Bound on Rate (I.4)
Mon 02 Apr L22  Error-Detecting Codes (I.5)
Wed 04 Apr D07  Experimenting With Codes
Wed 04 Apr L23  Error-Correcting Codes (I.6)
Fri 06 Apr L24  Conditional Entropy and Noise (I.7)
Mon 09 Apr L25  The Noisy-Channel Theorem (I.8)
Wed 11 Apr D08  Different Kinds of Noise
Wed 11 Apr L26  Regular Languages and Expressions (5.1,5.2)
Fri 13 Apr L27  Working with Regular Expressions (5.4,5.5)
Mon 16 Apr ---  HOLIDAY (Patriots' Day)  
Tue 17 Apr L28  (Monday schedule) What DFA's Can and Can't Do (9.1,9.2)
Wed 18 Apr ---  Review for Midterm #3
Wed 18 Apr L29  Markov Processes
Fri 20 Apr X03  THIRD MIDTERM on Lectures 17-27


PART IV: Finite-State Machines and Computability

Mon 23 Apr L30  The Myhill-Nerode Theorem (9.3)
Wed 25 Apr D09  Minimizing DFA's (9.3)
Wed 25 Apr L31  NFA's and the Subset Construction (9.5,9.6)
Fri 27 Apr L32  Killing Lambda-Moves:  Lambda-NFA's to NFA's (9.7)
Mon 30 Apr L33  NFA's to Regular Expressions to Lambda-NFA's (9.8,9.10)
Wed 02 May D10  Practicing Multiple Constructions (9.9)
Wed 02 May L34  Two-Way DFA's and Turing Machines (10.1,10.6)
Fri 04 May L35  Turing Machine Definitions (10.6)
Mon 07 May L36  Turing Machine Variants (10.6)
Wed 09 May D11  Course Evaluations
Wed 09 May L37  Turing Machine Semantics (10.8)
Fri 11 May L38  The Halting Problem (10.10)
Mon 14 May L39  Review and Coming Attractions

Final Exam as scheduled by the University

Last modified 27 February 2007