The course covers standard principles and methods in theoretical computer science, notably in automata theory and computability. The course is structured in two parts: in the first part we cover automata, regular languages, context-free grammars, normal forms and formal Chomsky's language hierarchy. In the second part we cover the notion of computable function, decidability and issues in the mathematical or recursion.
The course requires the standard courses on Programming, Algorithms, Discrete mathematics and logic.
Automata and formal languages (20h): Formal languages and grammars, finite state automata, regular languages, context-free languages, normal forms, Push-down automata, Chomsky classification of formal languages. Computability (25h): intuitive notion of algorithm, Turing analysis of computable functions, Turing machines and WHILE-programs, Church thesis, Goedelization, universality, Theorem s-m-n, unsolvable problems and halting problem, metaprogramming, recursive and recursive enumerable sets, Recursion theorems, Rice Theorem, reducibility, complete, creative and productive sets.
Written exam
Strada le Grazie 15
37134 Verona
VAT number
01541040232
Italian Fiscal Code
93009870234
© 2021 | Verona University | Credits