CMPSCI 250: Spring 2005

Syllabus and Course Schedule

Prof. David Mix Barrington

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

PART I:  Logic and Number Theory

Wed 26 Jan L01  Sets and Strings (1.1,1.2) (no discussion)
Fri 28 Jan L02  Propositions and Sets (1.4,1.5)
Mon 31 Jan L03  Propositional Proofs (1.6,1.7)
M/W 02 Feb D01  A Murder Mystery (1.9)
Wed 02 Feb L04  Propositional Proof Strategies (1.8)
Fri 04 Feb L05  Predicates and Relations (1.10, 2.1)
Mon 07 Feb L06  Quantifiers (2.3)
M/W 09 Feb D02  Translating Quantifiers (2.4)
Wed 09 Feb L07  Proofs With Quantifiers (2.6)
Fri 11 Feb L08  Properties of Relations and Functions (2.8,2.9)
Mon 14 Feb L09  Partial Orders and Equivalence Relations (2.10,2.11)
M/W 16 Feb D03  Practicing Proofs (2.7)
Wed 16 Feb L10  Divisibility and Primes (3.1)
Fri 18 Feb L11  Modular Arithmetic (3.3) 
Mon 21 Feb ---  Holiday (Presidents' Day)
Wed 23 Feb L12  Infinitely Many Primes (3.4) (no discussion, Monday sched)
Thu 24 Feb X01  EVENING EXAM on Lectures 1-12

PART II: Induction and Regular Expressions

Fri 25 Feb L13 The Chinese Remainder Theorem (3.5)
Mon 28 Feb L14  The Fundamental Theorem of Arithmetic (3.6)
M/W 02 Mar D04  Recursive Algorithms (4.2)
Wed 02 Mar L15  Recursive Definition (4.1)
Fri 04 Mar L16  Proof By Induction for Naturals (4.3)
Mon 07 Mar L17  Variations on Induction for Naturals (4.4)
M/W 09 Mar D05  Fibonacci Numbers (4.5)
Wed 09 Mar L18  Proving the Basic Facts of Arithmetic (4.6)
Fri 11 Mar L19  Strings and String Operations (4.7)
                SPRING BREAK
Mon 21 Mar L20  Graphs and Paths (4.9)
M/W 23 Mar D06  Naturals and Strings (4.8)
Wed 23 Mar L21  Induction for Problem Solving (4.11)
Fri 25 Mar L22  Regular Expressions and Languages (5.1,5.2)
Mon 28 Mar L23  Proving Regular Language Identities (5.4)
M/W 28 Mar D07  Designing Regular Expressions (5.3)
Wed 30 Mar L24  Proving Properties of the Regular Languages (5.5)
Thu 31 Mar X02  EVENING EXAM on Lectures 13-24

PART III:  Combinatorics and Graph Theory

Fri 01 Apr L25  Counting: Sum, Product, and Inclusion/Exclusion Rules (6.1,6.2)
Mon 04 Apr L26  The First and Second Counting Problems (6.3,6.4)
M/W 06 Apr D08  The Problem of Sorting (6.5)
Wed 06 Apr L27  The Third Counting Problem (6.6)
Fri 08 Apr L28  The Fourth Counting Problem (6.7)
Mon 11 Apr L29  Counting Balanced Parentheses (6.9,6.10)
M/W 13 Apr D09  Listing Permutations and Combinations (6.8)
Wed 13 Apr L30  Basic Probability (7.6)
Fri 15 Apr L31  Expected Value (7.7)
Mon 18 Apr ---  Holiday (Patriots' Day)
Wed 20 Apr L32  Graphs and Adjacency Matrices (8.1,8.2) (no discussion)
Thu 21 Apr L33  Counting Paths With Matrices (8.3) (Monday sched)
Thu 21 Apr X03  EVENING EXAM on Lectures 22-33

PART IV: Finite-State Machines and Computability

Fri 22 Apr L34  What DFA's Can and Can't Do (9.1,9.2)
Mon 25 Apr L35  The Myhill-Nerode Theorem (9.3)
M/W 27 Apr D10  Minimizing DFA's (9.3)
Wed 27 Apr L36  NFA's and the Subset Construction (9.5,9.6)
Fri 29 Apr L37  Killing Lambda-Moves:  Lambda-NFA's to NFA's (9.7)
Mon 02 May L38  Regular Expressions to Lambda-NFA's (9.8)
M/W 04 May D11  Practicing Multiple Constructions (9.9)
Wed 04 May L39  State Elimination: NFA's to Regular Expressions (9.10)
Fri 06 May L40  Two-Way DFA's and Turing Machines (10.1,10.6)
Mon 09 May L41  Turing Machine Semantics and the Halting Problem (10.8,10.10)
M/W 11 May D12  Course Evaluations
Wed 11 May L42  Review and Coming Attractions

Final Exam as scheduled by the University

Last modified 24 January 2005