CMPSCI 250: Spring 2015

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 Goessman 20. There are four discussion sections, each meeting on Fridays. Section AA meets at 10:10 in Hasbrouck 138, Section AB at 9:05 in Hasbrouck 137, Section AC at 10:10 in Hasbrouck 109, and Section AD at 9:05, also in Hasbrouck 109. 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 21 Jan L01  Sets and Strings (1.1, 1.2)
Fri 23 Jan D01  What is a Proof? (1.3)
Fri 23 Jan L02  Propositions and Boolean Operations (1.4)
Mon 26 Jan L03  Set Operations and Truth Tables (1.5, 1.6)
Wed 28 Jan L04  Rules for Propositional Proofs (1.7)
Fri 30 Jan D02  A Murder Mystery (1.9)
Fri 30 Jan L05  Propositional Proof Strategies (1.8)
Mon 02 Feb ---  NO CLASS (SNOW) (END OF ADD/DROP)
Wed 04 Feb L06  Predicates and Relations (1.10, 2.1)  
Fri 06 Feb D03  Translating Predicates (1.11) 
Fri 06 Feb L07  Quantifiers and Languages (2.3, 2.5)
Mon 09 Feb ---  NO CLASS (SNOW)
Wed 11 Feb L08  Proofs With Quantifiers (2.6)
Fri 13 Feb D04  Practicing Proofs (2.7) 
Fri 13 Feb L09  Relations and Functions (2.8, 2.9)
Mon 16 Feb ---  NO CLASS (President's Day Holiday)
Tue 17 Feb L10/11 (MONDAY) Equiv. Relations/Partial Orders (2.10, 2.11)
Wed 18 Feb L12  Divisibility and Primes (3.1) 
Fri 20 Feb D05  Infinitely Many Primes (3.4)
Fri 20 Feb L13  Modular Arithmetic (3.3)
Mon 23 Feb L15  The Fundamental Theorem of Arithmetic (3.6) 
Wed 25 Feb X01  FIRST MIDTERM (7-9 p.m., Marcus 131) on Lectures 1-13,15
Fri 27 Feb D06  The Chinese Remainder Theorem (3.5)


PART II: Induction, Trees, and Searching

Wed 25 Feb L16  Recursive Definition (4.1)
Fri 27 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)
Thu 05 Mar ---  Last Day to Drop With W or Elect Pass/Fail 
Fri 06 Mar D07  Practicing Induction Proofs
Fri 06 Mar L20  Strings and String Operations (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 D08  Some More Induction Practice (4.11)
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)
Wed 25 Mar L25  BFS and DFS on Graphs (9.6)
Fri 27 Mar D09  BFS and DFS Trees (not in book)
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., Bartlett 65) 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 DISCUSSION (makeup for second midterm)
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 D10  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 D11  Practicing Some Kleene Constructions (14.9)
Fri 17 Apr L35  Constructing NFA's from Regular Expressions (14.8)
Mon 20 Apr ---  NO CLASS (Patriots' Day Holiday)
Wed 22 Apr L36  (MONDAY SCHEDULE) State Elimination: NFA's to Regular Expressions (14.10)
Fri 24 Apr D12  Course Evaluations
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)
Thu 30 Apr ---  (MONDAY SCHEDULE) Review for Final Exam

Final Exam (cumulative) Fri 1 May, 1:00-3:00 p.m., Marcus 131.


Last modified 8 April 2015