Automata and Formal Languages

Professor: Laura Pozzi
Assistant: Francesco Alberti

Tipo di corso: Lecture
Valore in crediti ECTS: 3
Riferimenti bibliografici sul sito della biblioteca (CoRe)


Academic year 2012/13 - Spring semester

Prerequisites: Discrete Mathematics I

Objectives
The theory of automata and formal languages deals with the problem of modeling computation: what is a computer, and what are its fundamental capabilities? Thus, it constitutes the basis for further studies on the theory of computability and complexity. Additionally, "Automata and Formal Languages" is a very practical course, as it provides knowledge of the models used in many branches of computer science, from scanners and lexical analyzers in compilers, to programs for designing digital circuits, and even in other areas such as linguistics. At the end of this course you will be very familiar with the main models of computations used today, you will understand how they are fundamental to further studies and you will be ready for a more advanced course on the theory of computation.

Contents
The course will cover finite automata, regular languages, regular expressions, deterministic and nondeterministic models, context-free grammars, pushdown automata, turing machines.

Teaching mode
There is one lecture per week. Attendance is mandatory.

References
Introduction to the Theory of Computation, Michael Sipser, Thomson Course Technology, Second Edition, 2006