CMPSCI 250: Spring 2019

Syllabus and Course Schedule

Instructors: Marius Minea and Swarna Reddy

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

The course is being co-taught, with similar lectures and common assignments and exams. There will be a single Moodle site for the combined course.

The class lecture meetings are MWF 1:25-2:15. Swarna will lecture in Herter 227 and Marius will lecture in Goessmann 64. There are six discussion sections, each meeting on Fridays. Section 01AA meets at 10:10 in ELAB 323. Section 01AB meets at 9:05 in ELAB 323. Section 01AC meets at 12:20 in ELAB 323. Section 02AA meets at 10:10 in LGRC 104. Section 02AC meets at 12:20 in Flint 201. Section 02AD meets at 12:20 in LGRT 204. There are two evening exams, as indicated below, and one discussion meeting is cancelled to compensate for the exam the previous day.

PART I: Logic

Wed 23 Jan L01  Sets and Strings (1.1, 1.2)
Fri 28 Jan D01  What is a Proof? (1.3)  
Fri 25 Jan L02  Propositions and Boolean Operations (1.4)
Mon 28 Jan L03  Set Operations and Truth Tables (1.5, 1.6)
Wed 30 Jan L04  Rules for Propositional Proofs (1.7)
Fri 01 Feb D02  A Murder Mystery (1.9)  
Fri 01 Feb L05  Propositional Proof Strategies (1.8)
Mon 04 Feb L06  Predicates and Relations (1.10, 2.1) (END OF ADD/DROP)
Wed 06 Feb L07  Quantifiers and Languages (2.3, 2.5)
Fri 08 Feb D03  Conjunctive Normal Form (not in book)
Fri 08 Feb L08  Proofs With Quantifiers (2.6)
Mon 11 Feb L09  Relations and Functions (2.8, 2.9) 
Wed 13 Feb L10  Equivalence Relations (2.11)
Fri 15 Feb D04  Practicing Proofs (2.7)
Fri 15 Feb L11  Partial Orders (2.10)

PART II: Number Theory, Induction, Trees, and Searching

Mon 18 Feb ---  NO CLASS (President's Day Holiday)
Tue 19 Feb L12  (MONDAY) Divisibility and Primes (3.1)
Wed 20 Feb L13  Modular Arithmetic (3.3) 
Wed 20 Feb X01  FIRST MIDTERM (7-9 p.m., Goessmann 20 and 64) on Lectures 1-11)
Fri 22 Feb D05  Infinitely Many Primes (3.4)  
Fri 22 Feb L14  The Chinese Remainder Theorem (3.5)  
Mon 25 Feb L15  The Fundamental Theorem of Arithmetic (3.6) 
Wed 27 Feb L16  Recursive Definition (4.1)
Fri 01 Mar D06  Recursive Algorithms (4.2)
Fri 01 Mar L17  Proof by Induction for Naturals (4.3)
Mon 04 Mar L18  Variations on Induction for Naturals (4.4)
Wed 06 Mar L19  Proving the Basic Facts of Arithmetic (4.6)
Fri 08 Mar D07  Practicing Induction Proofs (not in book)
Fri 08 Mar L20  Strings and String Operations (4.7)

SPRING BREAK

Mon 18 Mar L21  Induction for Problem Solving (4.11)
Tue 19 Mar ---  Last Day to Drop With W or Elect Pass/Fail  
Wed 20 Mar L22  Graphs, Paths, and Trees (4.9, 9.1)
Fri 22 Mar D08  More Induction Practice (not in book)
Fri 22 Mar L23  Recursion on Trees (9.3)
Mon 25 Mar L24  General, Breadth-First, and Depth-First Search (9.4, 9.5)
Wed 27 Mar L25  BFS and DFS on Graphs (9.6)
Fri 29 Mar D09  Boolean Expression Trees (9.2)
Fri 29 Mar L26  Uniform-Cost and A* Search (9.8, 9.9)
Mon 01 Apr L27  Games and Adversary Search (9.10)

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

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

Final Exam (cumulative), Friday 3 May, 1:00-3:00 pm, in Thompson 104 and Thompson 102 (NOTE CHANGE!)

Last modified: 21 January 2019