CMPSCI 250: Fall 2010

Syllabus and Course Schedule

Profs. David Mix Barrington and Hava Siegelmann

(Revised 1 October 2010)

Reading assignments are from Barrington, A Mathematical Foundation for Computer Science, fifth draft. A single packet, consisting of chapters 1-5, 9, 14, and 15, will be available at cost at Collective Copies in downtown Amherst.

Lecture meetings are Tuesdays and Thursdays 9:30-10:45, and discussion meetings are Tuesdays 2:30-3:20. Section 1 (Dave) meets in Goessmann Lab Addition room 151 for both lecture and discussion. Section 2 (Hava) meets in room 140 of the Computer Science building for lecture and in LGRT 113 for discussion. The lectures will be coordinated, and there will be common homework assignments and exams. Discussion attendance is required and will form a small portion of the final grade.

This is a course under construction! The syllabus may change as the term progresses. In particular, the discussion period activities are not yet finally decided.

PART I:  Logic and Number Theory

Tue 07 Sep L01  Sets, Strings, and Propositions (1.1, 1.2, 1.4)
Tue 07 Sep ---  NO DISCUSSION -- optional office hour in Dave's classroom
Thu 09 Sep L02  Set Identities and Truth Tables (1.5, 1.6)
Tue 14 Sep L03  Propositional Proofs (1.7, 1.8)
Tue 14 Sep D01  A Murder Mystery (1.9)
Thu 16 Sep L04  Predicates, Relations, and Quantifiers (1.10, 2.1, 2.3)
Tue 21 Sep L05  Proofs With Quantifiers (2.6)
Tue 21 Sep D02  Translating Quantifiers (2.4)
Thu 23 Sep L06  Properties of Relations and Functions (2.8, 2.9)
Tue 28 Sep L07  Proofs With Quantifiers Again (2.6)
Tue 28 Sep D03  Practicing Predicate Proofs (2.7)
Thu 30 Sep L08  Properties of Relations and Functions Again (2.8, 2.9)
Tue 05 Oct L09  Partial Orders and Equivalence Relations (2.10, 2.11)
Tue 05 Oct D04  Playing With Numbers (3.2)
Thu 07 Oct L10  Divisibility, Primes, and Modular Arithmetic (3.1, 3.3)
Tue 12 Oct ---  NO LECTURE OR DISCUSSION (Monday Schedule)
Wed 13 Oct X01  FIRST MIDTERM 7-9 p.m., Goessmann 20

PART II: Induction, Trees, and Searching

Thu 14 Oct L11  Topics in Number Theory (3.3, 3.4, 3.5, 3.6)
Tue 19 Oct L12  Recursive Definition and Induction (4.1, 4.3)
Tue 19 Oct D05  Recursive Algorithms (4.2)
Thu 21 Oct L13  Variations on Induction (4.4, 4.7)
Tue 26 Oct L14  Induction for Problem Solving (4.11)
Tue 26 Oct D06  Naturals and Strings (4.8)
Thu 28 Oct L15  Trees, Paths, and Recursion (4.9, 9.1, 9.3)
Tue 02 Nov L16  General Search (9.4, 9.5)
Tue 02 Nov D07  Boolean Expressions (9.2)
Thu 04 Nov L17  Searching of Graphs, Searching With Costs (9.6, 9.8)
Tue 09 Nov L18  A* Search and Adversary Search (9.9, 9.10)
Tue 09 Nov ---  NO DISCUSSION, optional review sessions in the classroom
Tue 09 Nov X02  SECOND MIDTERM 7-9 p.m., Goessman 20

PART III: Regular Expressions, Finite-State Machines, and Computability

Wed 10 Nov L19  (Thursday Schedule) Regular Expressions and Examples (5.1, 5.2)
Thu 11 Nov ---  NO LECTURE (Veterans' Day holiday)
Tue 16 Nov L20  Proofs With Regular Expressions (5.4, 5.5)
Tue 16 Nov D08  Designing Regular Expressions (5.3)
Thu 18 Nov L21  What DFA's Can and Can't Do (14.1, 14.2)
Tue 23 Nov L22  The Myhill-Nerode and Kleene Theorems (14.3 plus)
Tue 23 Nov D09  Minimizing DFA's (14.3)
Thu 25 Nov ---  NO LECTURE (Thanksgiving Holiday)
Tue 30 Nov L23  NFA's, Subset Construction, and Lambda-NFA's (14.5, 14.6, 14.7)
Tue 30 Nov D10  Practicing Multiple Constructions (14.9)
Thu 02 Dec L24  Finishing Kleene's Theorem (14.8, 14.10)
Tue 07 Dec L25  Two-Way Automata and Turing Machines (15.1, 15.6)
Tue 07 Dec D11  Review and Course Evaluations 
Thu 09 Dec L26  Turing Machine Semantics and the Halting Problem (15.8, 15.10)

FINAL EXAM (cumulative) Thursday 16 Dec, 4-6 p.m., ELAB II room 119

Last modified 9 December 2010