Corso di Laurea Triennale in Informatica
Transcript
Corso di Laurea Triennale in Informatica
Corso di Laurea Triennale in Informatica - 2° anno Codice e denominazione insegnamento E3101Q111 - Linguaggi e computabilità N° cfu Tipologia Attività Formativa (TAF) SSD semestre 8 Bcaratterizzante INF/01 1 Tipo insegnamento Obbligatorio Contenuti: Automi a stati finiti, linguaggi regolari e espressioni regolari. Linguaggi e grammatiche libere da contesto e automi a pila. Elementi di computabilità: la macchina di Turing; la tesi di Church-Turing; la macchina di Turing Universale. Problemi non risolvibili. Linguaggi di mark-up e di serializzazione e loro relazione con le grammatiche. Obiettivi formativi: L’insegnamento ha l’obiettivo di mettere in relazione elementi della teoria dei linguaggi formali con le basi dell'analisi lessicale e sintattica dei linguaggi di programmazione e di rendere lo studente consapevole dei limiti della computazione. Lo studente sarà in grado di definire grammatiche regolari e libere da contesto che sono necessarie per l’utilizzo di analizzatori sintattici standard. Prerequisiti: I contenuti degli insegnamenti del primo anno Docente responsabile dell'insegnamento: SIMONE Carla Cognomi A-L Turno Docenti e attività didattica Tipologia attività didattica assistita docente N° ore attività didattica assistita erogata Lezione SIMONE Carla 6 42 CV docente Esercitazione CABITZA Federico 1 8 CV docente Laboratorio da definire 1 8 CV docente 8 58 totale Cognomi M-Z N° cfu Lezione POMELLO CHINAGLIA Lucia 6 42 CV docente Esercitazione CABITZA Federico 1 8 CV docente Laboratorio da definire 1 8 CV docente 8 58 totale Metodi didattici Lezioni, esercitazioni, laboratorio, sviluppo di un progetto individuale o in gruppo Testi di riferimento: J.E. Hopcroft, R. Motwani, J.D. Ullman, Automi, linguaggi e calcolabilita’, Addison Wesley Materiale fornito sul supporto e-learning Modalità di verifica dell'apprendimento La verifica dell'apprendimento comprende una prova scritta e un colloquio orale durante il quale si discute il progetto svolto. Programma esteso – a.a. 2013-2014 argomento tipologia attività didattica lezione frontale 1 Introduzione ai contenuti del corso I concetti matematici di base per la teoria degli automi laboratorio studio individuale Lezione frontale Espressioni regolari Automi a stati finiti ed espressioni regolari 3 Applicazioni delle espressioni regolari Proprieta’ algebriche per le espressioni regolari Lezione frontale Proprieta’ del linguaggi regolari Pumping Lemma per diimostraree che un linguaggio (non) e’ regolare 4 Chiusura di linguaggi regolari rispetto ad operazioni booleane Equivalenza e minimizzazione di automi Lezione frontale Grammatiche Grammatiche Libere dal Contesto 5 Alberi sintattici Applicazioni delle Grammatiche Libere dal Contesto Ambiguita’ nelle Grammatiche e nei Linguaggi Macchine di Turing Problemi che i calcolatori non possono risolvere 6 La Macchina di Turing Estensione alla Macchina di Turing semplice Macchine di Turing ridotte Computabilita’ Linguaggi non Ricorsivamente Enumerabili 7 Linguaggi Ricorsivamente Enumerabile e Ricorsivi Problemi indecidibili relativi alle Macchine di Turing Lezione frontale Analizzatori lessicali e sintattici Illustrazione del progetto da svolgere 3 esercitazione Automi a stati finiti deterministici Automi a stati finiti non deterministici 2 Un’applicazone: ricerche testuali Automi a stati finiti con epsilon-transizioni 8 Linguaggi di mark-up: XML ore 2 8 esercitazione laboratorio studio individuale 24 7 esercitazione laboratorio studio individuale 18 7 esercitazione laboratorio studio individuale 20 7 esercitazione laboratorio studio individuale Lezione frontale 18 5 esercitazione laboratorio studio individuale Lezione frontale 10 5 esercitazione laboratorio studio individuale 10 Lezione frontale esercitazione laboratorio studio individuale 8 8 40