![]() |
     |
Lezioni di Programmazione a Oggetti (Informatica)dott. Ivano Salvo
|
1. Martedì 4 ottobre
Evoluzione dei linguaggi di programmazione: linguaggi
macchina, imperativi, funzionali, logici.
Il ruolo dell'astrazione
nell'evoluzione dei linguaggi di programmazione.
2. Giovedì 6 ottobre
Astrazione sul controllo (salti, cicli, funzioni) e astrazione sui
dati
(cella di memoria, variabile, tipi e costruttori di tipi, tipi astratti
di dati).
3. Martedì 11 ottobre
Introduzione alla programmazione a oggetti. Classi, sottoclassi,
oggetti.
Strutturazione dei programmi e meccanismi di controllo.
4. Giovedì 13 ottobre
Introduzione al linguaggio Smalltalk. Oggetti e formato messaggi.
Definizione di classi.
5. Martedì 18 ottobre
Definizioni di classi e sottoclassi in Smalltalk. Creazioni di
Oggetti.
Definizioni di metodi. self e super. Ridefinizione di metodi e lookup
dinamico.
6. Giovedì 20 ottobre
Ancora su classi, sottoclassi: definizione e ridefinizione di metodi.
7. Martedì 25 ottobre
Oggetti creati automaticamente: numeri, stringhe, caratteri,
array.
Blocchi e loro valutazione.
Scoping statico e scoping dinamico.
8. Giovedì 27 ottobre
Classi predefinite: Collection Classes.
9. Giovedì 3 novembre
Introduzione a Java. Definizione di classi. Costruttori e
inizializzatori.
Tipi e modificatori di visibilità.
10. Martedì 8 novembre
Definizione di classi: overloading. this.
Esercizi: crivello di eratostene e Hello World.
HelloDate
Crivello di Eratostene
11. Giovedì 10 novembre
Interfacce. Tipi e sottotipi. Type Soundness.
Esercizi: Definizione del tipo booleano
12. Martedì 15 novembre
Ancora su Interfacce e sottotipi.
Esercizi: Defizione di Alberi in Java
Alberi
13. Giovedì 17 novembre
Definizioni di sottoclassi in Java.
Costruttori di sottoclassi che dipendono da costruttori di
superclassi.
Overriding di metodi. Metodi final. Classi astratte.
14. Martedì 22 novembre
Esempi di programmi con sottoclassi: cella di memoria e cella con
backup.
Macchina distributrice di bevande e macchina con tessera.
Cella di Memoria
Macchina Distributrice
15. Giovedì 24 novembre
Eccezioni in Java. Sollevamento, cattura e trattamento delle
eccezioni.
Gerarchia di eccezioni: eccezioni checked e unchecked.
16. Martedì 29 novembre
Concorrenza in Java: trhead. Sospensione,
riattivazione, interruzione di threads.
Metodi Sincronizzati.
Esempio: Versione concorrente del Crivello di Eratostene.
Crivello di Eratostene
concorrente
17. Giovedì 1 dicembre
Esonero: Test su tipi, polimorfismo, method lookup, ereditarietà,
interfacce.
Test Corretto
Punteggi attribuiti dal Test
18. Martedì 6 dicembre
Discussione Progetto
19. Martedì 13 dicembre
Esempio di progettazione a oggetti: Giochi su Scacchiera
20. Giovedì 15 dicembre
Cenni alla definizione/uso dei package.
Cenni alla progettazione di interfacce grafiche.
Ancora sulla progettazione dei Giochi su Scacchiera.
Una (prima) implementazione dei giochi su scacchiera: (consultare il
sito dopo le vacanze! :-)
Classi Generali
Classi per la Dama
Simulazione di una partita
Aggiornata il 15/12/2005 da Ivano Salvo