COMPSCI 250: Fall 2019

Syllabus and Course Schedule

Instructor: Marius Minea

Reading assignments are from David Mix Barrington: A Mathematical Foundation for Computer Science (draft). Part 1 is available as an e-book from Kendall Hunt. Part 2 is available at cost from Collective Copies in downtown Amherst.

The class lecture meetings are MWF 1:25-2:15, in Thompson 104.
There are eight discussion sections, meeting on Wednesdays, four at 11:15 am and four at 12:20 pm.
There are two evening exams, as indicated below.

PART I: Logic and Number Theory

Wed 04 Sep ---  NO DISCUSSION in the first week  
Wed 04 Sep L01  Sets and Strings (1.1, 1.2)
Fri 06 Sep L02  Propositions and Boolean Operations (1.4)
Mon 09 Sep L03  Set Operations and Truth Tables (1.5, 1.6)
Wed 11 Sep D01  What is a Proof? (1.3)
Wed 11 Sep L04  Rules for Propositional Proofs (1.7)
Fri 13 Sep L05  Propositional Proof Strategies (1.8)
Mon 16 Sep L06  Predicates and Relations (1.10, 2.1) (END OF ADD/DROP)
Wed 18 Sep D02  A Murder Mystery (1.9)
Wed 18 Sep L07  Quantifiers and Languages (2.3, 2.5) 
Fri 20 Sep L08  Proofs With Quantifiers (2.6)
Mon 23 Sep L09  Relations and Functions (2.8, 2.9)
Wed 25 Sep D03  Practicing Proofs (2.7)
Wed 25 Sep L10  Equivalence Relations (2.10)
Fri 27 Sep L11  Partial Orders (2.11)
Mon 30 Sep L12  Divisibility and Primes (3.1)
Wed 02 Oct D04  Playing With Numbers (3.2)
Wed 02 Oct L13  Modular Arithmetic (3.3) 
Fri 04 Oct L14  The Chinese Remainder Theorem (3.5)
Mon 07 Oct L15  The Fundamental Theorem of Arithmetic (3.6) 
Wed 09 Oct D05  Infinitely Many Primes (3.4)

PART II: Induction, Trees, and Searching

Wed 09 Oct L16  Recursive Definition (4.1)
Thu 10 Oct X01  FIRST MIDTERM (7-9 p.m.) on Lectures 1-15  
Fri 11 Oct L17  Proof by Induction for Naturals (4.3)
Mon 14 Oct ---  NO CLASS (Columbus Day Holiday)   
Tue 15 Oct L18  (MONDAY) Variations on Induction for Naturals (4.4)
Wed 16 Oct D06  Practicing Induction Proofs (not in book)
Wed 16 Oct L19  Proving the Basic Facts of Arithmetic (4.6)
Fri 18 Oct L20  Strings and String Operations (4.7)
Mon 21 Oct L21  Induction for Problem Solving (4.11)
Wed 23 Oct D07  More Induction Practice (not in book)
Wed 23 Oct L22  Graphs, Paths, and Trees (4.9, 9.1)
Fri 25 Oct L23  Recursion on Trees (9.3)
Mon 28 Oct L24  General, Breadth-First, and Depth-First Search (9.4, 9.5)
Tue 29 Oct ---  Last Day to Drop With W or Elect Pass/Fail 
Wed 30 Oct D08  Boolean Expression Trees (9.2)
Wed 30 Oct L25  BFS and DFS on Graphs (9.6)
Fri 01 Nov L26  Uniform-Cost and A* Search (9.8, 9.9)
Mon 04 Nov L27  Games and Adversary Search (9.10)
Wed 06 Nov D09  Comparing Graph Searches (not in book)

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

Wed 06 Nov L28  Regular Expressions and Their Languages (5.1, 5.2)
Thu 07 Nov X02  SECOND MIDTERM (7-9 p.m.) on Lectures 16-27
Fri 08 Nov L29  Proving Regular Language Identities (5.4)  
Mon 11 Nov ---  NO LECTURE (Veterans' Day Holiday)
Wed 13 Nov ---  (MONDAY) NO DISCUSSION
Wed 13 Nov L30  (MONDAY) Proving Properties of the Regular Languages (5.5)
Fri 15 Nov L31  What DFA's Can and Can't Do (14.1, 14.2)
Mon 18 Nov L32  The Myhill-Nerode Theorem (14.3)
Wed 20 Nov D10  Designing Regular Expressions (5.3)
Wed 20 Nov L33  NFA's and the Subset Construction (14.5, 14.6)
Fri 22 Nov L34  Killing λ-moves: λ-NFA's to NFA's (14.7)

THANKSGIVING BREAK

Mon 02 Dec L35  Constructing NFA's from Regular Expressions (14.8)
Wed 04 Dec D11  Minimizing DFA's (14.3)
Wed 04 Dec L36  State Elimination: NFA's to Regular Expressions (14.10)
Fri 06 Dec L37  Two-Way Automata and Turing Machines (15.1, 15.6)
Mon 09 Dec L38  Turing Machine Semantics (15.8)
Wed 11 Dec D12  Practicing Multiple Kleene Constructions (14.9)
Wed 11 Dec L39  The Halting Problem and Unsolvability (15.10)

Final Exam (cumulative), Wednesday 18 December, 1:00-3:00 pm

Last modified 28 August 2019