Programmazione per TWM: Programma preliminare A.A. 02/03
Il corso è diviso nelle cinque parti seguenti.
- Parte I. La programmazione strutturata. Vengono
presentati i mattoni di base di un programma Java (e della quasi
totalità dei linguaggi di programmazione): variabili, tipi,
espressioni, strutture di controllo (sequenza, selezione, iterazione),
array, metodi, ricorsione.
- Parte II. Tipi di dati astratti e occultamento delle
informazioni. Come fare programmi più grandi e
complicati, ma comunque modificabili, estendibili, comprensibili,
ecc.. Vengono presentati il concetto di Tipo di Dato Astratto (TDA) e
si discutono i principi dell'incapsulamento e dell'occultamento delle
informazioni. Implementazione in Java dei TDA.
- Parte III. I fondamenti della programmazione orientata
agli oggetti (OO). La programmazione OO viene presentata come
un'evoluzione dai TDA. Vengono introdotti i concetti di: oggetti,
classi, istanze, scambio messaggi. Vengono discussi i meccanismi
dell'eredità e del polimorfismo. Vengono presentati alcuni
aspetti specifici della programmazione OO in Java: classi astratte,
interfacce, package.
- Parte IV. Le API (Application Programming Interface) del
Java. Le "librerie" da usare per scrivere programmi non
banali. Siccome il programmatore di oggi deve conoscere anche le API,
vengono presentate alcune delle API del Java: per la gestione dei
file, per la costruzione di interfacce utente grafiche, per
implementare applet. Cenni ai servlet.
- Parte V. Teoria della computabilità e della
complessità (cenni). Si accenna ai concetti di
funzione computabile (ovvero: che cosa può fare un programma?)
e di complessità computazionale (ovvero: come valutare
l'efficienza di un programma, in termini di velocità di
esecuzione, in modo teorico).
Testi adottati
Il testo principale su cui si basano quasi tutte le lezioni
teoriche è:
S. Mizzaro. Introduzione alla programmazione
con il linguaggio Java. Franco Angeli, Milano, 3a edizione, 2001. ISBN
88-464-1696-1.
A lezione verrà segnalato o fornito altro materiale (lucidi,
pagine Web, dispense, altri testi consigliati).
Stefano Mizzaro
Last modified: Sat Jan 11 10:41:51 ora solare Europa occidentale 2003