7
1 Metodologie di Programmazione

1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il

Embed Size (px)

Citation preview

Page 1: 1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il

1

Metodologie di Programmazione

Page 2: 1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il

2

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

Page 3: 1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il

3

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 tipicenni di semantica operazionale di Java

classi, oggetti, metodi, gerarchie il modello di esecuzione

Page 4: 1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il

4

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

astrazioni proceduraliastrazioni sui dati iterazione astrattagerarchie di tipipolimorfismo

e, se ci sarà tempo....cenni di programmazione concorrente in Java tecniche di testing

Page 5: 1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il

5

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

Page 6: 1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il

6

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

Page 7: 1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il

7

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 mercoledì dalle 16.30 alle 19.30 su richiesta, ogni volta che sia necessario

esame = prova scritta + orale 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