CMPSCI 250: Spring 2006

Syllabus and Course Schedule

Prof. David Mix Barrington

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

Date of second midterm corrected 27 March 2006.

PART I:  Logic and Number Theory

Wed 01 Feb L01  Sets and Strings (1.1,1.2) (no discussion)
Fri 03 Feb L02  Propositions and Sets (1.4,1.5) 
Mon 06 Feb L03  Propositional Proofs (1.6,1.7)
M/W 06 Feb D01  What is a Proof? (1.3)
Wed 08 Feb L04  Propositional Proof Strategies (1.8)
Fri 10 Feb L05  Predicates and Relations (1.10, 2.1)
Mon 13 Feb L06  Quantifiers (2.3)
M/W 13 Feb D02  Translating Quantifiers (2.4)
Wed 15 Feb L07  Proofs With Quantifiers (2.6)
Fri 17 Feb L08  Properties of Relations and Functions (2.8,2.9)
Mon 20 Feb ---  Holiday (Presidents' Day)
Tue 21 Feb L09  (Monday schedule) Partial Orders (2.10)
T/W 21 Feb D03  (Tuesday is Monday) Practicing Proofs (2.7)
Wed 22 Feb L10  Equivalence Relations (2.11)
Thu 23 Feb X01  EVENING EXAM on Lectures 1-10

PART II: Number Theory and Induction

Fri 24 Feb L11  Divisibility and Primes (3.1)
Mon 27 Feb L12  Modular Arithmetic (3.3) 
M/W 27 Feb D04  Infinitely Many Primes (3.4)
Wed 01 Mar L13  The Chinese Remainder Theorem (3.5) 
Fri 03 Mar L14  The Fundamental Theorem of Arithmetic (3.6)
Mon 06 Mar L15  Recursive Definition (4.1)
M/W 06 Mar D05  Recursive Algorithms (4.2)
Wed 08 Mar L16  Proof By Induction for Naturals (4.3)  
Fri 10 Mar L17  Variations on Induction for Naturals (4.4)
Mon 13 Mar L18  Proving the Basic Facts of Arithmetic (4.6) (DAVE AWAY)
M/W 13 Mar ---  No discussion this week
Wed 15 Mar L19  Strings and String Operations (4.7) (DAVE AWAY)
Fri 17 Mar ---  No lecture (DAVE AWAY)
                SPRING BREAK
Mon 27 Mar L20  Graphs and Paths (4.9)
M/W 27 Mar D06  Naturals and Strings (4.8)
Wed 29 Mar L21  Induction for Problem Solving (4.11)
Thu 30 Mar X02  EVENING EXAM on Lectures 11-21


PART III:  Regular Expressions, Combinatorics and Graph Theory

Fri 31 Mar L22  Regular Expressions and Languages (5.1,5.2)
Mon 03 Apr L23  Proving Regular Language Identities (5.4)
M/W 03 Apr D07  Designing Regular Expressions (5.3)
Wed 05 Apr L24  Proving Properties of the Regular Languages (5.5)
Fri 07 Apr L25  Counting: Sum, Product, and Inclusion/Exclusion Rules (6.1,6.2)
Mon 10 Apr L26  The First and Second Counting Problems (6.3,6.4)
M/W 10 Apr D08  The Problem of Sorting (6.5)
Wed 12 Apr L27  The Third Counting Problem (6.6)
Fri 14 Apr L28  The Fourth Counting Problem (6.7)
Mon 17 Apr ---  Holiday (Patriot's Day)
M/W 17 Apr ---  No discussion this week
Wed 19 Apr L29  (Monday Schedule) Basic Probability (7.6)
Fri 21 Apr L30  Expected Value (7.7)
Mon 24 Apr L31  Graphs and Adjacency Matrices (8.1,8.2)
M/W 24 Apr D09  Paths and Matrices (not in book)
Wed 26 Apr L32  Counting Paths With Matrices (8.3) 
Thu 27 Apr X03  EVENING EXAM on Lectures 22-32

PART IV: Finite-State Machines and Computability

Fri 28 Apr L33  What DFA's Can and Can't Do (9.1,9.2)
Mon 01 May L34  The Myhill-Nerode Theorem (9.3)
M/W 01 May D10  Minimizing DFA's (9.3)
Wed 03 May L35  NFA's and the Subset Construction (9.5,9.6)
Fri 05 May L36  Killing Lambda-Moves:  Lambda-NFA's to NFA's (9.7)
Mon 08 May L37  NFA's to Regular Expressions to Lambda-NFA's (9.8,9.10)
M/W 08 May D11  Practicing Multiple Constructions (9.9)
Wed 10 May L38  Two-Way DFA's and Turing Machines (10.1,10.6)
Fri 12 May L39  Turing Machine Semantics (10.8)
Mon 15 May L40  The Halting Problem (10.10)
M/W 15 May D12  Course Evaluations
Wed 17 May L41  Review and Coming Attractions

Final Exam as scheduled by the University

Last modified 10 April 2006