SWAP - Semantic Web Access and Personalization Research Group

Linguaggi di Programmazione
CdL in Informatica e Comunicazione Digitale - Sede di TARANTO
A.A. 2016-17



Docente: Marco de Gemmis




*Programma Preliminare







Avvisi

  • [22 giugno 17] PUBBLICATI RISULTATI DELLA PROVA DEL 22-06 PER STUDENTI ESONERATI
  • [06 giugno 17] AVVISO per gli studenti che hanno superato la prova in itinere: nella prenotazione della prova d'esame di Giugno, specificate SE AVETE DECISO DI NON ACCETTARE IL VOTO DELLA PROVA IN ITINERE. In assenza di indicazione contraria, assumerò che il voto sia stato accettato.
  • [06 giugno 17] La prova d'esame di giugno sarà effettuata in più turni. Un turno sarà dedicato SOLO agli studenti che hanno superato la prova in itinere. Dopo la chiusura delle prenotazioni, ci sarà la pubblicazione dei turni.
  • [12 maggio 17] PUBBLICATI RISULTATI DELLA PROVA INTERMEDIA
  • [08 maggio 17] Ricevimento 8 maggio annullato per problemi familiari.
  • [03 maggio 17] Calendario Ricevimento: 8 maggio 14:00-16:00, 15 maggio 14:00-16:00, 29 maggio 14:00-15:30. Calendario recupero lezioni per festività (24 aprile e 1 maggio): 12 maggio 14:00-16:30, 19 maggio 14:00-16:30.
  • [06 aprile 16] Le prenotazioni per la prova in itinere sono CHIUSE. Gli iscritti sono suddivisi in DUE turni: Turno 1 e Turno 2
  • [05 aprile 17] Venerdì 7 aprile sarò a disposizione dalle 13:30 alle 15:30 per chiarimenti su esercizi relativi alla prova in itinere.
  • [28 marzo 17] La prova in itinere si terrà il 10 APRILE dalle ORE 10:00 in AULA MAGNA. La prenotazione va effettuata tramite esse3.











Diario

Esercizi su proprietà di chiusura.

  • [5 giugno 17] Il modello di compilatore. Esercitazione in preparazione alle prove d'esame.
  • [29 maggio 17] Esercitazione su Classificazione di Linguaggi nella Gerarchia di Chomsky.
  • [26 maggio 17] Esercizi su espressioni regolari ed appplicazione del Teorema di Kleene.
  • [22 maggio 17] Linguaggi regolari ed espressioni regolari. Teorema di Kleene. Pumping Lemma per linguaggi regolari.
  • [19 maggio 17] Automi a stati finiti non deterministici. Esercizi su Automi.
  • [15 maggio 17] Esercizi su proprietà di chiusura. Automi a stati finiti deterministici.
  • [12 maggio 17] Teoremi di chiusura e dimostrazioni (parte 2).
  • [8 maggio 17] Chiusura di classi di linguaggi. Teoremi di chiusura e dimostrazioni (parte 1).
  • [5 maggio 17] Gerarchia di Chomsky. Operazioni su Linguaggi.
  • [28 aprile 17] Revisione della prima prova in itinere.
  • [10 aprile 17] Prova in itinere.
  • [07 aprile 17] Esercizi per prova in itinere.
  • [03 aprile 17] Relazione tra altezza di un albero e lunghezza della sua frontiera. Pumping Lemma per Linguaggi Context-free (dimostrazione). Esercizi.
  • [31 marzo 17] Alberi di derivazione. Principio di sostituzione dei sottoalberi. Esempi.
  • [27 marzo 17] Grammatiche context-free e grammatiche context-sensitive. Il linguaggio a^nb^nc^n.
  • [24 marzo 17] Esercizi su: dimostrazione di correttezza di una grammatica.
  • [20 marzo 17] Linguaggi e grammatiche: derivazioni, correttezza di una grammatica.
  • [17 marzo 17] Linguaggi e grammatiche: definizioni.
  • [13 marzo 17] Introduzione alle grammatiche: concetto intuitivo di grammatica, albero di derivazione. Il linguaggio delle parentesi ben formate.
  • [10 marzo 17] Problemi, Macchine di Turing e LdP.
  • [6 marzo 17] Presentazione dell'insegnamento. Implementazione dei Linguaggi di Programmazione (LdP).





Prove d'Esame

  • Appelli d'esame (al termine dell'insegnamento) - L'esame consta di una prova scritta che potrà essere articolata come segue: esecuzione di esercizi sulla teoria dei linguaggi formali, enunciazione di definizioni, dimostrazione di teoremi della teoria dei linguaggi formali, quesiti su linguaggi di programmazione e compilatori.
  • Prova intermedia (durante l'insegnamento) - E' prevista una prova scritta intermedia, articolata su una specifica parte del programma indicata dal docente.

Valutazione ed esito delle prove

  • Prova d'appello: valutazione in trentesimi. La prova è superata con un minimo di 18/30.
  • Prova intermedia: valutazione in trentesimi. La prova intermedia è superata con un minimo di 16/30, conseguito svolgendo correttamente almeno uno dei quesiti. Il superamento della prova intermedia esonera lo studente dallo svolgimento di una parte della prova finale, LIMITATAMENTE ALL'APPELLO DI GIUGNO. La valutazione COMPLESSIVA è la media delle valutazioni riportate nella prova intermedia ed in quella d'appello. L'esame è superato con una valutazione COMPLESSIVA minima di 18.

Validità delle prove

  • La prova d'appello è valida solo per l'appello sostenuto (ovvero se si supera la prova scritta, non si può posticipare la verbalizzazione in un appello successivo).
  • La prova in itinere è valida SOLO PER L'APPELLO DI GIUGNO.

Prenotazioni

  • Per sostenere la prova di ciascun appello occorre prenotarsi OBBLIGATORIAMENTE mediante il sistema Esse3.
  • Gli studenti che hanno superato la prova in itinere DEVONO prenotarsi per il PER L'APPELLO DI GIUGNO se intendono avvalersi dell'esonero.

Materiale utilizzabile durante le prove

Solo durante la prova scritta è consentita la consultazione di: tavola relativa alle proprietà di chiusura dei linguaggi ed elenco delle proprietà delle espressioni regolari.









Materiale Didattico



Presentazione dell'insegnamento

Teoria dei linguaggi formali

1 - Introduzione: Macchine astratte, linguaggi di programmazione, Macchine di Turing, Introduzione alla teoria dei linguaggi formali

2 - Grammatiche e linguaggi

3 - Grammatiche CF e grammatiche CS con esercizi

4 - Linguaggi CF, pumping lemma con esercizi

5 - Grammatiche e Macchine con esercizi

6 - Automi con esercizi

7 - Linguaggi regolari con esercizi

Linguaggi di Programmazione e Compilatori

1 - Il modello di un compilatore

2 - Analizzatore lessicale

3 - Tabella dei simboli

4 - Evoluzione dei Linguaggi di Programmazione

Materiale Esercitazioni

1 - Tracce esercizi su Macchine di Turing

2 - Grammatiche e linguaggi: esercizi

3 - Esempio di implementazione Macchina di Turing

4 - Esempio di implementazione FSA

Strumenti di Sviluppo

Siete liberi di usare l'ambiente di sviluppo C che preferite.









Esercizi & Tracce d'Esame

1 - Tracce esercizi per la prova in itinere

2 - Tracce esercizi su automi, linguaggi regolari, operazioni sui linguaggi

3 - Tracce esercizi sulla classificazione di linguaggi





Risultati Appelli e Prove Intermedie









Altri Link Utili