Home | Chi sono  | Università | Software | Manuali | Giochi | Guestbook | Bookmarks | Cerca

Sezioni

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

Home
Chi sono
Università
Software
Manuali
Giochi
Guestbook
Bookmarks
Cerca
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Home | Chi sono  | Università | Software | Manuali | Giochi | Guestbook | Bookmarks | Cerca