Linguaggi e computabilità - Programma 2015
Transcript
Linguaggi e computabilità - Programma 2015
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 B ‐ caratterizzante 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: POMELLO Lucia Cognomi A‐L Turno Docenti e attività didattica Tipologia attività didattica assistita docente N° ore attività didattica assistita erogata Lezione LEPORATI Alberto 6 48 Esercitazione LOCORO Angela 1 10 Laboratorio LEPORATI Alberto 1 12 8 70 totale Cognomi M‐Z N° cfu Lezione POMELLO CHINAGLIA Lucia 6 42 Esercitazione LOCORO Angela 1 10 Laboratorio GESSO Iade 1 12 8 64 totale Metodi didattici Lezioni, esercitazioni, laboratorio, sviluppo di un progetto individuale o in gruppo CV docente CV docente CV docente 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. 2015‐2016 argomento tipologia attività didattica lezione frontale 1 Introduzione ai contenuti del corso I concetti matematici di base per la teoria degli automi laboratorio Lezione frontale laboratorio Lezione frontale laboratorio Lezione frontale 18 7 esercitazione laboratorio studio individuale 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 22 8 esercitazione studio individuale Proprieta’ del linguaggi regolari Pumping Lemma per diimostrare che un linguaggio (non) e’ regolare 4 Chiusura di linguaggi regolari rispetto ad operazioni booleane Chiusura di linguaggi regolari rispetto ad opera ioni booleane Equivalenza e minimizzazione di automi 2 9 esercitazione studio individuale Espressioni regolari Automi a stati finiti ed espressioni regolari 3 Applicazioni delle espressioni regolari Proprieta’ algebriche per le espressioni regolari 4 esercitazione studio individuale Automi a stati finiti deterministici Automi a stati finiti non deterministici 2 Un’applicazone: ricerche testuali Automi a stati finiti con epsilon‐transizioni ore Lezione frontale 16 8 esercitazione laboratorio studio individuale Lezione frontale 16 6 esercitazione laboratorio studio individuale Lezione frontale 10 6 esercitazione laboratorio studio individuale 10 Lezione frontale Analizzatori lessicali e sintattici 8 Linguaggi di mark‐up: XML Illustrazione del progetto da svolgere esercitazione laboratorio studio individuale 10 12 36