Programmazione II (2015/2016)

L'insegnamento è organizzato come segue:
Attività Crediti Periodo Docenti Orario
Teoria 4 I semestre Nicola Fausto Spoto
Laboratorio 2 I semestre Nicola Fausto Spoto

Orario lezioni

I semestre
Attività Giorno Ora Tipo Luogo Note
Teoria martedì 11.30 - 14.30 lezione Aula B  
Laboratorio mercoledì 8.30 - 11.30 laboratorio Laboratorio didattico Delta  

Obiettivi formativi

Il corso fornisce conoscenze avanzate di programmazione, permettendo agli studenti di sviluppare algoritmi complessi in un linguaggio imperativo ad oggetti come Java e di usare strumenti e tecniche di supporto alla programmazione.

Programma

Dal linguaggio C al linguaggio Java: similitudini e differenze. Ambiente di sviluppo da linea di comando. Ambiente di sviluppo Eclipse. Tipi primitivi. Array e collezioni. Il concetto di classe e di oggetto. Garbage collection. Uso della gerarchia. Programmazione di base in Swing. Javadoc. Testing in JUnit. Implementazione delle classi. Estensione delle classi. Tipi enumerativi, tipi generici e interfacce. Organizzazione della memoria e ricorsione. Eccezioni. Collezioni Java. Stream. Annotazioni. Riflessione. Concorrenza: uso dei thread e della libreria standard per la concorrenza. Uso di uno strumento di collaborazione e gestione delle versioni: git. Pulizia del codice e refactoring.

Modalità d'esame

I 4 esami annuali consistono nella scrittura di codice Java su carta e senza l'ausilio di un calcolatore. Viene valutata la capacità di tradurre gli algoritmi in codice e di organizzare le informazioni in classi, senza significativi errori di sintassi.

Testi di riferimento
Attività Autore Titolo Casa editrice Anno ISBN Note
Teoria Cay S. Horstmann, Gary Cornell Core Java, Volume I - Fundamentals Prentice Hall - Pearson Education   978-0-13-708189-9

Opinione studenti frequentanti - 2015/2016