Programma
- Hardware e software
- Rappresentazione digitale dell'informazione
- Le reti
- Architettura di un eleaboratore
- I programmi come solutori di problemi
- Java: introduzione e struttura di un programma
- Commenti, identificatori, parole riservate, white space
- Livelli di linguaggi
- Compilazione
- Sintassi e semantica
- Gli oggetti
- L'oggetto come astrazione
- I metodi print e println
- Le stringhe
- Le variabili: dichiarazione e
inizializzazione
- L'assegnamento
- Le costanti
- Tipi di dato primitivi: numerici,
caratteri, booleani
- Le
espressioni aritmetiche
- La precedenza
negli operatori artimentici e nell'assegnamento
- Conversioni:
widening e narrowing.
- Conversioni
per assegnamento,
per promozione, casting.
- Creazione
di oggetti
- Librerie di classi
- I package
- La dichiarazione import
- Uso dei metodi statici
- La classe Keyboard
- Formattazione dell'output
- Ciclo di sviluppo di un programma
- Il controllo del flusso
- Il costrutto if e if-else
- Le espressioni booleane e gli
operatori relazionali
- I
block statement
- If nidificati
- Lo statement switch
- Gli operatori logici
- Le tabelle di verità
- Valutazione "shot circuited"
- Comparazione di caratteri,
di stringhe (ordine lessicografico),
di float
- Operatori di incremento, decremento,
assegnamento
- L'operatore
condizionale
- I cicli
- Lo statement while
- Cicli infiniti e cicli nidificati
- La classe StringTokenizer
- Lo statement do
- Confronto fra while e do
- Lo statement for
- La scelta del costrutto per realizzare
un ciclo
- Sviluppo dei programmi: dalla
raccolta dei requisiti al testing
- Scrivere
le classi
- Gli oggetti: stato e
comportamento
- La struttura di
una classe
- Instance data e metodi
- La classe Coin
- Lo scope dei dati
- Le variabili di istanza
- UML: il class diagram e l'object
diagram
- L'incapsulazione
- Il principio
della "scatola nera"
- I modificatori
di visibilità
- La dichiarazione
dei metodo
- Il
flusso di esecuzione
nell'invocazione dei metodi
- Metodi:
intestazione e corpo
- I
valori
di ritorno
- Parametri
attuali
e formali
- Le
variabili
locali
- Dettagli
sui
costruttori
- L'overloading
dei
metodi
- La
decomposizione
- Relazione
fra
classi
e oggetti
in
UML
- L'aggregazione
- L'aggregazione in UML
- Le reference
- La reference null
- La reference this
- L'assegnamento con le reference
- L'alias fra reference
- Confronto fra reference
- Usare una reference come parametro nell'invocazione
di un metodo
- Il modificatore
static
- L'uso
di
static con i metodi
- L'uso
di static con le variabili d'istanza
- Le
classi wrapper delle
libreria standard di Java
- Le interfacce
- L'interfaccia Comparable
- Gli array
- Dichiarazione di un array
- Instanziazione di un array
- Controllo dei limiti negli array
- Liste di inizializzazione per gli array
- L'uso degli array come parametri nell'invocazione dei metodi
- Gli argomenti in linea di comando
- Array di oggetti
- Ordinamento di array
- Insertion sort
- Selection sort
- Ordinamento di array di oggetti
- Array bidimensionali
- Array multidimensionali
- La classe ArrayList
- L'ereditarietà
- Il modificicatore di visibilità protected
- Ereditarietà nei diagrammi UML
- La reference super
- L'overriding dei metodi
- Gerarchie di classi
- La classe Object
- Le classi e i metodi astratti
- Il polimorfismo
- Gerarchie di interfacce
- Le eccezioni
- La gestione delle eccezioni
- Il costrutto try/catch
- La clausola finally
- Propagazione delle eccezioni
- Lanciare una eccezione
- Creare una classe da usare come eccezione
- Le eccezioni checked e unchecked
- La ricorsione
- Definizione ricorsiva di un problema
- Caso base/ricorsione infinita
- Ricorsione diretta e indiretta
- Uso della ricorsione: l'uscita da un labirinto
- Gli stream di I/O
- Input stream/output stream
- Data stream/processing stream
- Stream, reader e writer
- L'eccezione IOException
- La serializzazione
- Le strutture dati dinamiche
- Gli ADT: liste, code e stack
- Strategia per implementare una lista (linked list, doubly linked
list, ...)
- Le collezioni del package java.util
- La gerarchia delle interfacce nelle collezioni
- L'interfaccia Collection
- L'iterazione degli elementi, l'interfaccia Iterator
- L'interfaccia List
- Classi concrete che implementano List
- L'interfaccia Map
- Classi concrete che implementano Map
- L'ordinamento nelle collezioni
|