|
Programma del corso di
Linguaggi di Programmazione I: Paradigmi
A.A. 2001-02
Prof. Pietro Cenciarelli
Introduzione e nozioni preliminari
Evoluzione storica e concettuale dei linguaggi di programmazione [Fri91(2)]
Sintassi e semantica [disp(1)]
Induzione strutturale e sintassi astratta [darm(2, 4)]
Aspetti dinamici
Linguaggi a blocchi e variabili locali [edi(7)]
Semantica di un (mini) linguaggio funzionale [edi(7.3)]
Semantica di un (mini) linguaggio imperativo [edi(7.6)]
Binding statico e binding dinamico [disp(2), Wat90(4)]
Meccanismi di passaggio dei parametri (valore, reference e nome) [edi(8),
Fri91(5.4)]
Aspetti statici
Tipi [disp(3)]
Sistemi di tipi del prim'ordine per linguaggi funzionali ed imperativi [Wat90(7)]
Inferenza dei tipi per mini-ML [disp(4)]
Il polimorfismo [disp(5), Wat90(7.3)]
Sistemi di tipi del secondo ordine [disp(6)]
Polimorfismo in ML [disp(7)]
Moduli di programma
Tipi esistenziali: incapsulamento ed astrazione
[disp]
Moduli di definizione e di implementazione in Modula-2 [WE87(12)]
Segnature, Strutture e Funtori in ML [Metal97(3)]
Classi ed oggetti
Sottotipi ed inferenza per sottotipi [disp]
Classi (sottoclassi, classi astratte, metaclassi) in Smalltalk [Wat90(12), Fri91(13)]
Classi (sottoclassi, classi astratte ed interfacce) in Java [AG98(2,3)]
Astrazione e mascheramento
Tipi di astrazione [Wat90(5.1)]
Astrazione di tipi (in ML) [Metal97(2.7)]
Tipi opachi
- nel sistema dei moduli di ML [Metal97(3)]
- in Modula-2 [WE87(12)]
Mascheramento in Java (public, private,
protected) [AG98]
Genericità [Wat90(6.4)]
Testi di riferimento:
[Wat90] Programming Language Concepts and Paradigms, D.A.Watt. Prentice-Hall 1990
[AG98] The Java Programming Language, K.Arnold e J.Gosling. Addison-Wesley 1998
[Metal97] The Definition of Standard ML (Revised) , Robin Milner, Mads Tofte, Robert Harper, and David MacQueen. MIT Press,
1997 (qualunque manuale di ML va bene: esistono numerosi tutorial scaricabili dalla rete. Un classico:
http://www.cs.cmu.edu/~rwh/smlbook/
[WE87]
[Fri91] Comparative
Programming Languages, L.W.Friedman,
Prentice-Hall 1991
[disp] Dispense
di paradigmi (formato postscript)
[darm] Appunti di Darmstadt. Contengono (tra le altre cose)
un'introduzione alla sintassi astratta e all'induzione strutturale. Disponibili presso la Segreteria Didattica e presso la copisteria di via Salaria 82
[edi] Linguaggi
per la programmazione ad oggetti, G.Masini, A.Napoli, D.Colnet, D.Leonard,
K.Tombre, Gruppo Editoriale Jackson 1991
Indietro
|