FI:IB005 Formal languages and Automata - Course Information
IB005 Formal Languages and Automata
Faculty of InformaticsSpring 2025
- Extent and Intensity
- 2/2/1. 4 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: z (credit).
In-person direct teaching - Teacher(s)
- prof. Dr. rer. nat. RNDr. Mgr. Bc. Jan Křetínský, Ph.D. (lecturer)
Mgr. Paulína Ayaziová (seminar tutor)
Bc. David Dokoupil (seminar tutor)
Mgr. Vít Jelínek (seminar tutor)
Bc. Tereza Kinská (seminar tutor)
Mgr. Tereza Schwarzová (seminar tutor)
Bc. Adéla Štěpková (seminar tutor)
Mgr. Marek Trtík, Ph.D. (seminar tutor)
Petra Ludvová Hašková, DiS. (assistant)
Karel Procházka (assistant)
Mgr. Anna Řechtáčková (assistant) - Guaranteed by
- prof. Dr. rer. nat. RNDr. Mgr. Bc. Jan Křetínský, Ph.D.
Department of Computer Science – Faculty of Informatics
Supplier department: Department of Computer Science – Faculty of Informatics - Prerequisites
- IB000 Math. Foundations of CS
Knowlegde corresponding to the courses IB000 Mathematical Foundations of Computer Science - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- Image Processing and Analysis (programme FI, N-VIZ)
- Bioinformatics and systems biology (programme FI, N-UIZD)
- Computer Games Development (programme FI, N-VIZ_A)
- Computer Graphics and Visualisation (programme FI, N-VIZ_A)
- Computer Networks and Communications (programme FI, N-PSKB_A)
- Cybersecurity Management (programme FI, N-RSSS_A)
- Formal analysis of computer systems (programme FI, N-TEI)
- Graphic design (programme FI, N-VIZ)
- Graphic Design (programme FI, N-VIZ_A)
- Hardware Systems (programme FI, N-PSKB_A)
- Hardware systems (programme FI, N-PSKB)
- Image Processing and Analysis (programme FI, N-VIZ_A)
- Information security (programme FI, N-PSKB)
- Informatics (programme FI, B-INF) (2)
- Informatics in education (programme FI, B-IVV) (2)
- Information Security (programme FI, N-PSKB_A)
- Quantum and Other Nonclassical Computational Models (programme FI, N-TEI)
- Computer graphics and visualisation (programme FI, N-VIZ)
- Computer Networks and Communications (programme FI, N-PSKB)
- Principles of programming languages (programme FI, N-TEI)
- Programming and development (programme FI, B-PVA)
- Cybersecurity management (programme FI, N-RSSS)
- Services development management (programme FI, N-RSSS)
- Software Systems Development Management (programme FI, N-RSSS)
- Services Development Management (programme FI, N-RSSS_A)
- Software Systems Development Management (programme FI, N-RSSS_A)
- Software Systems (programme FI, N-PSKB_A)
- Software systems (programme FI, N-PSKB)
- Machine learning and artificial intelligence (programme FI, N-UIZD)
- Teacher of Informatics and IT administrator (programme FI, N-UCI)
- Informatics for secondary school teachers (programme FI, N-UCI) (2)
- Computer Games Development (programme FI, N-VIZ)
- Processing and analysis of large-scale data (programme FI, N-UIZD)
- Natural language processing (programme FI, N-UIZD)
- Course objectives
- Students should be able to understand and explain the rich heritage of models and abstractions that have arisen over the years, and to develop the students' capacity to form abstractions of their own and reason in terms of them.
- Learning outcomes
- At the end of the course students should be able to:
Demonstrate an in-depth understanding of theories, concepts and techniques in automata and their link to computation.
Develop abstract machines that demonstrate the properties of physical/SW systems and be able to specify the possible inputs, processes and outputs of these machines. Analyze the computational strengths and weaknesses of these machines.
Understand the concept of computability by manipulating these machines in order to demonstrate the properties of computational processes.
Practice techniques of program design and development by using abstract machines. Apply automata concepts and techniques in designing systems that address real world problems - Syllabus
- Languages and grammars. Chomsky hierarchy.
- Finite automata and regular grammars.
- Properties of regular languages. Applications.
- Context-free grammars and pushdown automata.
- Properties of context-free languages.
- Turing machines (TM). Computable languages and functions, LBA. Properties of recursive and recursive enumerable languages.
- Undecidability, halting problem for TM, Reduction, Post Correspondece Problem, undecidable problems from language theory.
- Literature
- ČERNÁ, Ivana, Mojmír KŘETÍNSKÝ and Antonín KUČERA. Formální jazyky a automaty I. Elportál. Brno: Masarykova univerzita, 2006. ISSN 1802-128X. URL info
- GRUSKA, Jozef. Foundations of computing. London: International Thompson Computer Press, 1997, xv, 716 s. ISBN 1-85032-243-0. info
- HOPCROFT, John E. and Jeffrey D. ULLMAN. Introduction to automata theory, languages, and computation. Reading: Addison-Wesley Publishing Company, 1979, 418 s., ob. ISBN 0-201-02988-X. info
- CHYTIL, Michal. Automaty a gramatiky. Vyd. 1. Praha: SNTL - Nakladatelství technické literatury, 1984, 331 s. URL info
- KOZEN, Dexter C. Automata and computability. New York: Springer, 1997, xiii, 400. ISBN 0387949070. info
- SIPSER, Michael. Introduction to the theory of computation. 2nd ed. Boston: Thomson Course Technology, 2006, xix, 431. ISBN 0534950973. info
- Teaching methods
- Lectures, tutorials/exercises, reading, and homeworks.
- Assessment methods
- Final grading is based on homeworks and a written final exam closed book (without any reading materials).
- Language of instruction
- Czech
- Follow-Up Courses
- Further Comments
- The course is taught annually.
The course is taught: every week. - Listed among pre-requisites of other courses
- Teacher's information
- http://www.fi.muni.cz/usr/kretinsky/fja1.html
- Enrolment Statistics (Spring 2025, recent)
- Permalink: https://is.muni.cz/course/fi/spring2025/IB005