SWAP - Semantic Web Access and Personalization Research Group

Linguaggi di Programmazione
CdL in Informatica e Comunicazione Digitale - Sede di TARANTO
A.A. 2009-10



Docente: Marco de Gemmis










Avvisi

  • [12 maggio 2010] Gli studenti fuori corso che intendono sostenere gli appelli di giugno e luglio sono pregati di prenotarsi tramite il sistema online e di contattare il docente per discutere le modalità di svolgimento della prova.
  • [10 febbraio 2010] Pubblicati risultati della prova di laboratorio del 04 febbraio.
  • [25 gennaio 2010] Pubblicati risultati della prova di laboratorio del 21 gennaio.
  • [15 gennaio 2010] Martedì 19 gennaio in mattinata sarà possibile avere spiegazioni sull'esito della prova di laboratorio del 7 gennaio.
  • [14 gennaio 2010] Pubblicati risultati della prova di laboratorio del 7 gennaio.
  • [28 dicembre 09] Pubblicati risultati della seconda prova in itinere.
  • [17 dicembre 09] Aggiornata sezione sulle modalità di svolgimento delle prove d'esame.
  • [17 dicembre 09] Le lezioni sono terminate. Il giorno 22, alle ore 10, si terrà la seconda prova in itinere, aperta anche agli studenti che non hanno superato la prima.
  • [15 dicembre 09] La data della seconda prova in itinere è il giorno: 22-12-2009. Sarà possibile prenotarsi fino al giorno 17-12-2009 contattando il docente a lezione. In alternativa la prenotazione può essere effettuata inviando una mail al docente entro il 17-12-2009.
  • [7 dicembre 09] Pubblicati esercizi di preparazione alla 2a prova in itinere. Pubblicato aggiornamento degli esercizi relativi a linguaggi liberi da contesto.
  • [27 novembre 09] La lezione del giorno 10 dicembre 2009 non si terrà causa missione.
  • [30 ottobre 09] La lezione del 10 novembre 2009 è anticipata al giorno precedente, dalle 9.30 alle 14.30.
  • [29 ottobre 09] La data della prima prova in itinere è il giorno: 12-11-2009. Sarà possibile prenotarsi fino al giorno 9-11-2009 contattando il docente nei giorni di lezione.
  • [13 ottobre 09] Le lezioni del 20 e 22 ottobre non si terranno causa missione all'estero
  • [06 ottobre 09] Inizio del corso









Diario

  • [22 dicembre 09] Seconda prova in itinere.
  • [17 dicembre 09] La tabella dei simboli. Evoluzione dei linguaggi ad alto livello. Revisione esercizi di preparazione alla II prova in itinere.
  • [15 dicembre 09] Il modello di compilatore. L'analizzatore lessicale.
  • [3 dicembre 09] Esercizi su linguaggi regolari. Laboratorio: Implementazione di automi a stati finiti.
  • [1 dicembre 09] Linguaggi regolari, espressioni regolari, teorema di Kleene. Laboratorio: Grammar Reader in C++.
  • [26 novembre 09] Automi a stati finiti: esercizi. Linguaggi regolari, espressioni regolari, teorema di Kleene. Laboratorio: Grammar Reader in C++.
  • [24 novembre 09] Automi a stati finiti non deterministici. Laboratorio: Grammar Reader in C++.
  • [19 novembre 09] Esercizi su proprietà di chiusura. Automi a stati finiti deterministici.
  • [17 novembre 09] Analisi della prima prova in itinere. Laboratorio: dal Grammar Reader in linguaggio C a quello in C++.
  • [12 novembre 09] Prima prova in itinere.
  • [09 novembre 09] Grammatiche e macchine: Altri teoremi di chiusura, operazione di riflessione. Laboratorio: il Grammar Reader in linguaggio C.
  • [05 novembre 09] Grammatiche e macchine: Teorema di chiusura e relativa dimistrazione.
  • [03 novembre 09] Esercizi di preparazione alla 1a prova in itinere. Ambiguità di grammatiche context-free. Grammatiche e macchine: la gerarchia di Chomsky.
  • [29 ottobre 09] Esercizi su linguaggi liberi da contesto.
  • [27 ottobre 09] Linguaggi liberi da contesto: alberi di derivazione, pumping lemma. Esercizi.
  • [15 ottobre 09] Linguaggi liberi da contesto e linguaggi dipendenti dal contesto.
  • [13 ottobre 09] Grammatiche e linguaggi (seconda parte). Esercizi.
  • [08 ottobre 09] Grammatiche e linguaggi (prima parte).
  • [06 ottobre 09] Presentazione del Corso. Macchine astratte e implementazione dei linguaggi di programmazione. Introduzione alla teoria dei linguaggi formali.





