Obbiettivi formativi: questo corso non assume alcuna esperienza di programmazione da parte dello studente. Il suo obbiettivo centrale è di insegnare gli strumenti necessari a risolvere problemi programmando un calcolatore. Questo comporta lo studio di tecniche per analizzare un problema, costruire un algoritmo e scriverlo in Java. Nel far questo si imparerà una gran parte (ma non tutto) della sintassi e della semantica di Java.

Programma del corso: introduzione alla programmazione e all'informatica usando il linguaggio Java; oggetti e metodi elementari: tipi primitivi, stringhe, I/O interattivo; flusso di controllo: selezione e iterazione; classi e metodi: definizione di classi e metodi, astrazione ed incapsulamento; oggetti e metodi: progetto di metodi, sovraccarico (overloading), costruttori, pachetti (packages); array; ereditarietà (inheritance); polimorfismo e legami dinamici (dynamic binding); definizione e gestione delle eccezioni; strutture di dati dinamiche: vettori e liste; I/O su file: streams; ricorsione; interfacce grafiche (GUI); applets e html (Capitoli 1-14 del libro di Savitch).