Corso di Informatica 4 (IN430 - Tecniche Informatiche Avanzate)

Le lezioni

Diario delle lezioni dell'anno accademico 2012-2013

Le lezioni si tengono nel secondo semestre:

  • martedì ore 11.00-13.00 Laboratorio Informatico (lezione);
  • giovedì ore 9.00-11.00 Laboratorio Informatico (esercitazioni);
  • giovedì ore 11.00-13.00 Laboratorio Informatico (lezione).
Lezione n. 1 - Tuesday 26 February 2013

  • Cenni storici sull'introduzione di Java. Le origini della programmazione object-oriented. Le caratteristiche del linguaggio Java. L'ambiente di compilazione di Java.
Lezione n. 2 - Thursday 28 February 2013

  • I package in java. I tipi di dato primitivi: int, short, long, float, double, char, boolean. Array. Stringhe. Differenza tra l'accesso a tipi primitivi e a tipi definiti dall'utente. l'utilizzo dei commenti al fine di produrre documentazione: javadoc. Le strutture per il controllo del flusso di esecuzione: if then else, while do, do while, for.
Lezione n. 3 - Tuesday 5 March 2013

  • Introduzione alle classi. Classi come strutture dati. Attributi di una classe. Metodi di una classe. Creazione di oggetti. Metodi costruttori di classe. Riferimenti a oggetti. La classe String. La classe StringBuilder. La classe StringBuffer. La Java API.
Lezione n. 4 - Thursday 7 March 2013

  • Riferimenti a memoria. Il garbage collector. L'uguaglianza tra oggetti (confronto per riferimento e non per valore). Operazione di concatenazione tra oggetti della classe String. Utilizzo dei package della libreria Java. Importare classi dalla libreria. Esempio di utilizzo di javadoc. Creazione di domini di classi specifiche per un certo compito. Coordinamento tra oggetti. Esempi sui diagrammi UML. Il concetto di incapsulamento: area di memoria e funzioni in grado di gestire l'area dati. Il disegno di nuove classi. Attributi di classe. Metodi di una classe. I metodi costruttori. I metodi per l'accesso degli attributi. L'overloading di metodi (costruttori in particolare). La concatenazione di costruttori.
Lezione n. 5 - Thursday 14 March 2013

  • Modificatori dell'accessibilita' a classi, attributi e metodi. Il concetto di visibilita' in Java. Tipi di metodi: getters, setters ed altri tipi. Riutilizzo di oggetti. Incapsulamento di oggetti (in altri oggetti) e riutilizzo. Metodi e attributi di classe (static). Attributi costanti (final).
Lezione n. 6 - Tuesday 19 March 2013

Lezione n. 7 - Thursday 21 March 2013

  • Collezioni di oggetti. Aggregazione di oggetti. Esempio di implementazione con una articolata gerarchia di classi. Composizione di oggetti (replica di un oggetto componente, combinazione di piu' oggetti). Strutturazione di classi in packages. Utilizzo di JavaDoc. Utilizzo del software IDE Eclipse.
Lezione n. 8 - Tuesday 9 April 2013

Lezione n. 9 - Thursday 11 April 2013

  • Esempio di composizione di classi. Ereditarieta', Polimorfismo e Interfacce. La relazione tra ereditarieta' e il polimorfismo. L'overriding di metodi, come stile di programmazione. L'annotazione di override in JavaDoc.
Lezione n. 10 - Tuesday 16 April 2013

  • Esempio di implementazione di Liste di oggetti. Utilizzo dell'ereditarieta' per creare liste eterogenee. Implementazione del crivello di Eratostene.
Lezione n. 11 - Thursday 18 April 2013

  • Ereditarieta' tra classi. Late Binding di metodi. Classi astratte. Classi interfaccia. Implementazione di metodi interfaccia. Utilizzo delle librerie awt e swing per la gestione della grafica (classi Graphics, JFrame, Point).
Lezione n. 12 - Tuesday 23 April 2013

  • UML visualizzazione del grafico associato ad un package utilizzando javadoc. Gestione delle eccezioni in java: try e catch.
Lezione n. 13 - Tuesday 30 April 2013

  • Catching di eccezioni multiple. Gestione delegata di eccezioni. Codice di Test con il sistema JUnit.
Lezione n. 14 - Thursday 2 May 2013

  • JUnit ed Eclipse. Casi di Test. Unita' di Test. L'esecuzione di Test. Utilizzo di Java Generics. Tipi dipendenti, oggetti che contengono altri oggetti. La classe Core Generics. La gerarchia di sottoclassi.
Lezione n. 15 - Tuesday 7 May 2013

  • Esempi di sottoclassi astratte della classe Collection. Implementazioni di ArrayList, l'utilizzo degli iteratori per accedere agli elementi di una collezione.
Lezione n. 16 - Thursday 9 May 2013

  • La classe astratta Maps. Alcune classi (astratte) derivate. La classe TreeMap. Utilizzo di librerie esterne. Link di classi (librerie). Il concetto di stream. Una libreria di accesso allo stream dei messaggi twitter.
Lezione n. 17 - Tuesday 14 May 2013

  • Implementazione della classe Graph. Implementazione dell'esempio di utilizzo della classe TwitterStream
Lezione n. 18 - Thursday 16 May 2013

  • Classe per la visualizzazione dei messaggi Twitter. Classe di estrazione delle informazioni dal messaggio. Creazione di una classe di gesione del messaggio. Gestione del flusso di messaggi.
Lezione n. 19 - Tuesday 21 May 2013

  • Costruzione dei link tra utenti in base alla citazioni presenti nei messaggi. Calcolo del tempo di vita di un determinato link nel grafo.
Lezione n. 20 - Thursday 23 May 2013

  • Implementazione di un metodo nella classe Graph per salvare il grafo in formato tgf. Test di uguaglianza tra oggetti: uguaglianza tra stringhe. Correzione del metodo hasnode(). Algoritmo di visita in ampiezza (BFS) e algoritmo di visita in profondita' (DFS). Implementazione utilizzando l'interfaccia generica Queue. Visualizzazione di grafi. Calcolo dei valori di centralita' del grafo.

Per informazioni e commenti: pedicini@mat.uniroma3.it - Torna alla Home page - Ultima modifica: Mon Jan 27 09:15:04 CET 2014