![](https://courses.cs.ut.ee/2025/TCS/spring/Main/HomePage?action=download&upname=Banner_ITCS_4.png)
General information
Lecturer: Vitaly Skachek
Teaching staff: Kristjan Kõiv, Kristiina Oksner, Kristo Väljako, Hans Kristjan Veri, Reimo Palm
Language of instruction: lectures are in English, practice sessions are in English and Estonian
Lectures:
- Fri. 12.15 - 14.00, Narva mnt 18 - 1037 -- Vitaly Skachek (English)
Tutorials:
- Mon. 10.15 - 12.00, Narva mnt 18 - 2047 -- Kristo Väljako (Estonian)
- Mon. 12.15 - 14.00, Narva mnt 18 - 2047 -- Kristjan Kõiv (Estonian)
- Mon. 14.15 - 16.00, Narva mnt 18 - 2047 -- Kristo Väljako (Estonian)
- Tue. 10.15 - 12.00, Narva mnt 18 - 2047 -- Hans Kristjan Veri (English)
- Tue. 12.15 - 14.00, Narva mnt 18 - 2047 -- Kristiina Oksner (Estonian)
Announcements
- There will be no practice sessions (tutorials) on February 10th and 11th. The first lecture will take place on February 14th.
Exam dates
- Midterm exam: TBA
- Final exam: TBA
- Midterm exam retake: TBA
- Final exam: TBA
- Midterm exam retake: TBA
- Final exam retake: TBA
Literature
- Michael Sipser, Introduction to the Theory of Computation
- Jiri Matousek and Jaroslav Nesetril, An Invitation to Discrete Mathematics
Course description
This is a second year bachelor-level introductory course into the theory of computer science. The course will emphasize mathematical foundations of computer science, and will focus on computational models, their analysis and formal proofs. While theory of computer science is very important in practice, this course will not focus on implementations and programming.
In the first four weeks we will briefly cover basic counting techniques in combinatorics. Then, several weeks will be devoted to the automata theory. The second half of the semester will be devoted to computational models, Turing machines and NP-hardness.
Grading policy
There will be a number of homework assignments, mid-term and final exams. The homework assignments and exams are evaluated on the scale 0-100 (extra bonus points are possible). The final grade is taken as a weighted average of homeworks and exams, and translated into "A"-"F" scale. The composition of the grade is: homeworks (20%), mid-term exam (40%) and final exam (40%). The homeworks will mainly contain questions of theoretical and mathematical nature, and typically will not include programming tasks.
Syllabus
The following is a preliminary list of topics (some deviations from this list are possible):
Part 1: Enumerative combinatorics
- Permutations and combinations
- Newton’s binomial theorem
- Inclusion-exclusion principle
Part 2: Automata theory
- Deterministic and non-deterministic finite automata
- Regular expressions and regular languages
- Context-free languages
Part 3: Computability theory
- Turing machines
- Undecidable problems
- Equivalences between different models of Turing machines
- SAT and Cook's theorem
- Examples of NP-complete problems
Image credit: Turing Machine, Tom Dunne, American Scientist, March-April 2002