Skip to main content
Skip header
Ukončeno v akademickém roce 2009/2010

Introduction to Theoretical Computer Science

Type of study Bachelor
Language of instruction Czech
Code 456-0511/01
Abbreviation UTI
Course title Introduction to Theoretical Computer Science
Credits 6
Coordinating department Department of Computer Science
Course coordinator doc. Ing. Zdeněk Sawa, Ph.D.

Osnova předmětu

Lectures:
- Basics of propositional and predicate logic.
- Analysis of sentences of a natural language in the language of propositional and predicate logic.
- Deduction of consequences. Set theoretical / semantic proofs.
- Basics of resolution method.
- Formal languages - basic notions (an alphabet, a word, a language). Operations
on languages. Finite automata.
- Construction of finite automata. Nondeterinistic finite automata.
- Transformation of nondeterministic finite automata to deterministic.
Regular expressions.
- Context-free grammar and languages.
- Algorithmic problems. Models of computation (Turing machines and RAM machines).
- Asymptotic notation. Complexity of algorithms.
- Complexity of problems. Complexity classes. Reductions between problems. NP-complete
problems.
- Algorithmically undecidable problems.

Tutorials:
- Recalling of basics of the set theory, relations, functions and the graph theory.
- Propositional and predicate logic.
- Analysis of sentences of a natural language in the language of propositional and predicate logic.
- Deduction of consequences. Set theoretical / semantic proofs.
- Resolution method.
- Operations with languages.
- Construction of finite automata.
- Transformation of nondeterministic automata to deterministic.
- Regular expressions.
- Context-free grammars.
- Turing machines and RAM machines.
- Asymptotic notation. Complexity of algorithms.
- Complexity of problems. Complexity classes.

Povinná literatura

- Sipser, M.: Introduction to the Theory of Computation, PWS Publishing Company, 1997.
- Kozen, D.: Automata and Computability. Undergraduate Text in Computer Science,
Springer Verlag, 1997.
- Hopcroft, J.E., Motwani, R., Ullman, J, D.: Introduction to Automata Theory, Languages,
and Computation (3rd Edition), Addison Wesley, 2006.
- Huth, M., Ryan, M.: Logic in Computer Science: Modelling and Reasoning about Systems,
Cambridge University Press, 2004.

Doporučená literatura

- Papadimitriou, C.: Computational Complexity, Addison Wesley, 1993.
- Gruska, J.: Foundation of Computing. International Thomson Computer Press, 1997.