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)
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⚓︎
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⚓︎
- Semeraro, G., Elementi di Teoria dei Linguaggi Formali, ilmiolibro.it, 2017. (http://ilmiolibro.kataweb.it/libro/informatica-e-internet/317883/elementi-di-teoria-dei-linguaggi-formali/);
- Maurizio Gabbrielli, Simone Martini, Linguaggi di Programmazione, Principi e paradigmi. 2° ed., McGraw-Hill, 2011;
- Deitel, H.M., and Deitel, P.J., C: Corso Completo di Programmazione, Apogeo, 2000;
- Dispense del corso
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.