CMPSCI 250: Fall 2013

Syllabus and Course Schedule

Prof. David Mix Barrington

Reading assignments are from Barrington: A Mathematical Foundation for Computer Science (draft), available at cost from Collective Copies in downtown Amherst.

Class meetings are MWF 2:30-3:20 in Hasbrouck 126. There are two discussion sections, each meeting on Wednesdays in ELAB 323. Section D01 meets 11:15-12:05 and section D02 meets 12:20-1:10. There are two evening exams, as indicated, and two discussion sections are cancelled to compensate for the extra time.

PART I: Logic and Number Theory

Wed 04 Sep ---  NO DISCUSSION before first lecture
Wed 04 Sep L01  Sets and Strings (1.1, 1.2)
Fri 06 Sep L02  Propositions and Boolean Operations (1.4)
Mon 09 Sep L03  Set Operations and Truth Tables (1.5, 1.6)
Wed 11 Sep D01  What is a Proof? (1.3)
Wed 11 Sep L04  Rules for Propositional Proofs (1.7)
Fri 13 Sep L05  Propositional Proof Strategies (1.8)
Mon 16 Sep L06  Predicates and Relations (1.10, 2.1)  (END OF ADD/DROP)
Wed 18 Sep D02  Translating Predicates (1.11)
Wed 18 Sep L07  Quantifiers and Languages (2.3, 2.5)
Fri 20 Sep L08  Proofs With Quantifiers (2.6)
Mon 23 Sep L09  Relations and Functions (2.8, 2.9)
Wed 25 Sep D03  Practicing Proofs (2.7)
Wed 25 Sep L10  Partial Orders (2.10)
Fri 27 Sep L11  Equivalence Relations (2.11)
Mon 30 Sep L12  Divisibility and Primes (3.1)
Wed 02 Oct D04  Playing With Numbers (3.2)
Wed 02 Oct L13  Modular Arithmetic (3.3)
Fri 04 Oct L14  The Chinese Remainder Theorem (3.5)
Mon 07 Oct L15  The Fundamental Theorem of Arithmetic (3.6)
Tue 08 Oct X01  FIRST MIDTERM (7-9 p.m., location in Goessman 51 and 64) on Lectures 1-15


PART II: Induction, Trees, and Searching

Wed 09 Oct ---  NO DISCUSSION (makeup for exam)
Wed 09 Oct L16  Recursive Definition (4.1)
Fri 11 Oct L17  Proof by Induction for Naturals (4.3)
Mon 14 Oct ---  NO CLASS (Columbus Day Holiday)
Tue 15 Oct L18  (MONDAY SCHEDULE) Variations on Induction for Naturals (4.4)
Wed 16 Oct D05  Practicing Induction
Wed 16 Oct L19  Proving the Basic Facts of Arithmetic (4.6)
Thu 17 Oct ---  Last Day to Drop With W or Elect Pass/Fail 
Fri 18 Oct L20  Strings and String Operations (4.7)
Mon 21 Oct L21  Induction for Problem Solving (4.11)
Wed 23 Oct D06  Some More Induction Practice (4.11)
Wed 23 Oct L22  Graphs, Paths, and Trees (4.9, 9.1)
Fri 25 Oct L23  Recursion on Trees (9.3)
Mon 28 Oct L24  General, Breadth-First, and Depth-First Search (9.4, 9.5)
Wed 30 Oct D07  Boolean Expressions (9.2)
Wed 30 Oct L25  BFS and DFS on Graphs (9.6)
Fri 01 Nov L26  Uniform-Cost and A* Search (9.8, 9.9)
Mon 04 Nov L27  Games and Adversary Search (9.10)
Mon 04 Nov X02  SECOND MIDTERM (7-9 p.m., in Hasbrouck 20) on Lectures 16-27


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

Wed 06 Nov ---  NO DISCUSSION (makeup for exam)
Wed 06 Nov L28  Regular Expressions and Their Languages (5.1, 5.2)
Fri 08 Nov L29  Proving Regular Language Identities (5.4)  
Mon 11 Nov ---  NO CLASS (Veteran's Day Holiday)
Wed 13 Nov ---  NO DISCUSSION (Monday schedule)
Wed 13 Nov L30  (MONDAY SCHEDULE) Proving Properties of the Regular Languages (5.5)
Fri 15 Nov L31  What DFA's Can and Can't Do (14.1, 14.2)
Mon 18 Nov L32  The Myhill-Nerode Theorem (14.3)
Wed 20 Nov D08  Minimizing Finite Automata (14.3)
Wed 20 Nov L33  NFA's and the Subset Construction (14.5, 14.6)
Fri 22 Nov L34  Killing λ-moves: λ-NFA's to NFA's (14.7)
Mon 25 Nov L35  Constructing NFA's from Regular Expressions (14.8)
Wed 27 Nov D09  Practicing Multiple Constructions (14.9)
Wed 27 Nov L36  State Elimination: NFA's to Regular Expressions (14.10)
Fri 29 Nov ---  NO CLASS (Thanksgiving Holiday)
Mon 02 Dec L37  Two-Way Automata and Turing Machines (15.1, 15.6)
Wed 04 Dec D10  Course Evaluations
Wed 04 Dec L38  Turing Machine Semantics (15.8)
Fri 06 Dec L39  The Halting Problem and Unsolvability (15.10)

Final Exam (cumulative) Thursday 12 December, 10:30 a.m.-12:30 p.m., in
Marcus 131


Last modified 19 October 2013