Diario delle lezioni
- 9/3/16. Presentazione del corso.
Richiami di aritmetica floating-point.
Il diagramma del memory layout.
Distinzione tra eccezioni verificate e non.
Assegnato esercizio 27/3/08, #4.
- 11/3/16. Il sistema dei tipi Java. Relazioni di sottotipo e di assegnabilità.
Conversioni forzate (cast).
Regole dell'overriding. I tipi wrapper. Svolto esercizio assegnato.
- 16/3/16. Risoluzione dell'overloading e dell'overriding.
Svolto esercizio 8/9/09, #2.
Assegnato esercizio 27/11/09, #2.
- 18/3/16. La classe Class.
Uguaglianza tra oggetti: il metodo equals.
Svolto esercizio assegnato.
Assegnato esercizio 22/3/13, #3.
- 23/3/16. Il metodo equals e il polimorfismo.
Svolto esercizio assegnato.
Visibilità protected.
Copia superficiale e profonda di oggetti.
- 1/4/16. Il metodo clone e il polimorfismo. Classi interne.
Assegnato esercizio 21/4/08, #1 (Triangolo).
- 6/4/16. Classi locali e anonime. Progettare e realizzare una lista concatenata in Java.
Svolto esercizio assegnato.
- 8/4/16. Gli iteratori e il pattern ITERATOR. Le interfacce Iterator e Iterable.
Programmazione tramite contratti. Assegnato esercizio BinaryTreePreIterator (2006).
- 13/4/16. Svolto esercizio CrazyIterator.
Ordinamento tra oggetti: le interfacce Comparable e Comparator.
I metodi per ordinare array e liste.
Proprietà dei criteri di ordinamento.
- 15/4/16. Svolto esercizio Point.
Il Typesafe Enum Pattern e le classi enumerate.
- 20/4/16. Valori enumerati che specializzano l'enumerazione.
Discussione esercitazione CrowdGrader (BinaryTreePreIterator).
Introduzione alle GUI con Swing/AWT.
Il pattern MVC. I pattern OBSERVER e STRATEGY.
- 21/4/16. Prova intercorso alle ore 15:45 in A6.
- 22/4/16. I pattern DECORATOR e COMPOSITE e il loro uso in Swing/AWT.
Introduzione ai generics: classi e metodi parametrici.
- 27/4/16. Introduzione al Java Collection Framework: Collection, List,
Set, LinkedList, ArrayList, RandomAccess e HashSet.
Implementare hashCode. Coerenza tra hashCode e equals.
- 29/4/16. SortedSet e TreeSet. Coerenza tra equals e relazione d'ordine.
Classi parametriche e sottotipi, confronto con gli array.
Parametri di tipo con limiti superiori.
Assegnato esercizio 19/2/09, #1 (Container).
- 4/5/16. Il parametro di tipo jolly. Limiti superiori e inferiori
per il jolly. Svolto esercizio assegnato.
- 6/5/16. Assegnati esercizi 3/9/12 (Bijection) e 24/6/15 (Controller).
Svolto esercizio 22/1/13 (MyString).
Le mappe: interfacce Map e SortedMap; classi HashMap e TreeMap.
- 18/5/16. Scelta dell'intestazione migliore per un metodo.
- 20/5/16. Implementazione dei tipi parametrici: la cancellazione.
Limitazioni dei generics.
Riflessione e la versione parametrica di Class.
Svolto esercizio Bijection.
Assegnato esercizio 31/1/14, #4 (scelta firma).
- 25/5/16. Introduzione al multi-threading. La classe Thread e l'interfaccia Runnable.
Svolto esercizio assegnato.
Assegnato esercizio 8/9/08, #3 (RunOnSet).
- 27/5/16. Comunicazione e sincronizzazione tra thread.
La parola chiave synchronized. Svolto esercizio assegnato.
Assegnato esercizio 11/2/13, #3 (concurrentFilter).
- 1/6/16. Le variabili di condizione in Java (metodi wait, notify, notifyAll).
Il problema produttori-consumatori.
Le code bloccanti del Java Collection Framework: BlockingQueue e sue implementazioni.
Svolto esercizio assegnato. Svolto esercizio 7/2/11, #1 (VoteBox).
- 8/6/16. Svolto esercizio 9/7/12, #1 (MysteryThread).
Il Java Memory Model: regole di atomicità e
visibilità. Il modificatore volatile.
- 10/6/16. Il Java Memory Model: regole di ordinamento.
Il pattern FACTORY METHOD.
Riepilogo ed esercitazione.
Svolto esercizio 14/9/10, #4 (executeInParallel).
Svolto esercizio 25/6/13, #4 (concatenazione iteratori).
|
|
|