Vai al contenuto

Linguaggi di Programmazione⚓︎

Informazioni generali⚓︎

  • Insegnamento: Linguaggi di Programmazione (corso A)
  • Docente: Giovanni Semeraro
  • Cultori della materia/Supporto didattico: C. Musto, M. Polignano, Luigi Quaranta
  • Ricevimento (previa prenotazione per email): Martedì h. 16:00-19:00 (℅ ufficio 757 piano 7 DIB)
  • Email: giovanni.semeraro@uniba.it

Consultare https://www.uniba.it/docenti/semeraro-giovanni/attivita-didattica

Piattaforma e-learning ADA https://elearning.di.uniba.it/.

Codice Iscrizione al corso: lingprog1920.

Prove d’esame⚓︎

Prova scritta⚓︎

La prova scritta prevede:

  • 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.

La prova scritta intermedia:

  • durante l’interruzione prevista da manifesto;
  • stessi argomenti delle prove d'appello.

Organizzazione e valutazione prove d’esame⚓︎

La valutazione sarà in trentesimi e si supera con una valutazione minima di 18.

Prova intermedia

  • Valutazione in trentesimi
  • Si supera con un minimo di 16
  • Esonera dallo svolgimento di una parte della prova finale, LIMITATAMENTE AL PRIMO APPELLO DI GIUGNO

  • Valutazione COMPLESSIVA = media delle valutazioni delle due prove (itinere + primo appello giugno)

IF (valutazione COMPLESSIVA >= 18) THEN
    esame_superato

Programma dell’insegnamento⚓︎

  • Tempi

    • 56 ore di lezioni frontali equivalenti a 7 crediti T1
    • 30 ore di esercitazioni equivalenti a 2 crediti T2
    • 119 ore di studio individuale
    • Totale crediti 9 (7 T1 + 2 T2)
  • Pre-requisiti

    • Matematica discreta.
    • Programmazione.
    • Conoscenza del linguaggio C.

Programma preliminare dell’insegnamento⚓︎

https://tinyurl.com/y4ypuvhp

Obiettivi formativi⚓︎

Fornire gli strumenti fondamentali, formali e pratici, per la definizione di linguaggi di programmazione (linguaggi formali) e la progettazione dei loro traduttori.

Strutturazione del corso⚓︎

Si illustrano gli aspetti più significativi dei linguaggi di programmazione, la loro evoluzione ed i concetti che stanno alla base della traduzione dei linguaggi di alto livello.

Si forniscono i concetti più significativi della teoria dei linguaggi formali, enfatizzando gli aspetti generativi e riconoscitivi dei linguaggi formali.

Obiettivi professionalizzanti⚓︎

  • Comprensione profonda dei linguaggi di programmazione e dei principali paradigmi di programmazione;
  • Conoscenza delle tecniche di analisi e traduzione dei linguaggi di programmazione;
  • Conoscenza delle espressioni regolari e delle grammatiche.

Testi consigliati⚓︎

Altri⚓︎

  • Hopcroft, Motwani, Ullman, Automi, linguaggi e calcolabilità. Addison-Wesley, 2009;
  • Aho, A. V., Sethi, R., and Ullman, J. D., Compilers, Principles, Techniques and Tools, Addison-Wesley, 1988;
  • Zarrella, J., Concetti dei Linguaggi di Programmazione, Scienze Tecnologiche Informatiche, Franco Angeli, 1989;
  • Sethi, R., Linguaggi di Programmazione, Zanichelli, 1994.