Course Overview
|
Course Synopsis
|
This is the first pure course in theoretical computer science. It discusses some of the fundamental questions about computation. It starts with an overview of the concepts in theory of automata. Then discusses computability theory in detail. After developing concepts in computability theory the course moves forward to complexity theory. Complexity theory is subdivided into time and space complexity. The course first discusses time complexity and after that space complexity is covered in detail.
|
Course Learning Outcomes
|
At the completion of the course, you should be able to answer the following questions:
- What is computation?
- Is there a universal model of computation?
- Can everything be computed?
- Can we identify problems that are not computable?
- What resources are needed to perform a certain computation?
- Can we identify computationally hard problems?
|
Course Calendar
|
1
|
Introduction to Theory of Computation and Overview of the Course
|
2
|
Set Thoery, Sets, Sequences, tuples, Functions, Relations and Graphs
|
3
|
Turing Machine and Its Language
|
4
|
Designing Turing Machines
|
5
|
Variants of Turing Machines
|
6
|
Enumerators, Dovetailing, The Church-Turing Thesis, Hilbert's tenth Problem
|
7
|
Decidable Languages, The Acceptance Problem for DFAs
|
8
|
The Halting Problem, Universal TM
|
9
|
Undicidability of the Halting Problem
|
10
|
Linear Bounded Automata, Computation Histories, Context Free Grammars
|
11
|
Russell's Paradox, Reducibility, Emptiness Problem
|
12
|
Post Correspondence Problem, Computable Functions
|
13
|
Computable Functions, Reducibility
|
14
|
Reducibility, Recursion Theorem
|
15
|
Recursion Theorems, Logical Theories
|
17
|
Logical Theories, Godel's Theorem
|
18
|
Oracles, Turing Reducibility
|
19
|
A definition of information, Incompressible Strings
|
20
|
Incompressible Strings, Complexity Theory
|
21
|
Big Oh, Little Oh Notations, Time Complexity
|
22
|
Non-Deterministic Time, The Class P, The Class NP
|
23
|
The Class NP, Polynomial Time Verifiers
|
25
|
Subset Sum Problem, Satisfiability
|
26
|
NP-Completness, Satisfiability, 3-Color
|
28
|
The Cook-Levin Theorem
|
29
|
NP-Completeness, Independent Sets
|
30
|
Independent Sets, NP-Completeness, Clique, Vertex Cover
|
31
|
NP-Completeness, Clique, Vertex Cover
|
32
|
Hamiltonian Path Problem
|
33
|
The Subset Sum Problem
|
34
|
The Traveling Salesman Problem
|
35
|
An Approximation Algorithm for TSP Problem
|
37
|
Space Complexity (Cont.)
|
38
|
Relationship between Space and Time Complexity, PSPACE-Completeness
|
39
|
TQBF, Prove that TQBF is PSPACE-Complete
|
40
|
TQBF, FORMULA-GAME, Generalized Geography
|
41
|
Generalized Geography (Cont.)
|
43
|
Prove the Theorem: NL = co-NL
|
44
|
Prove the Theorem: NL = co-NL (Cont.)
|
45
|
Overview of the course covered
|
|
|
|