Linguaggi formali ed automi Turno 1/2005-2006
Linguaggi formali ed automi (per gli amici LFA) è un insegnamento fondamentale del secondo anno per il corso di laurea in Informatica. Può essere inserito nel piano di studi, come complementare esterno al corso di laurea, anche dagli studenti dei corsi di Informatica per le telecomunicazioni, Comunicazione digitale e dagli studenti delle lauree specialistiche che non hanno sostenuto l'esame durante la triennale.
Indice
- 1 Informazioni generali
- 1.1 Docenti
- 1.2 Orario delle lezioni
- 1.3 Orario di ricevimento
- 1.4 Sito web del corso
- 1.5 Descrizione
- 1.6 Obiettivi e finalità didattiche
- 1.7 Argomenti trattati
- 1.8 Programma
- 1.9 Libro di testo e materiale didattico
- 1.10 Modalità d'esame
- 1.11 Calendario degli appelli
- 1.12 Prerequisiti
- 1.13 Frequenza
- 1.14 Altre informazioni
- 1.15 Link utili
- 2 Diario del corso A.A. 2005/2006
- 3 Avvisi per gli studenti
Informazioni generali
Nome dell'insegnamento | Linguaggi formali e automi |
Corsi di laurea | Informatica |
Categoria | Fondamentale |
Anno | Secondo |
Semestre | Secondo |
Crediti | 6.0 CFU |
Turni | 2 |
Settore disciplinare | INF/01 Informatica |
Ore di didattica | 50 |
Frequenza | Consigliata |
Scheda del corso | http://www.dico.unimi.it/occorrenza.php?z=0;id_occ=1057 |
Docenti
Per gli studenti del turno 1 è responsabile del corso la professoressa Beatrice Palano.
Scheda personale | http://www.dico.unimi.it/persona.php?z=0;id_persona=259 |
palano@dsi.unimi.it | |
Sito web personale | http://homes.dsi.unimi.it/~palano/ |
Telefono | 0250316254 |
Fax | 0250316276 |
Orario delle lezioni
Per l'A.A. 2005/2006 l'inizio delle lezioni è fissato per il 7 marzo e il termine è previsto per l'8 giugno.
Orario di ricevimento
La professoressa riceve il giovedì in orario 15.30-16.30 presso la stanza S203 (Via Comelico, II piano).
Sito web del corso
Qui il sito ufficiale del corso: http://homes.dsi.unimi.it/~palano/cur/lfa.html
Descrizione
Il corso è dedicato alla teoria dei linguaggi formali e degli automi.
Un linguaggio formale è un linguaggio (di qualunque tipo) che può essere descritto per mezzo di precise regole matematiche, utilizzando una scrittura simbolica convenzionale.
Un automa (o macchina astratta) è un modello utilizzato per descrivere e rappresentare un'entità che assume nel tempo diversi stati e configurazioni secondo una precisa sequenza (macchina a stati finiti). In altre parole è un dispositivo astratto che stabilisce una precisa relazione tra un dato di ingresso e un dato di uscita.
Gli automi sono strettamente legati ai linguaggi formali, in quanto consentono di definire algoritmi riconoscitivi, cioè procedure in grado di riconoscere le parole di un linguaggio. Gli automi, più in generale, sono utilizzati per rappresentare una qualsiasi procedura a stati finiti (0 algoritmo o computazione). Gli automi sono utili anche per rappresentare modelli astratti di calcolatori.
La teoria degli automi e dei linguaggi formali è alla base della descrizione dei linguaggi di programmazione e delle macchine calcolatrici, nonché una delle principali branche dell'informatica.
Il suo studio è utile per la costruzione di compilatori, per la progettazione di nuovi linguaggi di programmazione e, in generale, per descrivere le caratteristiche di un linguaggio esistente, nonché per studiare e realizzare modelli astratti di calcolatore.
Molti dei concetti esposti possono essere approfonditi nel corso complemantare di Linguaggi e traduttori.
Obiettivi e finalità didattiche
Apprendere i concetti fondamentali della teoria degli automi e dei linguaggi formali, nonché il loro utilizzo per l'analisi, la descrizione e la compilazione dei linguaggi di programmazione.
Comprendere come descrivere una computazione e un modello di calcolatore.
Argomenti trattati
Linguaggi regolari e linguaggi liberi da contesto. Automi deterministici e non deterministici. Teorema di Kleene. Espressioni regolari. Forma normale di Chomsky. Formalismi BNF. Macchina di Turing. Il linguaggio XML.
Programma
Il programma del corso si compone di tre parti:
- Concetti di base sui linguaggi
- Linguaggi ricorsivi
- Linguaggi ricorsivamente numerabili
- Grammatiche (come esempio di sistema generativo)
- Linguaggi regolari e Automi a stati finiti
- Linguaggi liberi da contesto e Automi a pila
Il programma integrale è disponibile presso il sito web del corso.
Libro di testo e materiale didattico
Non è stato consigliato alcun libro di testo.
Il materiale didattico di riferimento adottato consiste in una serie di dispense (un documento in 3 parti), disponibili presso il sito web del corso.
Nello stesso sito si consiglia il testo J.E. Hopcroft, J.D. Ullman, Introduction to automata theory, languages and computation, Addison-Wesley, 1979.
Modalità d'esame
E' prevista una sola prova orale a fine corso.
Calendario degli appelli
Qui di seguito sono riportate le sessioni d'esame per l'A.A. 2005/2006 (a partire dalla prima prova utile di giugno):
- 19 giugno 2006
- 10 luglio 2006
- 18 settembre 2006
- 15 gennaio 2007
Le date successive sono ancora da stabilire.
Prerequisiti
Sono prerequisiti per il corso di LFA i fondamenti essenziali della programmazione, le nozioni fondamentali dell'insiemistica e la conoscenza del linguaggio algebrico di base.
LFA è invece il prerequisito fondamentale per il corso di Linguaggi e traduttori.
Frequenza
La frequenza al corso non è obbligatoria, ma comunque consigliata.
Altre informazioni
- La professoressa ha sottolineato che il corso ha un taglio molto teorico (cosa potrebbe deludere le aspettative di alcuni studenti).
- Il programma del corso e il materiale didattico sono identici per i due turni, ed è possibile essere ricevuti indifferentemente da entrambi i docenti (nei rispettivi orari).
Link utili
- Materiale didattico sul web:
- http://dida.fauser.edu/sistemi/sistem3/automi.htm
- http://www.dis.uniroma1.it/~ausiello/InfoTeoRM/1.Richiami-05-06.pdf
- http://www-natali.deis.unibo.it/Linguaggi/Linguaggi99/Materiale/LinguaggiEdAutomi/ling98automi.htm
- http://informatica.uniparthenope.it/htm/automilinguaggi.htm
- http://compass2.di.unipi.it/didattica/share/corsi/corso.asp?id=2160&cds=inf&anno=2005
- Articoli utili da wikipedia:
- Programmi dei precedenti anni accademici: