Programmazione in Rete e Laboratorio
Corso di Studi in Informatica
a.a. 2001/2002
Programma del corso
- Introduzione alla programmazione ad oggetti:
- il concetto di astrazione nell'evoluzione dei linguaggi di programmazione
- esecuzione di programmi: compilatori ed interpreti
- gestione della memoria e dati dinamici, garbage collector
- oggetti, incapsulamento dei dati, invio di messaggi, classi
- istanze, allocazione dinamica della memoria, puntatori e oggetti
- binding dinamico e riuso del codice
- relazione fra binding dinamico, sottotipi, e polimorfismo
- relazioni fra classi: ereditarietà (is-a), composizione (has-a), uso (uses)
- confronto fra ereditarietà e composizione
- confronto fra ridefinizione (overriding) e sovraccarico (overloading) di metodi e campi
- introduzione ai diagrammi di classe
- Programmazione in Java:
- installazione, documentazione, tutorial
- costrutti di base del linguaggio, tipi-base
- compilazione ed esecuzione di un programma Java
- creazione e inizializzazione di oggetti: costruttori
- assenza di puntatori espliciti, garbage collection
- metodi e campi statici: blocchi di inizializzazione statici
- costruttori ed ereditarietà
- type checking statico, polimorfismo, upcasting e downcasting, binding dinamico
- la classe Object
- visibilità di classi, metodi, e campi
- visibilità ed ereditarietà
- interfacce, metodi astratti e classi astratte, ereditarietà multipla
- arrays in Java, le Collection in Java 2
- il metodo toString()
- trattamento degli errori: le eccezioni
- strutturazione in package e la variabile di ambiente CLASSPATH
- I/O, streams, files e la serializzazione di oggetti
- l'utility javadoc per la generazione automatica della documentazione
- Programmazione avanzata in Java 2 e programmazione in rete:
- graphic user interface, event-driven programming e l'architettura Model
View Controller (MVC)
- programmare con i thread: esecuzione di thread multipli,
la classe java.lang.Thread e l'interfaccia java.lang.Runnable,
sincronizzazione per l'accesso a risorse condivise
- uso dei socket e connessioni URL, RMI
- cenni al collegamento con i database
- cenni alla programmazione lato server: Servlet
|