Free University of Bozen-Bolzano
Faculty of Computer Science
Master of Science in Computer Science

Home page of the course
Theory of Computing

A.Y. 2010/2011

Prof. Diego Calvanese


Course presentation form (available also as a pdf file)

Objectives. The objective of the Theory of Computing course is to introduce and study abstract, mathematical models of computation (such as Turing machines, formal grammars, recursive functions), and to use the abstract computation models to study the ability to solve computational problems, by identifying both the intrinsic limitations of computing devices, and the practical limitations due to limited availability of resources (time and space). A second objective is to show how to reason and prove properties about computations in a precise, formal, abstract way.

Prerequisites. There are no prerequisites in terms of courses to attend. Students should be familiar with notions of mathematics and set theory, and with basic proof techniques, as taught in the mathematics courses of a bachelor in computer science.

Teaching material

[M1] Introduction to Automata Theory, Languages, and Computation (3rd edition). J.E. Hopcroft, R. Motwani, J.D. Ullman. Addison Wesley, 2007.
[M2] Lecture Notes for Theory of Computing. Diego Calvanese. 2008. Will be made available on the course web page as scanned pages in pdf.
[M3] Languages and Machines (3rd edition). Thomas A. Sudkamp. Addison Wesley, 2005. Only Chapter 13.
[M4] Complexity Theory. Ingo Wegener. Springer, 2005. Only Chapter 14.
Additional reading material Further interesting and fun material

Back to teaching page of Diego Calvanese
Last modified: Friday, 14-Oct-2011 8:12:15 CEST