Corso Vittorio Emanuele II, 39 - Roma 0669207671

Computer Engineering (Academic Year 2020/2021) - Programming and security

Theoretical computer science


Credits: 6
Content language:Italian
Course description
Insegnamento obbligatorio della Laurea Magistrale in Ingegneria Informatica indirizzo Programmazione e sicurezza, collocato al II anno. Il corso presenta i vari modelli formali adatti a descrivere linguaggi ed a rappresentare macchine e programmi e ne illustra i principali aspetti:
proprietà sintattiche dei linguaggi e verifiche di correttezza sintattica
potere computazionale dei vari modelli di calcolo
varianti deterministiche e non deterministiche
costi di computazione
Approfondisce il concetto di calcolabilità e comprensione dei limiti teorici dei calcolatori (problemi non decidibili, funzioni non calcolabili) e quello di costo di risoluzione di un problema (complessità computazionale) per comprendere i limiti pratici dei calcolatori (problemi computazionalmente intrattabili).
Prerequisites
insegnamento di Informatica della laurea triennale
Objectives
Presentare vari modelli formali adatti a descrivere linguaggi ed a rappresentare macchine e programmi ed illustrarne i principali aspetti:
proprietà sintattiche dei linguaggi e verifiche di correttezza sintattica
potere computazionale dei vari modelli di calcolo
varianti deterministiche e non deterministiche
costi di computazione
Approfondire le proprietà del concetto di calcolabilità e comprendere i limiti teorici dei calcolatori (problemi non decidibili, funzioni non calcolabili) Approfondire il concetto di costo di risoluzione di un problema (complessità computazionale) e comprendere i limiti pratici dei calcolatori (problemi computazionalmente intrattabili).
Program

- Linguaggi formali e automi.
- Macchine di Turing e calcolabilità
- Macchine a registri
- Funzioni ricorsive e linguaggi funzionali
- Complessità di algoritmi e problemi.

Book
G. AUSIELLO, F. D’AMORE, G. GAMBOSI, Linguaggi, Modelli, Complessità, FrancoAngeli Editore, 2003 (vedere sitografia)
Testi consigliati in alternativa o a completamento:
H. R. LEWIS, CH. PAPADIMITRIOU, Elements of the Theory of Computation, Prentice-Hall, 1981
J. E. HOPCROFT, R. MOTWANI, J. D. ULLMAN, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 2000
D. P. BOVET, P. CRESCENZI, Teoria della complessità computazionale, FrancoAngeli Editore, 1991
P. H. WINSTON, B. K. P. HORN, LISP, Addison-Wesley, 1984
Exercises
Esercizi relativi alle varie parti del corso
Professor/Tutor responsible for teaching
Luigi Laura
List of lessons
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello
Giorgio Ausiello