 
                                Metodologie di Programmazione  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 1 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 2 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 3 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 4 Spirito del corso 2  specifiche, implementazioni, dimostrazioni di “correttezza”  relazioni formali fra 2 specifiche, fra 1 specifica ed 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 5 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 sulla mia pagina web http://www.di.unipi.it/~levi/levi.html  ricevimento    esame = prova scritta + orale    mercoledì dalle 11 alle 13 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 6