| | | corso | | | | |
Programmazione I e laboratorio
Codice: | 007AA | Crediti: | 12 | Semestre: | 1 | Sigla: | PRL | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Maria Eugenia Occhiuto
Tel. 0502212733Prerequisiti
Nessuno, a parte la matematica di base delle scuole superiori.
Obiettivi di apprendimento
Il corso presenta i concetti di base della programmazione. A questo scopo vengono introdotti i concetti generali dei linguaggi di programmazione: grammatiche per descrivere la sintassi e sistemi di transizione per descrivere la semantica. Parallelamente viene introdotta la programmazione funzionale, attraverso l'uso del linguaggio Caml. Le tecniche per la descrizione di sintassi e semntica vengono esemplificate su un sottoinsieme del linguaggio C, per il quale viene definito l'interprete in Caml, le cui specifiche risultano dalla semantica definita.
Conoscenze. Conoscenze di base
Programma
Introduzione
Sintassi: grammatiche libere, grammatiche regolari. Sintassi del nucleo di C.
Semantica: Sistemi di transizione. Semantica operazionale del nucleo di C.
Programmazione funzionale. Linguaggio Caml: tipi di dato primitivi, tipi complessi: funzioni, definizioni e
applicazione, liste, prodotto cartesiano, tipi unione. Polimorfismo. Funzioni di ordine superiore.
Interprete del C in Caml.
Ore lezione: | 66 | Ore esercitazione: | 22 | | | |
Bibliografia
D.Pedreschi, Elementi di Sintassi dei Linguaggi di Programmazione, Dispensa
G. Manco, Note di programmazione funzionale. Dispensa.
Testi consigliati in alternativa:
The functional Approach to Programming, G Cousineau and M Mauny, Cambridge University Press, 1995.
Introduzione alla programmazione funzionale M. Cialdea MayerC. Limongelli, Progetto Leonardo Ed. Esculapio, Bologna 2002.
Modalità di esame
Scritto e orale