Rappresentazione dell'informazione (dispensa scaricabile dal sito).
Cambiamenti di base per interi e frazionari.
Rappresentazione numeri interi (modulo e segno, complemento a 2
e eccesso k), numeri in virgola mobile (standard IEEE) e
caratteri (codici ASCII e Unicode).
Capitolo 1: Introduzione.
Architettura del computer;
il processo di compilazione e la Java virtual machine.
Capitolo 2: Utilizzare oggetti.
Tipi di dati fondamentali, nozioni di variabile e assegnazione.
Oggetti, classi e metodi; parametri espliciti ed impliciti.
Metodi d'accesso e metodi modificatori; riferimenti ad oggetti.
Capitolo 3: Realizzare classi.
Scatole nere e progettazione classi; interfaccia pubblica.
Campi d'esemplare (variabili d'istanza), variabili locali
e variabili parametro. Metodi costruttore.
Capitolo 4: Tipi di dati fondamentali.
Tipi numerici base (int, double, char, boolean, etc.)
e operatori relativi. Conversioni; costanti; metodi statici.
Classe String e lettura dati in ingresso.
Capitolo 6: Decisioni.
Istruzioni di ramificazione e operatori logici.
Confronto tra dati numeri ed oggetti.
Il riferimento null.
Capitolo 7: Iterazioni.
Istruzioni di iterazione.
Saltare argomenti avanzati 7.4 e 7.5.
Capitolo 8: Vettori ed array.
Array e classe ArrayList: tutti i metodi associati.
Involucri e autoimpacchettamento. Ciclo for generalizzato.
Semplici algoritmi per la gestione dei vettori
(contare, trova valore e massimo/minimo).
Array a due dimensioni. Saltare argomenti avanzati 8.3.
Capitolo 9: Progettazione classi.
Scegliere le classi; coesione ed accoppiamento.
Classi immutabili ed effetti collaterali.
Chiamata con call by value. Precondizioni e postcondizioni;
variabili e metodi statici; ambito di visibilità
di metodo e di variabile. Saltare argomenti avanzati 9.2
e saltare da pg. 320 sino alla fine del capitolo.
Capitolo 10: Interfacce e polimorfismo.
Interfacce e nozione di firma. Conversioni tra classe
e interfaccia; early e late binding. Polimorfismo.
Saltare dalla sezione 10.6 compresa sino alla fine del capitolo.
Capitolo 12: Ereditarietà.
Gerarchie di ereditarietà. Ereditarietà
e riscrittura di metodi e sottoclassi. Casting tra
super-classe e sotto-classe. Polimorfismo. Saltare da pg. 411
a pg. 416. La classe Object ed i suoi metodi.
Saltare argomenti avanzati 12.7.
Capitolo 14: Eccezioni.
Gerarchia delle eccezioni; eccezioni controllate e non controllate.
Le clausole try, catch e finally. Progettazione di eccezioni.
Capitolo 15: File.
File di testo e file binari. File ad accesso casuale.
Flussi di oggetti.
Capitolo 16: Ricorsione.
Nozione di ricorsione; metodi ausiliari ricorsivi.
Saltare da pag. 546 sino alla fine del capitolo.
Capitolo 17: Ordinamento e ricerca.
Ordinamento per selezione, inserimento, merge e quicksort.
Prestazioni e notazione O-grande.
Ricerca lineare e binaria.
Capitolo 18: Introduzione alle strutture di dati.
Liste concatenate. Saltare la sezione 18.2.
Dati astratti e dati concreti; pile e code.
Capitolo 19: Strutture dati avanzate.
Insiemi, mappe e tabelle hash.
Saltare da pg.641 sino alla fine del capitolo.
|