CMPSCI 250: Fall 2018

Syllabus and Course Schedule

Profs. David Mix Barrington and Marius Minea

Reading assignments are from 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. Dave will lecture in Goessmann 64 and Marius will lecture in Hasbrouck 134. There are six discussion sections, each meeting on Wednesdays. Section 01AA meets at 11:15 in Ag. Engin. 119. Section 01AB meets at 12:20 in Ag. Engin. 119. Section 01AC meets at 11:15 in ELAB 306, Section 01AD meets at 12:20 in Flint 201, Section 02AA meets at 9:05 in Marston 211, and Section 02AB meets at 11:15 in Marston 211. There are two evening exams, as indicated below, and two discussion meetings are cancelled to compensate for the extra time.

PART I: Logic and Number Theory

Wed 05 Sep L01  Sets and Strings (1.1, 1.2)
Wed 05 Sep ---  NO DISCUSSION in the first week
Fri 07 Sep L02  Propositions and Boolean Operations (1.4)
Mon 10 Sep L03  Set Operations and Truth Tables (1.5, 1.6)
Wed 12 Sep D01  What is a Proof? (1.3)
Wed 12 Sep L04  Rules for Propositional Proofs (1.7)
Fri 14 Sep L05  Propositional Proof Strategies (1.8)
Mon 17 Sep L06  Predicates and Relations (1.10, 2.1) (END OF ADD/DROP)
Wed 19 Sep D02  A Murder Mystery (1.9)
Wed 19 Sep L07  Quantifiers and Languages (2.3, 2.5) 
Fri 21 Sep L08  Proofs With Quantifiers (2.6) (DAVE AWAY)
Mon 24 Sep L09  Relations and Functions (2.8, 2.9) (DAVE AWAY)
Wed 26 Sep D03  Practicing Proofs (2.7) (DAVE AWAY)
Wed 26 Sep L10  Equivalence Relations (2.10) (DAVE AWAY)
Fri 28 Sep L11  Partial Orders (2.11) (DAVE AWAY)
Mon 01 Oct L12  Divisibility and Primes (3.1)
Wed 03 Oct D04  Playing With Numbers (3.2)
Wed 03 Oct L13  Modular Arithmetic (3.3) 
Fri 05 Oct L14  The Chinese Remainder Theorem (3.5)
Mon 08 Oct ---  NO CLASS (Columbus Day Holiday)
Tue 09 Oct L15  (MONDAY) The Fundamental Theorem of Arithmetic (3.6) 
Wed 10 Oct X01  FIRST MIDTERM (7-9 p.m., ILC N151 and ELAB II 119) on Lectures 1-15

PART II: Induction, Trees, and Searching

Wed 10 Oct L16  Recursive Definition (4.1)
Wed 10 Oct ---  NO DISCUSSION (makeup for exam)
Fri 12 Oct L17  Proof by Induction for Naturals (4.3) (DAVE AWAY)
Mon 15 Oct L18  Variations on Induction for Naturals (4.4)
Wed 17 Oct D05  Practicing Induction Proofs (not in book)
Wed 17 Oct L19  Proving the Basic Facts of Arithmetic (4.6)
Fri 19 Oct L20  Strings and String Operations (4.7)
Mon 22 Oct L21  Induction for Problem Solving (4.11)
Wed 24 Oct D06  More Induction Practice (not in book)
Wed 24 Oct L22  Graphs, Paths, and Trees (4.9, 9.1)
Fri 26 Oct L23  Recursion on Trees (9.3)
Mon 29 Oct L24  General, Breadth-First, and Depth-First Search (9.4, 9.5)
Tue 30 Oct ---  Last Day to Drop With W or Elect Pass/Fail 
Wed 31 Oct D07  Boolean Expression Trees (9.2)
Wed 30 Oct L25  BFS and DFS on Graphs (9.6)
Fri 02 Nov L26  Uniform-Cost and A* Search (9.8, 9.9)
Mon 05 Nov L27  Games and Adversary Search (9.10)
Wed 07 Nov X02  SECOND MIDTERM (7-9 p.m., ILC N151 and ELAB II 119) on Lectures 16-27

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

Wed 07 Nov ---  NO DISCUSSION (makeup for exam)
Wed 07 Nov L28  Regular Expressions and Their Languages (5.1, 5.2)
Fri 09 Nov L29  Proving Regular Language Identities (5.4)  
Mon 12 Nov ---  NO LECTURE (Veteran's Day Holiday)
Wed 14 Nov L30  (MONDAY) Proving Properties of the Regular Languages (5.5)
Fri 16 Nov L31  What DFA's Can and Can't Do (14.1, 14.2)


Mon 26 Nov L32  The Myhill-Nerode Theorem (14.3)
Wed 28 Nov D08  Minimizing DFA's (14.3)
Wed 28 Nov L33  NFA's and the Subset Construction (14.5, 14.6)
Fri 30 Nov L34  Killing λ-moves: λ-NFA's to NFA's (14.7)
Mon 03 Dec L35  Constructing NFA's from Regular Expressions (14.8)
Wed 05 Dec D09  Practicing Some Kleene Constructions (14.9)
Wed 05 Dec L36  State Elimination: NFA's to Regular Expressions (14.10)
Fri 07 Dec L37  Two-Way Automata and Turing Machines (15.1, 15.6)
Mon 10 Dec L38  Turing Machine Semantics (15.8)
Wed 12 Dec D10  More Kleene Construction Practice (not in book)
Wed 12 Dec L39  The Halting Problem and Unsolvability (15.10)

Final Exam (cumulative) TBA, probably Thursday 20 December, 1:00-3:00 pm

Last modified 17 August 2018