CMPSCI 250: Fall 2021

Syllabus and Course Schedule

Prof. David Mix Barrington and Ghazaleh Parvini

Reading assignments are from Barrington: A Mathematical Foundation for Computer Science (draft), available in two parts. The book is an e-book available for $60 from Kendall Hunt Publishing.

Lectures are MWF. Section 01 (Dave) has lectures 1:25-2:15 PM in Goessmann 20. Section 02 (Ghazaleh) has lectures 5:30-6:20 PM in ILC S331. There are eight discussion sections (serving both lectures), each meeting on Wednesdays. Section 99AA meets at 11:15 in Skinner 201, Section 99AB at 12:20 in Skinner 201, Section 99AC at 11:15 in ELAB 323, Section 99AD at 12:20 in Flint 201, Section 99AE at 12:20 in Skinner 12, Section 99AF at 11:15 in Tobin 204, Section 99AG at 12:20 in Skinner 112, and Section 99AJ at 11:15 in Skinner 112.

There are two evening exams to be scheduled on 12 October and 9 November, and two discussion sections are cancelled to compensate for the extra time.

The six homework assignments are due at dates given below.

The weekly quizzes will be each Tuesday, due at 8:00 p.m., except for 7 Sept, 12 Oct, 9 Nov, and 23 Nov. (The time was incorrect on the syllabus until 21 September.)

PART I: Logic and Number Theory

Wed 01 Sep ---  NO DISCUSSION before first lecture  
Wed 01 Sep L01  Sets and Strings (1.1, 1.2)
Fri 03 Sep L02  Propositions and Boolean Operations (1.4)
Mon 06 Sep ---  NO CLASS (Labor Day Holiday)
Wed 08 Sep ---  NO DISCUSSION (Monday schedule)
Wed 08 Sep L03  (MONDAY, END OF ADD) Set Operations and Truth Tables (1.5, 1.6)
Fri 10 Sep L04  Rules for Propositional Proofs (1.7)
Mon 13 Sep L05  Propositional Proof Strategies (1.8)
Wed 15 Sep D01  A Murder Mystery (1.9)  
Wed 15 Sep L06  Predicates and Relations (1.10, 2.1) (END OF DROP)
Fri 17 Sep L07  Quantifiers and Languages (2.3, 2.5) 
Mon 20 Sep L08  Proofs With Quantifiers (2.6)
Wed 22 Sep D02  Translating Quantifiers (2.4)   
Wed 22 Sep L09  Relations and Functions (2.8, 2.9)
Thu 23 Sep H01  Homework #1 due at 11:59 p.m.  
Fri 24 Sep L10  Equivalence Relations (2.10)
Mon 27 Sep L11  Partial Orders (2.11)
Wed 29 Sep D03  Practicing Proofs (2.7)  
Wed 29 Sep L12  Divisibility and Primes (3.1)
Fri 01 Oct L13  Modular Arithmetic (3.3) 
Mon 04 Oct L14  The Chinese Remainder Theorem (3.5)
Wed 06 Oct D04  Infinitely Many Primes (3.4)  
Wed 06 Oct L15  The Fundamental Theorem of Arithmetic (3.6) 
Thu 07 Oct H02  Homework #2 due at 11:59 p.m.  
Tue 12 Oct X01  FIRST MIDTERM (7-9 p.m., room TBA) on Lectures 1-15

PART II: Induction, Trees, and Searching

Fri 08 Oct L16  Recursive Definition (4.1)
Mon 11 Oct ---  NO CLASS (Columbus/Indigenous Holiday)
Wed 13 Oct ---  NO DISCUSSION (Makeup for midterm)
Wed 13 Oct L17  Proof by Induction for Naturals (4.3)
Fri 15 Oct L18  Variations on Induction for Naturals (4.4)
Mon 18 Oct L19  Proving the Basic Facts of Arithmetic (4.6) 
Wed 20 Oct D05  Practicing Induction Proofs (not in book)
Wed 20 Oct L20  Recursive Definition for Strings (4.7)
Thu 21 Oct H03  Homework #3 due at 11:59 p.m.  
Fri 22 Oct L21  Induction for Problem Solving (4.11)
Mon 25 Oct L22  Graphs, Paths, and Trees (4.9, 9.1)
Wed 27 Oct D06  More Induction Practice (not in book)
Wed 27 Oct L23  Recursion on Trees (9.3)
Thu 28 Oct ---  Last Day to Drop With W or Elect Pass/Fail  
Fri 29 Oct L24  General, Breadth-First, and Depth-First Search (9.4, 9.5)
Mon 01 Nov L25  BFS and DFS on Graphs (9.6)
Wed 03 Nov D07  Boolean Expression Trees (9.2)
Wed 03 Nov L26  Uniform-Cost and A* Search (9.8, 9.9)
Fri 05 Nov H04  Homework #4 due at 11:59 p.m.  
Fri 05 Nov L27  Games and Adversary Search (9.10)
Tue 09 Nov X02  SECOND MIDTERM (7-9 p.m., room TBA) on Lectures 16-27

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

Mon 08 Nov L28  Regular Expressions and Their Languages (5.1, 5.2)
Wed 10 Nov ---  NO DISCUSSION (makeup for exam)
Wed 10 Nov L29  Proving Regular Language Identities (5.4)  
Fri 12 Nov L30  Proving Properties of the Regular Languages (5.5)
Mon 15 Nov L31  What DFA's Can and Can't Do (14.1, 14.2)
Wed 17 Nov D08  Designing Regular Expressions (5.3)
Wed 17 Nov L32  The Myhill-Nerode Theorem (14.3)
Fri 19 Nov L33  NFA's and the Subset Construction (14.5, 14.6)
Mon 22 Nov L34  Killing λ-moves: λ-NFA's to NFA's (14.7)
Tue 23 Nov H05  Homework #5 due at 11:59 p.m. 

                THANKSGIVING BREAK

Mon 29 Nov L35  Constructing NFA's from Regular Expressions (14.8)
Wed 01 Dec D09  Practicing Some Kleene Constructions (14.9, adapted)  
Wed 01 Dec L36  State Elimination: NFA's to Regular Expressions (14.10)
Fri 03 Dec L37  Two-Way Automata and Turing Machines (15.1, 15.6)
Mon 06 Dec L38  Turing Machine Semantics (15.8)
Wed 08 Dec D10  More Kleene Practice (14.9, adapted)  
Wed 08 Dec L39  The Halting Problem and Unsolvability (15.10)
Wed 08 Dec H01  Homework #6 due at 11:59 p.m. 

Final Exam (cumulative), during exam period, date to be decided, room TBA

Last modified 2 November 2021