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