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: 8
Crediti: 8
Crediti: 8
Tipo: A scelta dello studente
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: 
2018/2019
Anno di corso: 
1
Anno accademico di erogazione: 
2018/2019
Tipo di attività: 
Obbligatorio
Lingua: 
Italiano
Crediti: 
8
Ciclo: 
Secondo Semestre
Ore di attivita' didattica: 
76
Prerequisiti: 

Programmazione imperativa (vedi Programmazione 1)

Moduli

Metodi di valutazione

Modalita' di verifica dell'apprendimento: 

La verifica dell'apprendimento comprende una prova scritta che si articola in due parti:

prima parte mira a valutare le conoscenze teoriche. La prova consiste nella somministrazione di un insieme di domande a risposta chiusa erogate attraverso la piattaforma Perception.
seconda parte mira a valutare le conoscenze pratiche. La prova consiste nella implementazione in Java di un programma di cui sono fornite le specifiche attraverso un diagramma delle classi UML.

Durante lo svolgimento del corso si svolgeranno due compitini che saranno erogati sempre attraverso una prova scritta organizzata come descritto sopra.

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 creazione 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

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 e 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

- I/O

- collection framework

Bibliografia consigliata

Programmazione di base e avanzata con Java - seconda edizione, Walter Savitch, Edizione in Italiano, EAN 9788891904577, Pearson, 2018

Metodi didattici

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