F Marco Faella - didattica

Diario delle lezioni

  1. 22/9/14. Presentazione del corso. Svolto esercizio 27/3/08, #4. Richiami di aritmetica floating-point. Distinzione tra eccezioni verificate e non. Assegnato esercizio 30/1/08, #4.
  2. 24/9/14. Il sistema dei tipi Java. Relazioni di sottotipo ed assegnabilità. Svolto esercizio 30/1/08, #4. Algoritmo del binding dinamico. Assegnato esercizio 27/11/09, #2 (binding).
  3. 29/9/14. La visibilità protected. Introduzione alla riflessione: la classe Class. Svolto esercizio 27/11/09, #2. Uguaglianza tra oggetti: il metodo equals. Proprietà di equals.
  4. 1/10/14. Metodo equals su gerarchie di classi. Assegnato esercizio 9/7/08, #1 (equals). Le regole dell'overriding. Clonazione di oggetti. Copia superficiale e profonda. Il metodo clone e l'interfaccia Cloneable.
  5. 6/10/14. Classi interne e caratteristiche di visibilità. Progettazione e implementazione di una lista concatenata con inserimento e scorrimento. Svolto esercizio assegnato.
  6. 8/10/14. Il pattern ITERATOR. Supporto agli iteratori in Java: le interfacce Iterable e Iterator. Svolto esercizio BinaryTreePreIterator. Classi locali e anonime. Assegnato esercizio 21/4/08, #1 (Triangolo).
  7. 13/10/14. Memory layout delle classi interne. Svolto esercizio assegnato. Metodologia di programmazione tramite contratti.
  8. 15/10/14. Confronto e ordinamento tra oggetti. Le interfacce Comparable e Comparator. Assegnata esercitazione Crowdgrader.
  9. 22/10/14. Discussione dell'esercitazione. Introduzione alla realizzazione di GUI in Java. I pattern OBSERVER e STRATEGY. Il pattern architetturale Model-View-Controller nelle GUI.
  10. 27/10/14. Classi enumerate. Svolto esercizio CrazyIterator. Assegnato esercizio 19/6/09, #3 (Cardinal).
  11. 29/10/14. Esempi di applicazione del pattern MVC. I pattern COMPOSITE e DECORATOR. Svolto esercizio assegnato. Svolto esercizio 28/4/14, #2 (Shape e Circle).
  12. 3/11/14. Prova intercorso alle ore 14 in B7.
  13. 5/11/14. Classi parametriche. La versione parametrica di Iterable, Iterator, Comparable e Comparator. Java Collection Framework: le interfacce Collection, Set, List e RandomAccess.
  14. 10/11/14. Discussione sulla prova intercorso. Il ciclo for-each. Svolto esercizio MyFor. Le classi ArrayList e HashSet. Confronto di performance tra LinkedList e ArrayList.
  15. 12/11/14. Coerenza tra equals e hashCode. La classe TreeSet. Coerenza tra equals e compareTo. Assegnato esercizio 19/2/09, #1 (Container). Metodi e costruttori parametrici. Classi parametriche e relazione di sottotipo.
  16. 17/11/14. Parametri di tipo con limiti superiori. Il parametro di tipo "jolly". Limiti superiori e inferiori per il jolly. Esempi.
  17. 19/11/14. Scelta dell'interfaccia di un metodo. Assegnato esercizio 19/6/09, Traccia A, #4.
  18. 24/11/14. La versione parametrica di Class. Il metodo getClass. Svolti esercizi assegnati. Le mappe nel JCF.
  19. 26/11/14. Collezioni per tipi enumerati. L'implementazione dei tipi parametrici e le sue conseguenze. Assegnato esercizio 25/6/13, #4 (concat).
  20. 1/12/14. Introduzione al multi-threading in Java. La classe Thread. Svolto esercizio 3/9/12, #2. Svolto esercizio assegnato.
  21. 3/12/14. Interrompere un thread. L'interfaccia Runnable. Comunicazione e sincronizzazione tra thread: la parola chiave synchronized. Svolti esercizi periodicJob e concurrentMax. Assegnato esercizio 11/2/13, #3 (concurrentFilter).
  22. 10/12/14. Le condition variable in Java: metodi wait e notify(All). Svolto esercizio 7/2/11, #1 (VoteBox). Il caso produttori-consumatori. Code bloccanti.
  23. 15/12/14. Introduzione al Java Memory Model. Variabili "volatile". La relazione "Happens-Before". Svolto esercizio assegnato.
  24. 17/12/14. Riepilogo.