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. It is introductory for the advanced courses in Complexity, Programming languages and Compilers, as well as for the courses in Security and Cryptography, Static Analysis and Protection, Artificial Intelligence, Automated Deduction, Semantics, Non-standard computational models.
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.
|N. Jones||Computability and Complexity||MIT Press||1997|
|Christos H. Papadimitriou||Computational complexity||Addison Wesley||1994||0201530821|
|John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman||Introduction to Automata Theory, Languages and Computation (Edizione 2)||Addison-Wesley||2000||0201441241|
|Michael Sipser||Introduction to the Theory of Computation||PWS||1997||053494728X|
|H. Rogers||Theory of recursive functions and effective computability||MIT Press||1988|
Written exam in 4 sessions, with intermediate evaluation. The exams are scheduled as follows: 1 intermediate (written) evaluation during the course, 1 exam in the Extraordinary Session at the end of the course, 1 exam in the Summer Session and 1 exams in the Fall Session.