Università di Pisa
Anno Accademico 2008
docente: prof. Marco Bellia
Prima prova intermedia 3 aprile 2008:
Seconda prova intermedia 6 giugno 2008: esito I e II prova e ammissione orale
appello III del 16.6.2008: testo esito
appello IV del 2.7.2008: testo esito
appello V del 18.7.2008: testo esito
appello VI del 18.7.2008: testo esito una soluzione del secondo esercizio
appello I del 19.1.2009: testo esito una soluzione del secondo esercizio
appello II del 9.2.2009: testo esito una soluzione del secondo esercizio
Giorno |
Dalle |
Alle |
Aula |
lunedì
|
11:00 |
13:00 |
A |
venerdì
|
11:00
|
13:00
|
C
|
martedì 14
febbraio aggiornato 06 |
Introduzione: Scopo, contesto, motivazioni del corso. |
giovedì 16
febbraio aggiornato 06 |
Programmazione orientata a oggetti e meccanismi per: Classi ed ereditarietà,
Variabili di istanza e statiche. Le strutture per formalizzare i nuovi
meccanismi: Estendiamo la struttura dei descrittori di classe, di oggetto, e
dello stack di controllo. |
martedì 21 febbraio aggiornato 06 |
Struttura di Classe e superclasse: semantica per varibili statiche, di istanza,
metodi statici e di istanza e costruttore. Inizializzazione o meno delle
variabili dichiarate. |
giovedì 23 febbraio aggiornato 06 |
Struttura delle espressioni: new, identificatori e identificatori qualificati.
Semantica dell'espressione new. Expression Statement di Java. Regole di transizione naming e
path. |
martedì 28 febbraio aggiornato 06 |
Esercizio proposto: discussione sulla soluzione completa (.zip archive). |
giovedì 2 marzo |
Struttura dei comandi: invocazione. Modifiche dello stack di controllo: Trasmissione dei parametri per valore, valutazione del blocco.
Esercizio: invocazione ed evoluzione dello stack. Discussione della soluzione.
|
martedì 7 marzo aggiornato 06 |
Java: Osservazioni generali. Overloading, Overriding, late binding e dispatching. Scoping e Visibilità. Modificatori e Accessibilità.
Modificatori di Java. Esecuzione: JIT, JVM. Analisi statica: La tabella R e il record di attivazione. Analisi dei metodi. Analisi delle espressioni e dei comandi.
Esercizio: analisi statica di un programma. |
giovedì 9 marzo aggiornato
06 |
Esercitazione |
martedì 14 marzo aggiornato 06 |
|
giovedì 16 marzo
|
Specifica e Implementazione: Overview, requires, effects, modifies. Progettazione di Astrazioni procedurali.
Requires: Funzioni parziali e totali. |
martedì 21 marzo
|
Eccezioni: Metodologie, Checked e Unchecked. Overview.
Esempi e applicazioni: Fattoriale, Liste, Compressione di files.
|
giovedì 23 marzo |
Astrazione di dati: discussione esercizio 5
Metodi toString e repOk. |
martedì 28
marzo |
I sei punti della metodologia per astrazioni di dati in Java. |
giovedì 30 marzo |
Esercitazione: Specifica, Rappresentazione, AF ed I di insieme modificabile
di int. Discussione su Invariante: Quando l'invariante consente AF non iniettive. Come sopra per insieme non modificabile di coppie.
|
4-5-6 aprile |
|
8/18 aprile
|
interruzione: vacanze |
giovedì 20 aprile
|
Discussione delle prove del primo compitino: soluzioni esercizio 1 e 3 |
giovedì 27
aprile
|
Esercitazione. Verifica invariante e correttezzadi di dati astratt: Insieme di
interi, stack di interi. |
martedì 2
maggio
|
Iteratori: Visite dei componenti di dati astratti strutturati.
Generatori come implementazioni dell'interfaccia Iteratori: stato concreto, AF, I, ed implementazione
delle operazioni next, hasNext, remove. Classi nested come veicolo per inserire generatori in una
classe per dati astratti. Un esempio: intSet con un generatore. |
giovedì 4
maggio
|
Esercitazione: |
martedì 9
maggio
|
|
giovedì 11
maggio
|
|
martedì 16
maggio
|
|
giovedì 18
maggio
|
|
martedì 23
maggio
|
|
giovedì 25
maggio
|
|
29-30-31
maggio
|
|
giovedì 15 giugno aggiornato 06 | III appello orali |
giovedì 29 giugno aggiornato 06 | IV appello scritto |
giovedì
20 luglio | V appello scritto |
martedì 25 luglio
| V appello orali |
giovedì 14 settembre aggiornato 06 | VI appello scritto |
mercoledì 20 settembre aggiornato 06 | VI appello orali |
lunedì 8 gennaio 2007 | I appello scritto |
giovedì 11 gennaio 2007 | |
lunedì 29 gennaio 2007 | II appello scritto |
mercoledì 7 febbraio 2007 |
nota1: versione corretta 15/3/06
con 3 esercizi aggiunti.
nota2: versione corretta (e completa) 24/3/06.