Theory of Computation
BASIC DATA
course listing
A - main register
course code
ITB8821
course title in Estonian
Arvutamisteooria
course title in English
Theory of Computation
course volume CP
-
ECTS credits
6.00
to be declared
yes
fully online course
not
assessment form
Examination
teaching semester
spring
language of instruction
Estonian
English
Study programmes that contain the course
code of the study programme version
course compulsory
IAPM02/25
no
Structural units teaching the course
EV - Virumaa College
IT - Department of Software Science
Course description link
Timetable link
View the timetable
Version:
VERSION SPECIFIC DATA
course aims in Estonian
Tutvustada kuulajatele arvutatavuse mõistet ning ülesannete algoritmilise lahendatavuse piire. Tuua näiteid mittelahenduvatest ülesannetest. Esitada sissejuhatus formaalsete keelte ja automaatide teooriasse.
course aims in English
Introducing the concept of computability and the limits of solving problems with algorithms. Provide examples of non-solvable tasks. Introduce the theory of formal languages and machines.
learning outcomes in the course in Est.
Kursuse läbinud üliõpilane:
- tunneb arvutatavuse analüüsiks kasutatavaid formaalseid mudeleid, sh lõplikke automate, magasinmäluga automate ja Turingi masinat ning oskab neid hulkade (keelte) aktsepteerimise ja rekursiivse loendamise ülesannete jaoks koostada;
- tunneb Church-Turingi teesi ja oskab teoreetiliselt põhjendada ülesannete mittelahenduvust;
- tunneb klassikalisi keerukusklasse, sh P ja NP, ning oskab hinnata algoritmide ja ülesannete keerukust.
learning outcomes in the course in Eng.
On completion of the course, the student:
- Understands the formal models used for computability analysis, including final machines, machines with a magazine memory and the Turing machine, and can compile them for the tasks of accepting and recursively counting the amounts (languages);
- Understands the Church-Turing thesis and can theoretically explain the non-solvability of the problems;
- Understands the classic complexity classes, including P and NP, and can evaluate the complexity of algorithms and tasks.
brief description of the course in Estonian
Lõplikud automaadid ja regulaarsed keeled. Regulaarsed avaldised. Keeled ja grammatikad. Keele regulaarsuse ja kontekstivabaduse tunnused. Keelte Chomsky hierarhia. Magasinmäluga automaadid ja kontekstivabad keeled. Turingi masin. Arvutatavuse mõiste. Church-Turingi tees ja peatumisprobleemid. Lahenduvad ja rekursiivselt loenduvad hulgad. Rekursiivsed funktsioonid ja Gödeli numbrid. Algoritmide ja ülesannete keerukus. Deterministlik ja mittedeterministlik keerukus. Ajalise ja mahulise keerukuse klasside hierarhia ja täielikud keerukusklassid. Programmide tsüklomaatiline keerukus.
brief description of the course in English
Finite state machines and regular languages. Regular expressions. Languages and grammar. Characteristics of language regularity and contextual freedoms. Chomsky hierarchy of languages. Machines with a magazine memory and context free languages. Turing machine. Concept of computability. Church-Turing thesis and halting problems. Solvable and recursively countable amounts. Recursive functions and Gödel numbers. Complexity of algorithms and tasks. Deterministic and non-deterministic complexity. Hierarchy of time and volume complexity classes and complete complexity classes. Cyclomatic complexity of programmes.
type of assessment in Estonian
Eksamil on nii suuline (teooria) kui kirjalik (ülesannete lahendamine) osa. Kodu- ja kontrolltööde tulemusi võidakse arvestada lõpphinde komponendina.
type of assessment in English
The examination has both an oral (theory) and a written (problem solving) part. Homework and test results may be taken into account as a component of the final grade.
independent study in Estonian
3* 16 tundi loenguid + 1*16 harjutustundi + 92 tundi iseseisvat (sisaldab ülesannete lahendamist kodutööna) tööd = 156 tundi
independent study in English
3* 16 h of lectures + 1* 16 h of practical work + 92 h of independent study (including solving problems as homework) = 156 h
study literature
1. Michael Sipser. Introduction to the Theory of Computation. Third Edition. Cengage Learning, 2013.
2. H.Rogers. Theory of Recursive Functions and Effective Computability (The MIT press, Cambridge, Massachusetts, 1992).
3. M. Tombak. Keerukusteooria. Tartu Ülikooli Kirjastus, Tartu, 2007.
4. Aine koduleht: http://www.cs.ioc.ee/RekKursus/
study forms and load
daytime study: weekly hours
4.0
session-based study work load (in a semester):
lectures
3.0
lectures
12.0
practices
0.0
practices
0.0
exercises
1.0
exercises
4.0
lecturer in charge
-
LECTURER SYLLABUS INFO
semester of studies
teaching lecturer / unit
language of instruction
Extended syllabus
2025/2026 spring
Jaan Penjam, IT - Department of Software Science
Estonian
    display more
    2024/2025 spring
    Jaan Penjam, IT - Department of Software Science
    Estonian
      2023/2024 spring
      Jaan Penjam, IT - Department of Software Science
      Estonian
        2022/2023 spring
        Jaan Penjam, IT - Department of Software Science
        Estonian
          2021/2022 spring
          Jaan Penjam, IT - Department of Software Science
          Estonian
            Hindamine_eng.pdf 
            Course description in Estonian
            Course description in English