COMPSCI 250: Summer 2021
Syllabus and Course Schedule
Instructor: Ghazaleh Parvini
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.
PART I: Logic and Number Theory
Week1:
Mon 17 May L01 & L02 Sets, Strings, Propositions and Boolean Operations(1.1, 1.2,1.4)
Wed 19 May L03 & L04 Set Operations and Truth Tables, Rules for Propositional Proofs (1.5, 1.6, 1.7)
Thu 20 May D01 What is a Proof? (1.3)
Week2:
Mon 24 May L05 & Lec06 Propositional Proof Strategies, Predicates and Relations (1.8, 1.10, 2.1)
Wed 26 May L07 & L08 Quantifiers and Languages (2.3, 2.5, 2.6)
Thu 27 May L09 (No live lecture) Relations and Functions (2.8, 2.9)
Thu 28 May D02 Conjunctive Normal Form
Week3:
Mon 31 May L10 & Lec11 Equivalence Relations, Partial Orders (2.10, 2.11)
Wed 02 June L12 & L13 Divisibility and Primes, The Chinese Remainder Theorem (3.1, 3.5)
Thu 03 June L14 (No live lecture) The Fundamental Theorem of Arithmetic (3.6)
Thu 03 June D03 Infinitely Many Primes (3.4)
PART II: Induction, Trees, and Searching
Week4:
Mon 07 June L15 & L16 Recursive Definition, Proof by Induction for Naturals (4.1, 4.3)
Wed 09 June L17 & L18 Variations on Induction for Naturals, Induction for Problem Solving (4.4,4.11)
Thu 10 June D04 Practicing Induction Proofs
Week5:
Mon 14 June L19 & L20 Strings and String Operations,Supplementary Induction Topics (4.7)
Wed 16 June L21 & L22 Graphs, Paths, and Trees, Recursion on Trees (4.9, 9.1, 9.3)
Thu 17 June D05 More Induction Practice
Week6:
Mon 21 June L23 & L24 General, Breadth-First, and Depth-First Search, BFS and DFS on Graphs (9.4,9.5, 9.6)
Thu 23 June L25 & L26 Uniform-Cost and A* Search,Games and Adversary Search (9.8,9.9,9.10)
Thu 24 June D06 Comparing Graph Searches
PART III: Regular Expressions, Finite-State Machines, and Computability
Week7:
Mon 28 June L27 & L28 Regular Expressions and Their Languages, Proving Regular Language Identities (5.1, 5.2, 5.4)
Wed 30 June L29 & L30 Proving Properties of the Regular Languages, What DFA's Can and Can't Do (5.4,5.5, 14.1, 14.2)
Thu 1 July D07 Designing Regular Expressions (5.3)
Week8:
Mon 5 July L31 & L32 The Myhill-Nerode Theorem, NFA's and the Subset Construction (14.3,14.5, 14.6)
Wed 7 July L33 & L34 Killing λ-moves: λ-NFA's to NFA's & Constructing NFA's from Regular Expressions (14.7, 14.8)
Thu 8 July D08 Minimizing DFA's (14.3)
Week9:
Mon 12 July L35 & L36 State Elimination: NFA's to Regular Expressions, Two-Way Automata and Turing Machines (14.10, 15.1, 15.6)
Wed 14 July L37 & L38 Turing Machine Semantics ,The Halting Problem and Unsolvability (15.8, 15.19)
Thu 15 July D09 Turing Machines