Metodologie di Programmazione tecniche per la programmazione orientata

  • Slides: 6
Download presentation
Metodologie di Programmazione § tecniche per la programmazione orientata ad oggetti (in piccolo) §

Metodologie di Programmazione § tecniche per la programmazione orientata ad oggetti (in piccolo) § esemplificate utilizzando il linguaggio Java § testo di riferimento (fino al Cap. 10): l 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

Struttura del corso 1 (in corsivo le parti non trattate nel testo) § implementazione di linguaggi ad alto livello l interpretazione, compilazione, implementazioni miste § programmazione come decomposizione guidata da astrazioni l l meccanismi di astrazione: parametrizzazione, specifica tipi di astrazione: procedure, tipi di dato astratti, iterazione astratta, gerarchie di tipi § cenni di semantica operazionale di Java l l classi, oggetti, metodi, gerarchie il modello di esecuzione 2

Struttura del corso 2 (in corsivo le parti non trattate nel testo) § §

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 l l esemplificate

Spirito del corso 1 § metodologie di programmazione orientata ad oggetti l l esemplificate utilizzando Java non tutto Java e non solo Java § un insieme di tecniche basate su vari tipi di astrazione l l 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” l relazioni formali fra

Spirito del corso 2 § specifiche, implementazioni, dimostrazioni di “correttezza” l 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 l che ci porterà ad utilizzare sottoinsiemi di costrutti Java “coerenti” § non è compito di questo corso introdurre il linguaggio nella sua interezza l nè tanto meno le sue librerie 5

Materiale didattico, esame, istruzioni per l’uso del corso § in aggiunta al (non in

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 l l mercoledì dalle 11 alle 13 su richiesta, ogni volta che sia necessario § esame = prova scritta + orale l l ammissione all’orale con votazione >= 15/30 nello scritto 2 prove intermedie che possono rimpiazzare la prova scritta § consigli l l l seguire il corso (e soprattutto le esercitazioni), mantenendosi al passo con lo studio partecipare (attivamente) alle esercitazioni sostenere le prove intermedie 6