Lesson plan / THEORY OF COMPUTATION

Lesson Information

Course Credit 3.0
Course ECTS Credit 4.0
Teaching Language of Instruction İngilizce
Level of Course Bachelor's Degree, TYYÇ: Level 6, EQF-LLL: Level 6, QF-EHEA: First Cycle
Type of Course Compulsory
Mode of Delivery Face-to-face
Does the course require compulsory or optional work experience? Z
Course Coordinator Prof. Dr. RAFET AKDENİZ
Instructor (s)
Course Assistant

Purpose and Content

The aim of the course Introduction to the Theory of Computation is a classical introduction to automata theory, formal grammars and complexity theory known collectively as the theory of computation.
Course Content General Introduction: Languages, Grammars, Automata (Machines), The Chomsky Hierarchy, Applications. Finite State Machines, Regular Expressions, Regular Grammars, Nondeterminism, Non-regular sets, The Pumping Lemma, Decision Algorithms for Regular Sets

Weekly Course Subjects

1Finite State Machines, Design, Non-Determinism
2Closure Properties, Regular Expressions, Equivalence with Finite State Machines.
3The Pumping Lemma – Proving a Language is Non-Regular, The Adversary Game, Using Closure Properties.
4Regular Grammars, Equivalence to FSMs, Other FSM Variations, Minimization of FSM’s.
5Decision Algorithms for Regular Sets and Undecidability
6Context-Free Grammars, Semantic and Inductive Design, Examples, Applications.
7Chomsky Normal Form. Three Applications.
8Midterm
9Pushdown Machines, Non-Determinism Adds Power, Equivalence to CFG’s.
10The Pumping Lemma and Non-Context-Free Sets.
11Closure Properties, DCFL’s and Decision Algorithms.
12Turing Machines, Design.
13Variations and Equivalence: Non-Determinism, MultiTape, Two-Way.
14Recursive and Recursively Enumerable Sets, Undecidability.

Resources

1-Introduction to the Theory of Computation, Michael Sipser.