IB005 Formal Languages and Automata

Faculty of Informatics
Spring 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
there are 37 fields of study the course is directly associated with, display
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
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Spring 2020, Spring 2021, Spring 2022, Spring 2023, Spring 2024.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/fi/spring2025/IB005