CMPSCI 250: Spring 2020

Syllabus and Course Schedule

Prof. David Mix Barrington and Hia Ghosh

Reading assignments are from Barrington: A Mathematical Foundation for Computer Science (draft), available in two parts. The first half is an e-book available for $20 from Kendall Hunt Publishing. The second is a paper volume, available at cost (about $25) from Collective Copies in downtown Amherst.

Lectures are MWF. Section 01 (Hia) has lectures 12:20-1:10 in Thompson 106. Section 02 (Dave) has lectures 10:10-11:00 in Morrill 2 room 131. There are eight discussion sections (four for each lecture), each meeting on Fridays. Section 01AA meets at 10:10 in Flint 105, Section 01AB at 1:25 in ELAB 303, Section 01AC at 11:15 in ELAB 104, Section 01AD at 11:15 in LGRC A301, Section 02AA at 9:05 in ELAB 304, Section 02AB at 1:25 in Tobin 204, Section 02AC at 12:20 in Tobin 204, and Section 02AD at 11:15 in Tobin 204. There are two evening exams on Tuesday 25 February and Thursday 2 April, as indicated below, and two discussion sections are cancelled to compensate for the extra time.

PART I: Logic and Number Theory

Wed 22 Jan L01  Sets and Strings (1.1, 1.2)
Fri 24 Jan D01  What is a Proof? (1.3)
Fri 24 Jan L02  Propositions and Boolean Operations (1.4)
Mon 27 Jan L03  Set Operations and Truth Tables (1.5, 1.6)
Wed 29 Jan L04  Rules for Propositional Proofs (1.7)
Fri 31 Jan D02  A Murder Mystery (1.9)
Fri 31 Jan L05  Propositional Proof Strategies (1.8)
Mon 03 Feb L06  Predicates and Relations (1.10, 2.1) (END OF ADD/DROP)
Wed 05 Feb L07  Quantifiers and Languages (2.3, 2.5) 
Fri 07 Feb D03  Translating Quantifiers (2.4)
Fri 07 Feb L08  Proofs With Quantifiers (2.6)
Mon 10 Feb L09  Relations and Functions (2.8, 2.9) 
Wed 12 Feb L10  Equivalence Relations (2.10)
Fri 14 Feb D04  Practicing Proofs (2.7)
Fri 14 Feb L11  Partial Orders (2.11)
Mon 17 Feb ---  NO CLASS (President's Day Holiday)
Tue 18 Feb L12  Divisibility and Primes (3.1) (MONDAY)
Wed 19 Feb L13  Modular Arithmetic (3.3) 
Fri 21 Feb D05  Infinitely Many Primes (3.4)
Fri 21 Feb L14  The Chinese Remainder Theorem (3.5)
Mon 24 Feb L15  The Fundamental Theorem of Arithmetic (3.6) 
Tue 25 Feb X01  FIRST MIDTERM (7-9 p.m., ISB 135, ILCN 151) on Lectures 1-15

PART II: Induction, Trees, and Searching

Wed 26 Feb L16  Recursive Definition (4.1)
Fri 28 Feb ---  NO DISCUSSION (makeup for exam)
Fri 28 Feb L17  Proof by Induction for Naturals (4.3)
Mon 02 Mar L18  Variations on Induction for Naturals (4.4)
Wed 04 Mar L19  Proving the Basic Facts of Arithmetic (4.6) 
Fri 06 Mar D06  Practicing Induction Proofs (not in book)
Fri 06 Mar L20  Recursive Definition for Strings (4.7)
Mon 09 Mar L21  Induction for Problem Solving (4.11)
Wed 11 Mar L22  Graphs, Paths, and Trees (4.9, 9.1)
Fri 13 Mar D07  More Induction Practice (not in book)
Fri 13 Mar L23  Recursion on Trees (9.3)

SPRING BREAK

Mon 23 Mar L24  General, Breadth-First, and Depth-First Search (9.4, 9.5)
Tue 24 Mar ---  Last Day to Drop With W or Elect Pass/Fail 
Wed 25 Mar L25  BFS and DFS on Graphs (9.6)
Fri 27 Mar D08  Boolean Expression Trees (9.2)
Fri 27 Mar L26  Uniform-Cost and A* Search (9.8, 9.9)
Mon 30 Mar L27  Games and Adversary Search (9.10)
Thu 02 Apr X02  SECOND MIDTERM (7-9 p.m., ISB 135, ILCN 151) on Lectures 16-27

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

Wed 01 Apr L28  Regular Expressions and Their Languages (5.1, 5.2)
Fri 03 Apr ---  NO DISCCUSSION (makeup for exam)
Fri 03 Apr L29  Proving Regular Language Identities (5.4)  
Mon 06 Apr L30  Proving Properties of the Regular Languages (5.5)
Wed 08 Apr L31  What DFA's Can and Can't Do (14.1, 14.2)
Fri 10 Apr D09  Designing Regular Expressions (5.3)
Fri 10 Apr L32  The Myhill-Nerode Theorem (14.3)
Mon 13 Apr L33  NFA's and the Subset Construction (14.5, 14.6)
Wed 15 Apr L34  Killing λ-moves: λ-NFA's to NFA's (14.7)
Fri 17 Apr D10  Practicing Some Kleene Constructions (14.9, adapted)
Fri 17 Apr L35  Constructing NFA's from Regular Expressions (14.8)
Mon 20 Apr ---  NO CLASS (Patriot's Day Holiday)
Wed 22 Apr L36  (MONDAY) State Elimination: NFA's to Regular Expressions (14.10)
Fri 24 Apr D11  More Kleene Practice (14.9, adapted)
Fri 24 Apr L37  Two-Way Automata and Turing Machines (15.1, 15.6)
Mon 27 Apr L38  Turing Machine Semantics (15.8)
Wed 29 Apr L39  The Halting Problem and Unsolvability (15.10)

Final Exam (cumulative) Friday 1 May, 10:30 a.m.-12:30 p.m. (section 02) or
1:00-3:00 p.m. (section 01), room TBA

Last modified 15 January 2020