Modalità d'Esame

L'esame consta di tre prove: prova di laboratorio, prova scritta, colloquio orale.

  • Prova di laboratorio - Si consegna obbligatoriamente il codice C++ (sorgente+eseguibile) del Grammar Reader. Vanno sviluppate obbligatoriamente le funzioni di controllo del tipo della grammatica (context-sensitive, context-free, lineare destra). E' facoltativa la consegna dell'automa a stati finiti che accetta il linguaggio dei numeri in notazione scientifica. Il codice va inviato per posta elettronica al docente entro la data della prova di laboratorio che si intende sostenere. In sede di colloquio orale va prodotta una copia cartacea del codice inviato.
  • Prova scritta - E' richiesta la soluzione di esercizi sulla teoria dei linguaggi formali, l'enunciazione di definizioni e la la dimostrazione di teoremi della teoria dei linguaggi formali.
  • Colloquio orale - Discussione della prova di laboratorio e colloquio su tutto il programma svolto durante il corso.



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.

Valutazione ed esito delle prove

  • Prova di laboratorio - La prova di laboratorio è oggetto di discussione e valutazione solo ed esclusivamente durante la prova orale. La consegna è unica e resta valida per tutti gli appelli da gennaio a novembre di un anno accademico.
  • Prova scritta - La valutazione della prova è in trentesimi. La prova è superata con un minimo di 18/30. Il superamento della prova scritta consente l'accesso al colloquio orale.
  • Colloquio orale - La valutazione della prova è in trentesimi. La prova è superata con un minimo di 18/30.
  • La valutazione finale è un giudizio complessivo sulle tre prove.



Validità delle prove

  • Prova di laboratorio - La prova è valida per gli appelli da gennaio a novembre di un anno accademico. Una volta consegnata, la prova non può essere sostituita prima dell'inizio degli appelli di un nuovo anno accademico.
  • Prova scritta - La prova superata è valida solo per l'appello sostenuto (ovvero se si supera la prova scritta, il colloquio orale va sostenuto nello stesso appello). Solo la prova in itinere è valida da gennaio a settembre di un anno accademico.



Prenotazioni

Per sostenere le prove di ciascun appello occorre OBBLIGATORIAMENTE prenotarsi. Le prenotazioni all'esame (bisogna prenotarsi ad ogni prova) avvengono OBBLIGATORIAMENTE mediante l'apposito servizio previsto dall'Area Riservata agli Studenti del sito dei Corsi di Studio in Informatica. Se e solo se tale servizio risulta inaccessibile o malfunzionante, si prega di contattare il docente. Ci si può prenotare ad una prova fino a tre giorni prima della data prevista per la prova stessa.







Materiale Didattico



Trasparenze utilizzate a lezione

Saranno rese disponibili SOLO le trasparenze che non fanno riferimento al testo principale del corso.

Grammar Reader

Automi a stati finiti

Linguaggi di Programmazione e Compilatori



Strumenti di Sviluppo









Esercizi & Tracce d'Esame

  • Traccia prova scritta 13-09-2010 (download)
  • Traccia prova scritta 26-02-2010 (download)
  • Traccia prova scritta 12-02-2010 (download)
  • Traccia prova scritta 29-01-2010 (download)
  • Esercizi su grammatiche (download)
  • Tracce esercizi su grammatiche libere da contesto e pumping lemma per linguaggi liberi da contesto (download) (Aggiornato il 7 Dicembre 2009)

  • Tracce esercizi su linguaggi regolari, pumping lemma per linguaggi regolari, automi a stati finiti (download) (Pubblicato il 7 Dicembre 2009)

  • Tracce prove in itinere (download) (Pubblicato il 19 Gennaio 2010)











Risultati delle Prove

  • Risultati della prova di laboratorio del 04 febbraio 2010 (download)
  • Risultati della prova di laboratorio del 21 gennaio 2010 (download)
  • Risultati della prova di laboratorio del 07 gennaio 2010 (download)
  • Risultati della seconda prova in itinere (download)
  • Risultati della prima prova in itinere (download)











Link Utili