Formal Languages and Automata Theory, 6 credits (TDDD85)

Formella språk och automatateori, 6 hp

Main field of study

Computer Science and Engineering Computer Science


First cycle

Course type

Programme course


Johannes Schmidt

Director of studies or equivalent

Ahmed Rezine
Course offered for Semester Period Timetable module Language Campus VOF
6CMJU Computer Science and Software Engineering, M Sc in Engineering 2 (Spring 2017) 2 2 Swedish/English Linköping o

Main field of study

Computer Science and Engineering, Computer Science

Course level

First cycle

Advancement level


Course offered for

  • Computer Science and Software Engineering, M Sc in Engineering

Specific information

This course is not available for exchange students

Entry requirements

Note: Admission requirements for non-programme students usually also include admission requirements for the programme and threshold requirements for progression within the programme, or corresponding.


Basic mathematics, for instance given by discrete mathematics courses

Intended learning outcomes

This course will give an introduction to formal languages and automata theory. Automata and formal languages appear (possibly in various disguises) in almost every branch of computer science. Having completed the course the student will be able to:

  • Deal with regular and context-free languages; explain and analyse their descriptions.
  • Describe relations between languages and language classes.
  • Apply basic parsing methods.
  • Explain Turing machines.

Course content

Finite automata and regular expressions. Context-free languages and pushdown automata. Deterministic context-free languages, LR parsing. Chomsky's hierarchy. Introduction to Turing machines.

Teaching and working methods

The theory is presented during the lectures. Problem solving is practiced during the lessons.


TEN1Written examinationU, 3, 4, 55 credits
UPG2Compulsory lab assignmentsU, G1 credits


Four-grade scale, LiU, U, 3, 4, 5

Other information

Supplementary courses:
Compiler Construction, Complexity Theory, Rewriting Systems, Programming Theory, Logic, advanced course


Institutionen för datavetenskap

Director of Studies or equivalent

Ahmed Rezine


Johannes Schmidt

Education components

Preliminary scheduled hours: 50 h
Recommended self-study hours: 110 h

Course literature

D. C. Kozen, Automata and Computability, 1997, Springer Verlag. Kompendium, publiceras på webben.
D. C. Kozen, Automata and Computability, 1997, Springer Verlag. Kompendium, publiceras på webben.
TEN1 Written examination U, 3, 4, 5 5 credits
UPG2 Compulsory lab assignments U, G 1 credits

Regulations (apply to LiU in its entirety)

The university is a government agency whose operations are regulated by legislation and ordinances, which include the Higher Education Act and the Higher Education Ordinance. In addition to legislation and ordinances, operations are subject to several policy documents. The Linköping University rule book collects currently valid decisions of a regulatory nature taken by the university board, the vice-chancellor and faculty/department boards.

LiU’s rule book for education at first-cycle and second-cycle levels is available at 

This tab contains public material from the course room in Lisam. The information published here is not legally binding, such material can be found under the other tabs on this page. There are no files available for this course.

Page responsible: Info Centre,