CMPSCI 250: Fall 2017

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 1:25-2:15 in Goessmann 64. There are four discussion sections, each meeting on Wednesdays. Section AA meets at 11:15 in Marston 211, Section AB at 12:20 in Marston 211, Section AC at 11:15 in Marston 220, and Section AD at 12:20 in Marston 220. 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 06 Sep L01  Sets and Strings (1.1, 1.2)
Wed 06 Sep ---  NO DISCUSSION in the first week
Fri 08 Sep L02  Propositions and Boolean Operations (1.4)
Mon 11 Sep L03  Set Operations and Truth Tables (1.5, 1.6)
Wed 13 Sep D01  What is a Proof? (1.3)
Wed 13 Sep L04  Rules for Propositional Proofs (1.7)
Fri 15 Sep L05  Propositional Proof Strategies (1.8)
Mon 18 Sep L06  Predicates and Relations (1.10, 2.1) (END OF ADD/DROP)
Wed 20 Sep D02  A Murder Mystery (1.9)
Wed 20 Sep L07  Quantifiers and Languages (2.3, 2.5) 
Fri 22 Sep L08  Proofs With Quantifiers (2.6) (DAVE AWAY)
Mon 25 Sep L09  Relations and Functions (2.8, 2.9)
Wed 27 Sep D03  Practicing Proofs (2.7)
Wed 27 Sep L10  Equivalence Relations (2.10)
Fri 29 Sep L11  Partial Orders (2.11)
Mon 02 Oct L12  Divisibility and Primes (3.1)
Wed 04 Oct D04  Playing With Numbers (3.2)
Wed 04 Oct L13  Modular Arithmetic (3.3) 
Fri 06 Oct L14  The Chinese Remainder Theorem (3.5)
Mon 09 Oct ---  NO CLASS (Columbus Day Holiday)
Tue 10 Oct L15  (MONDAY) The Fundamental Theorem of Arithmetic (3.6) 
Wed 11 Oct X01  FIRST MIDTERM (7-9 p.m., room TBA) on Lectures 1-15

PART II: Induction, Trees, and Searching

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

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

Wed 08 Nov ---  NO DISCCUSSION (makeup for exam)
Wed 08 Nov L28  Regular Expressions and Their Languages (5.1, 5.2)
Fri 10 Nov L29  Proving Regular Language Identities (5.4)  
Mon 13 Nov L30  Proving Properties of the Regular Languages (5.5)
Wed 15 Nov D08  Designing Regular Expressions (5.3)
Wed 15 Nov L31  What DFA's Can and Can't Do (14.1, 14.2)
Fri 17 Nov L32  The Myhill-Nerode Theorem (14.3)

THANKSGIVING BREAK

Mon 27 Nov L33  NFA's and the Subset Construction (14.5, 14.6)
Wed 29 Nov D09  Minimizing DFA's (14.3)
Wed 29 Nov L34  Killing λ-moves: λ-NFA's to NFA's (14.7)
Fri 01 Dec L35  Constructing NFA's from Regular Expressions (14.8)
Mon 04 Dec L36  State Elimination: NFA's to Regular Expressions (14.10)
Wed 06 Dec D10  Practicing Some Kleene Constructions (14.9)
Wed 06 Dec L37  Two-Way Automata and Turing Machines (15.1, 15.6)
Fri 08 Dec L38  Turing Machine Semantics (15.8)
Mon 11 Dec L39  The Halting Problem and Unsolvability (15.10)

Final Exam (cumulative) Thursday 14 December, 1:00-3:00 pm, Boyden Gym

Last modified 1 September 2017