CSCI 338: Computer Science Theory

Spring 2019

Date Lecture Topic Reading Homework
09 Jan
11 Jan
Introduction
Sets & Graphs
 
3-13
 
 
14 Jan
16 Jan
18 Jan
Proofs
Finite Automata
Regular Languages
17-24
31-36
37-43
HW 1 (Due 23 Jan)
 
 
21 Jan
23 Jan
25 Jan
MLK Day - No Class
Regular Languages
NFAs
 
44-47
47-54
 
HW 2 (Due 28 Jan)
 
28 Jan
30 Jan
01 Feb
NFA/DFA Equivalence
Regular Expressions
Pumping Lemma
55-63
63-76
77-82
HW 3 (Due 04 Feb)
 
 
04 Feb
06 Feb
08 Feb
Pumping Lemma
Pumping Lemma
Context-Free Languages
77-82
77-82
101-110
HW 4 (Due 11 Feb)
 
 
11 Feb
13 Feb
15 Feb
Pushdown Automata
Review
Quiz 1
111-124
 
 
 
 
 
18 Feb
20 Feb
22 Feb
President's Day - No Class
Turning Machines
Turing Machines
 
165-170
170-172, 182-187
 
HW 5 (Due 25 Feb)
 
25 Feb
27 Feb
01 Mar
Decidability
Decidability
Decidability
193-197
197-200
200-210, 215-216
HW 6 (Due 04 Mar)
 
 
04 Mar
06 Mar
08 Mar
Reducibility
Reducibility
Reducibility
215-218
218-219
220-223
HW 7 (Due 11 Mar)
 
 
11 Mar
13 Mar
15 Mar
Reducibility
Review
Quiz 2
223-227
 
 
 
 
 
18 Mar
20 Mar
22 Mar
Spring Break
Spring Break
Spring Break
 
 
 
 
 
 
25 Mar
27 Mar
27 Mar
Time Complexity
P
NP
275-278
283-290
292-298
HW 8 (Due 01 Apr)
 
 
01 Apr
03 Apr
05 Apr
NP-Completeness
NP-Completeness
NP-Completeness
299-303
304-311
311-322
HW 9 (Due 08 Apr)
 
 
08 Apr
10 Apr
12 Apr
Review
NP-Completeness (Handout)
NP-Completeness
Notes
Notes
Notes
HW 10 (Due 15 Apr)
 
 
15 Apr
17 Apr
19 Apr
Approximation Algorithms
Approximation Algorithms
University Day
Notes
Notes
 
HW 11 (Due 22 Apr)
 
 
22 Apr
24 Apr
26 Apr
Review
Quiz 3
Review
 
 
 
 
 
 
01 May FINAL EXAM, 8 - 9:50 am    
Schedule subject to change. Refresh webpage (or hit F5) to view current page.

Lecture

Instructor

Sean Yaw

Textbook

Course Prerequisites

Course Objectives

MSU course description: Formal languages, theory, automata, Turing Machines, computability, the Church-Turing thesis, computational complexity, and NP-completeness.

At the end of the course, my goal is for you to be able to:

  1. Understand what NP-Complete problems are, have an intuition for the solvability of new problems, and have familiarity with techniques to deal with NP-Complete problems.
  2. Given a problem, understand it and develop a clear, efficient plan to solve it.
  3. Be comfortable proving statements and formulating clear arguments.
  4. Understand that some problems cannot be solved.
  5. Understand various computational models and their inherit limitations.

Grading

At the end of the semester, grades will be determined (after any curving takes place) based on your class average as follows:

Late Policy

If you submit a homework assignment late, but within 12 hours of being due, the maximum credit you can receive is 50%. After 12 hours, you receive 0.

Collaboration Policy

Failure to abide by these rules will result in everyone involved being reported to the Dean of Students and could result in failing the course.