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.
|