Part 1: Mathematical Background
Introduction to theory of computation
Mathematical notions and terminology
Functions and relations
Graphs, strings, languages, and boolean logic
Terms review
Definitions, theorems, and proofs
Part 2: Finite Automata and Regular Languages
Introduction to finite automata
Formal definition of a finite automaton
Formal definition of computation
The regular operations
Nondeterminism
Nondeterministic finite automata
Closure under regular operations
Transducers
Application to DFA state minimization
Regular expressions
Equivalence of regular expressions and finite automata
Pumping lemma for regular languages
Part 3: Pushdown Automata and Context-Free Grammars
Context-free grammars and languages
Properties of context-free grammars
CFG normal forms
Pushdown automata
Equivalence of pushdown automata with context-free grammars
Pumping lemma for context-free languages
Properties of context-free languages
Context-sensitive languages
Part 4: Truring Machines
Turing machines
Examples of Turing machines
Variants of Turing machines
The definition of algorithm
Computatbility Theory
Decidability: decidable problems concerning regular languages
Decidable problems concerning CFL
Halting problem and diagonalization method
Reducibility: a methodology for proving unsolvability
Reduction via computation histories
Post correspondence problem
Mapping reducibility
Algorithms and recursive functions
Hyper-computation: why interaction is more powerful
than algorithms? (P.Wegner, Comm. ACM, 1997)
Part 5: Advanced Topics in Computability Theory
Advanced topics in computability theory
Decidability of logical theories
Decidable and undecidable theories
An undecidable theory
Turing reducibility
A Definition of information
Measuring computation complexity
Computation complexity class P
Computation complexity class NP
NP-completeness
Introduction to space complexity
Complexity classes L and NL
Part 6: Computation Complexity
Measuring computation complexity
Computation complexity: Class P
Computation Complexity: Class NP
NP Completness