in corsivo le parti non trattate nel testo

Metodologie di Programmazione
1
Contenuto generale
 tecniche per la programmazione orientata ad
oggetti (in piccolo)
 esemplificate utilizzando il linguaggio Java
 testo di riferimento (fino al Cap. 10):

Barbara Liskov, Program Development in Java,
Abstraction, Specification and Object-Oriented
Design, Addison-Wesley 2001
2
Struttura del corso 1
(in corsivo le parti non trattate nel testo)
 implementazione di linguaggi ad alto livello

interpretazione, compilazione, implementazioni miste
 programmazione come decomposizione guidata da
astrazioni


meccanismi di astrazione: parametrizzazione, specifica
tipi di astrazione: procedure, tipi di dato astratti,
iterazione astratta, gerarchie di tipi
 cenni di semantica operazionale di Java


classi, oggetti, metodi, gerarchie
il modello di esecuzione
3
Struttura del corso 2
(in corsivo le parti non trattate nel testo)





astrazioni procedurali
astrazioni sui dati
iterazione astratta
gerarchie di tipi
polimorfismo
e, se ci sarà tempo....
 cenni di programmazione concorrente in Java
 tecniche di testing
4
Spirito del corso 1
 metodologie di programmazione orientata ad
oggetti


esemplificate utilizzando Java
non tutto Java e non solo Java
 un insieme di tecniche basate su vari tipi di
astrazione


alcune supportate da Java in modo più o meno diretto
la più importante non è supportata da Java
• l’astrazione attraverso specificazione
• invece di (o in aggiunta a) codice Java
– specifiche informali
5
Spirito del corso 2
 specifiche, implementazioni, dimostrazioni di
“correttezza”

relazioni formali fra due specifiche, fra una specifica e una
implementazione, etc.
 le dimostrazioni sono tanto importanti quanto le
implementazioni
 ogni meccanismo di astrazione ha associata una particolare
sequenza di operazioni di specifica, implementazione e
dimostrazione

che ci porterà ad utilizzare sottoinsiemi di costrutti Java “coerenti”
 non è compito di questo corso introdurre il linguaggio nella
sua interezza

nè tanto meno le sue librerie
6
Materiale didattico, esame,
istruzioni per l’uso del corso

in aggiunta al (non in sostituzione del) libro di testo, i lucidi utilizzati nelle
lezioni e nelle esercitazioni (in formato html e di presentazione powerpoint
scaricabile) sono disponibili all’indirizzo
http://www.di.unipi.it/~maggiolo/lucidi.html

ricevimento



esame = prova scritta + orale



mercoledì dalle 16.30 alle 19.30
su richiesta, ogni volta che sia necessario
ammissione all’orale con votazione >= 15/30 nello scritto
2 prove intermedie che possono rimpiazzare la prova scritta
consigli



seguire il corso (e soprattutto le esercitazioni), mantenendosi al passo con lo studio
partecipare (attivamente) alle esercitazioni
sostenere le prove intermedie
7