---++ <font color=#006400 size="+3">Programma del Corso A.A. 2013/2014</font> *1. Astrazione procedurale in Java: metodi statici. (dispense e Liskov [cap. 3])* 1. Programmi iterativi. Il problema della specifica e della corettezza: asserzioni logiche. 1. Precondizioni, postcondizioni, invarianti. 1. Programmi ricorsivi: precondizioni, postcondizioni, e dimostrazioni di correttezza per induzione. 1. Confronto tra funzioni ricorsive e iterative.<br> 1. Introduzione agli Oggetti: Heap, Stack, creazione di un oggetto. =equals= e ==. 1. Array: definizione, allocazione, uso. Stringhe. Array bidimensionali. 1. Oggetti mutabili e immutabili. 1. Sviluppo di Programmi certificati con array. *2. Astrazione sui Dati in Java: Definizioni di Classi. (vedi Liskov [5])* 1. Classe = struttura dati + metodi. 1. Variabili di classe e di istanza. Metodi di classe e di istanza. 1. Primi cenni alla Gerarchia dei Tipi. Metodi ereditati da Object da ridefinire: =toString()=, =clone()=, =equals(Object o)= etc. 1. Oggetti: creazione, uso, invocazione di metodi. Inizializzazioni e Costruttori. 1. Regole di visibilità e modificatori di visibilità: =public=, =private= e =protected=. 1. Overloading di metodi e costruttori. 1. Esempi di classi che implementano strutture dati: Pile, Code, Alberi. 1. Specifica di una classe. Invariante di rappresentazione e funzione di astrazione. *3. Gerarchia dei Tipi: Sottoclassi e Interfacce (Liskov [7])* 1. Più a fondo nei tipi di JAVA: sottotipaggio, gerarchia dei tipi, casting. 1. Overriding di metodi. 1. Dymamic lookup dei metodi. <font color=#666666> 1. Esempi sull'uso di sottoclassi e interfacce. *4. Astrazione sul Controllo: Iteratori. (lucidi + Liskov [6])* 1. Uso di Iteratori. 1. Definizione di Iteratori. *5. Robustezza dei Programmi: Eccezioni (lucidi + Liskov [4])* 1. Specifica delle eccezioni. 1. Meccanismo computazionale delle eccezioni: sollevamento, cattura, trattamento. 1. Corretto uso delle eccezioni: Programmazione Difensiva. *6. Polimorfismo in Java. (vedi Lucidi, esempio liste polimorfe, tutorial Oracle sui Generics)* 1. Polimorfismo indotto dal sottotipaggio. 1. Esempi tratte dalle "vecchie" strutture dati di libreria: =ArrayList=, etc. 1. Polimorfismo: Tipi Generici. 1. Le "nuove" strutture dati di libreria: =ArrayList<E>=, etc. *7. Cenno alla definizione di Interfacce Grafiche. (vedi Deitel [14,15])* 1. Separazione tra logica dell'applicazione e interfaccia grafica. 1. Programmazione a eventi. *8. Testing e Debugging. (Liskov [10])* 1. Black-box e Glass-box testing. 1. Testing di Procedure, Iteratori, Dati astratti, poliformismo. 1. Unit e integration testing. *9. Miscellanea: Reflection (vedi lucidi)* </font> -- Users.IvanoSalvo - 05 Mar 2014
This topic: Metod_prog/AD
>
WebHome
>
ProgrammaDelCorso
Topic revision: r11 - 2016-03-12 - IvanoSalvo
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback