Diario delle lezioni

  1. 8/3/10. Il disegno di legge Gelmini sull'università. Presentazione del corso. Richiami ed esercizi vari. Il memory layout di un programma.
  2. 10/3/10. Conversioni implicite tra tipi base. Concatenazione dei costruttori. Eccezioni verificate e non. Regole dell'overriding. Svolto esercizio 27/3/08, #4. Assegnato esercizio BitCat.
  3. 15/3/10. Il sistema dei tipi Java. Relazioni di sottotipo e di assegnabilità. L'operatore instanceof. Conversioni esplicite (cast) tra tipi base e tra riferimenti. Svolto esercizio BitCat. Svolto esercizio 30/1/08, #4.
  4. 17/3/10. Algoritmo di risoluzione del binding dinamico. Svolto esercizio 29/6/07, #2. Visibilità protected. La classe Class. Assegnato esercizio 29/6/07, #1.
  5. 22/3/10. Confronto di uguaglianza tra oggetti: linee guida. Metodo equals ed ereditarietà. Svolto esercizio 29/6/07, #1. Assegnato esercizio 9/7/08, #1.
  6. 24/3/10. Svolto esercizio 9/7/08, #1. Esercitazione su riflessione. Liste concatenate in Java. Iteratori e il pattern ITERATOR. Interfacce Iterator, Iterable e List. Classi LinkedList e ArrayList. Assegnato esercizio 23/4/09, Traccia B, #3 (Circle).
  7. 8/4/10. Le liste e l'interfaccia RandomAccess. Assegnato esercizio DividersIterator. Svolto esercizio Circle. Introduzione alla clonazione di oggetti.
  8. 12/4/10. La clonazione degli oggetti e l'interfaccia Cloneable. Classi interne, statiche e non. Classi locali. Svolto esercizio DividersIterator.
  9. 14/4/10. Classi anonime. Interfacce Comparable e Comparator. Implementazione di un "confrontatore". Approfondimenti sull'esercizio DividersIterator. Assegnato esercizio 21/4/08, #1 (Triangle).
  10. 19/4/10. Introduzione alle librerie grafiche Swing/AWT. Gestione degli eventi. Il pattern OBSERVER. Svolto esercizio Triangle. Assenato esercizio BinaryTreeIterator.
  11. 21/4/10. I confrontatori in String e nella libreria standard del C. Classi wrapper e autoboxing. Svolto esercizio BinaryTreeIterator.
  12. 3/5/10. Prova intercorso. Aula B07, ore 14:00 - 16:30.
  13. 5/5/10. La programmazione di interfacce grafiche e i pattern STRATEGY, COMPOSITE e DECORATOR. Il framework Model-View-Controller. Presentata la proposta di progetto "studio di funzioni".
  14. 7/5/10. La programmazione generica. Classi e metodi parametrici. Parametri di tipo con limiti superiori. Assegnato esercizio 29/6/07, traccia A, #3 (Field).
  15. 10/5/10. La type inference, casi notevoli. Tipi parametrici e relazione di sottotipo. Svolto esercizio Field.
  16. 12/5/10. Il parametro di tipo jolly, con limiti superiori e inferiori. Assegnati esercizi 17/7/06, traccia A, #5 e 6. Le interfacce Set e SortedSet.
  17. 17/5/10. Implementazione dei tipi parametrici: la cancellazione (erasure). La classe HashSet. Coerenza tra hashCode ed equals. Svolti esercizi 17/7/06, #5 e 6.
  18. 19/5/10. La classe TreeSet. Coerenza tra Comparable ed equals. Le mappe: Map, SortedMap, HashMap e TreeMap. La classe Class: metodi notevoli. Assegnato esercizio "determinare la superclasse più generale, che non sia Object". Assegnato esercizio 8/9/08, #1 (PostIt).
  19. 24/5/10. Il tipo restituito dal metodo getClass. Riflessione: classi Method, Field e Constructor. Svolto esercizio "classe più generale che non sia Object". Assegnato esercizio "reset". Classi enumerate. La classe Enum. Assegnato esercizio "Carte napoletane".
  20. 26/5/10. L'intestazione del metodo Collections.min. Le classi EnumSet ed EnumMap. Svolto esercizio "Carte napoletane". Svolto esercizio "PostIt". Svolto esercizio "reset". Assegnato esercizio 22/1/2010, #1 (Color).
  21. 31/5/10. Introduzione al multi-threading. Metodi principali della classe Thread. L'interfaccia Runnable. Comunicazione tra thread. Assegnato esercizio "Interruptor".
  22. 4/6/10. Lezione di recupero. Sincronizzazione tra thread. Mutex. Blocchi e metodi synchronized. Le condition variable e i metodi wait, notify e notifyAll. Assegnato esercizio 8/9/09, #1 (Auction).
  23. 7/6/10. Mutua esclusione con lettori multipli. Code bloccanti: le interfacce Queue e BlockingQueue e le classi ArrayBlockingQueue e LinkedBlockingQueue. Svolti esercizi Interruptor e Auction.
  24. 9/6/10. I pattern TEMPLATE METHOD e FACTORY METHOD. Svolto esercizio "Color".