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