CS 311 - Computational Structures (Fall 2015)

 

SCHEDULE

Note: The schedule is subject to change. Check back for changes and updates

Semester Timeline
Date Topic Readings Assignments
Week 1
9/28 Course overview
Languages and Language construction
Chapter 0 Assign HW1
9/30 Introduction to DFAs and Regular languages Section 1.1 and 1.2
Week 2
10/5 Closure properties of DFAs
NFAs
DFA and NFA equivalence
HW1 Due
Assign HW2
10/7 Regular expressions
Limits of Regular languages
Sections 1.3 and 1.4
Week 3
10/12 Non-Regular languages
Pumping Lemma
10/14 Introduce context-free languages
Context-free grammars
Sections 2.1 and 2.2 HW2 Due
Assign HW3
Week 4
10/19 Closure properties of context-free languages
Ambiguity
10/21 Pushdown Automata
Chomsky normal form
Sections 2.3 and 2.4 Project 1 Due 10/23
Week 5
10/26 Non-context-free languages
Context-free pumping lemma
10/28 Finish context-free languages
Introduce Turing machines
HW3 Due
Week 6
11/2 Midterm Exam
11/4 Turing Machines
Church-Turing Thesis
Section 3.1 Assign HW4
Week 7
11/9 Turing machine variants Sections 3.2 and 3.3
11/11 No class: Veterans Day
Week 8
11/16 Non-deterministic Turing machines
Limitations of Turing machines
Chapter 4
11/18 Decidability
Undecidability
HW4 Due
Assign HW5
Week 9
11/23 More Decidability and Undecidability
Halting problem
11/25 Mapping Reductions
Rice's Theorem
Chapter 5
Week 10
11/30 Introduction to complexity
P vs. NP
12/2 NP-Complete Problems
Time-complexity vs. Space complexity
HW5 Due
Project 2 Due 12/4
Finals Week
12/7 Final Exam 5:30pm - 7:20pm