Anno di corso: 1

Crediti: 8
Crediti: 8
Crediti: 8
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale
Crediti: 3
Tipo: Lingua/Prova Finale

Anno di corso: 2

Anno di corso: 3

Crediti: 8
Crediti: 8
Crediti: 16
Tipo: A scelta dello studente
Crediti: 4
Tipo: Lingua/Prova Finale
Crediti: 13
Tipo: Altro

PROGRAMMAZIONE 2

Scheda dell'insegnamento

Anno accademico di regolamento: 
2014/2015
Anno di corso: 
1
Anno accademico di erogazione: 
2014/2015
Tipo di attività: 
Obbligatorio
Crediti: 
8
Ciclo: 
Secondo Semestre
Ore di attivita' didattica: 
64
Prerequisiti: 

Programmazione imperativa (vedi Programmazione 1)

Moduli

Metodi di valutazione

Modalita' di verifica dell'apprendimento: 

La verifica dell'apprendimento comprende una prova scritta e una eventuale discussione del risultato.
La verifica dell'apprendimento può inoltre derivare dall'esito di prove intermedie parziali.

Valutazione: 
Voto Finale

Obiettivi formativi

Alla fine del corso lo studente sarà in grado di utilizzare i principali concetti della programmazione a oggetti per progettare, sviluppare e testare semplici programmi Java.

Contenuti

Basi della progettazione software con utilizzo di UML. Programmazione a oggetti in Java con utilizzo di alcune librerie. Ambiente di sviluppo Eclipse. Elementi sulle interfacce grafiche. Testing e debugging con Junit.

Programma esteso

1 Concetti di base:
- analisi, progettazione e programmazione
- astrazioni: classificazioni, generalizzazioni, aggregazioni
- notazione UML: diagramma delle classi, diagramma degli oggetti
- Object-Oriented Programming

2 Definizione di classi e crezione di oggetti in Java:
- dal diagramma delle classi alle classi in Java
- gestione della memoria e concetto di reference
- associazioni 1 a 1
- associazioni 1 a n
- liste

3 Metodi:
- metodi di istanza
- overloading
- passaggio parametri di tipo reference
- metodi di classe

4 Information hiding e incapsulamento
- getodi get e set
- visibilità
- costruttori"

5 Eclipse
Junit
Debug

6 Ereditarietà
- Uml e Java
- overriding
- costruttori nelle classi derivate
- polimorfismo
- classi astratte e interfacce

7 Eccezioni
- gestione delle eccezioni
- definizione di classi di eccezioni

8 Alcune librerie standard:
- collection framework
- cenni sulle interfacce grafice: AWT e gestione eventi"

Bibliografia consigliata

Programmazione di base e avanzata con Java, Walter Savitch, Edizione in Italiano, ISBN-10: 8865181907, Pearson, 2014
UML distilled. Guida rapida al linguaggio di modellazione standard, Martin Fowler, Edizione in Italiano, ISBN-10: 887192598X, Pearson, 2010

Metodi didattici

Lezioni ed esercitazioni in aula. Attività di laboratorio in e-learning mediante esercizi, test di autovalutazione e tutoraggio on-line.