COMPSCI 250: Spring 2021


Syllabus and Course Schedule

Instructors: Ghazaleh Parvini and Hia Ghosh

Reading assignments are from David Mix Barrington: A Mathematical Foundation for Computer Science (revised preliminary edition, 2020), available as an e-book from Kendall Hunt. It is also available via eCampus.

  PART I: Logic and Number Theory

  Mon 1 Feb L01  Sets and Strings (1.1, 1.2)
  Wed 3 Feb L02  Propositions and Boolean Operations (1.4)
  Fri 5 Feb D01  What is a Proof? (1.3)
  Fri 5 Feb L03  Set Operations and Truth Tables (1.5, 1.6)
  Mon 8 Feb L04  Rules for Propositional Proofs (1.7)
  Wed 10 Feb L05  Propositional Proof Strategies (1.8)
  Fri 12 Feb D02  A Murder Mystery (1.9)
  Fri 12 Feb L06  Predicates and Relations (1.10, 2.1) (END OF ADD/DROP)
  Mon 15 Feb L07  Quantifiers and Languages (2.3, 2.5)
  Wed 17 Feb L08  Proofs With Quantifiers (2.6)
  Fri 19 Feb D03  Conjunctive Normal Form
  Fri 19 Feb L09  Relations and Functions (2.8, 2.9)
  Mon 22 Feb L10  Equivalence Relations (2.10)
  Wed 24 Feb ---  Wellbeing Wednesday - No Classes
  Fri 26 Feb D04  Practicing Proofs (2.7)
  Fri 26 Feb L11  Partial Orders (2.11)
  Mon 1 Mar L12  Divisibility and Primes (3.1)
  Wed 3 Mar L13  The Chinese Remainder Theorem (3.5)
  Fri 5 Mar D05  Infinitely Many Primes (3.4)
  Fri 5 Mar L14  The Fundamental Theorem of Arithmetic (3.6)


  PART II: Induction, Trees, and Searching

  Mon 8  Mar L15  Recursive Definition (4.1)
  Wed 10 Mar L16  Proof by Induction for Naturals (4.3)
  Thu 11 Mar X01  FIRST MIDTERM on Lectures 1-15
  Fri 12 Mar D06  Practicing Induction Proofs
  Fri 12 Mar L17  Variations on Induction for Naturals (4.4)
  Mon 15 Mar L18  Induction for Problem Solving (4.11)
  Wed 17 Mar L19  Strings and String Operations (4.7)
  Fri 19 Mar D07  More Induction Practice
  Fri 19 Mar L20  Supplementary Induction Topics
  Mon 22 Mar L21  Graphs, Paths, and Trees (4.9, 9.1)
  Wed 24 Mar L22  Recursion on Trees (9.3)
  Fri 26 Mar D08  Boolean Expression Trees (9.2)
  Fri 26 Mar L23  General, Breadth-First, and Depth-First Search (9.4, 9.5)
  Mon 29 Mar L24  BFS and DFS on Graphs (9.6)
  Wed 31 Mar L25  Uniform-Cost and A* Search (9.8, 9.9)
  Fri 2 Apr D09  Comparing Graph Searches
  Fri 2 Apr L26  Games and Adversary Search (9.10)

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

  Mon 5 Apr L27  Regular Expressions and Their Languages (5.1, 5.2)
  Wed 7 Apr L28  Proving Regular Language Identities (5.4)
  Thu 8 Apr X02  SECOND MIDTERM on Lectures 15-26
  Fri 9 Apr D10  Designing Regular Expressions (5.3)
  Fri 9 Apr L29  Proving Properties of the Regular Languages (5.5)
  Mon 12 Apr L30  What DFA's Can and Can't Do (14.1, 14.2)
  Wed 14 Apr --- Wellbeing Wednesday - No Classes
  Fri 16 Apr D11  Minimizing DFA's (14.3)
  Fri 16 Apr L31  The Myhill-Nerode Theorem (14.3)
  Mon 19 Apr L32  NFA's and the Subset Construction (14.5, 14.6)
  Wed 21 Apr L33  Killing λ-moves: λ-NFA's to NFA's (14.7)
  Fri 23 Apr D12  Practicing Multiple Kleene Constructions (14.9)
  Fri 23 Apr L34  Constructing NFA's from Regular Expressions (14.8)
  Mon 26 Apr L35  State Elimination: NFA's to Regular Expressions (14.10)
  Wed 28 Apr L36  Two-Way Automata and Turing Machines (15.1, 15.6)
  Fri 30 Apr D13  Turing Machines
  Fri 30 Apr L37  Turing Machine Semantics (15.8)
  Mon 3 May L38  The Halting Problem and Unsolvability (15.10)

  Final Exam (cumulative), TBA, week of May 6-  May 12.
  

Last modified January 28 2020