Presentare gli aspetti fondamentali della programmazione orientata agli oggetti, con una enfasi sui concetti di modularizzazione e di riuso del codice e gli aspetti avanzati del paradigma di programmazione orientato agli oggetti. Lo studente che abbia superato il corso dovrà essere in grado di scrivere autonomamente componenti (classi e moduli) per lo sviluppo di applicazioni software di media complessità, nonché partecipare al progetto e alla realizzazione di applicazioni software di grande complessità.
Curriculum
scheda docente
materiale didattico
Il Paradigma Orientato agli Oggetti
Il linguaggio di programmazione Java
Classi e Oggetti
Costruttori
Information Hiding
Parte 2:
Qualità del codice
Coesione e accoppiamento
Testing
Parte 3:
Polimorfismo
Interfacce
Principio di sostituzione, polimorfismo
Ereditarietà
Parte 4:
Collezioni
Generics
Mappe, insiemi, liste
Iteratori
Parte 5:
Riuso del codice
Ereditarietà: approfondimenti
Classi astratte
Tipi enumerati
Classi nidificate
Parte 6:
stream, eccezioni, riflessione, annotazioni
Gestione delle Eccezioni
Stream
Riflessione
Annotazioni
Parte 7:
Introduzione alla programmazione concorrente
Java Thread, definizione, creazione, terminazione
Interferenza
Speed-up e problemi di decomposizione parallela
Programmazione ad Eventi
Modello di concorrenza per le applicazioni grafiche
Introduzione a JavaFX
E' il manuale "ufficiale" del linguaggio.
Cay Horstmann "Concetti di informatica e fondamenti di Java" - APOGEO
Un testo con una forte caratterizzazione didattica
Cay Horstmann, Gary Cornell "Core Java2 Vol I: Fondamenti" - Prentice Hall
Cay Horstmann, Gary Cornell "Core Java2 Vol II: Tecniche avanzate" - Prentice Hall
Testi molto tecnici e approfonditi (coprono anche molti concetti non affrontati nel corso; gli argomenti del corso sono distribuiti su entrambi i volumi)
Programma
Parte 1:Il Paradigma Orientato agli Oggetti
Il linguaggio di programmazione Java
Classi e Oggetti
Costruttori
Information Hiding
Parte 2:
Qualità del codice
Coesione e accoppiamento
Testing
Parte 3:
Polimorfismo
Interfacce
Principio di sostituzione, polimorfismo
Ereditarietà
Parte 4:
Collezioni
Generics
Mappe, insiemi, liste
Iteratori
Parte 5:
Riuso del codice
Ereditarietà: approfondimenti
Classi astratte
Tipi enumerati
Classi nidificate
Parte 6:
stream, eccezioni, riflessione, annotazioni
Gestione delle Eccezioni
Stream
Riflessione
Annotazioni
Parte 7:
Introduzione alla programmazione concorrente
Java Thread, definizione, creazione, terminazione
Interferenza
Speed-up e problemi di decomposizione parallela
Programmazione ad Eventi
Modello di concorrenza per le applicazioni grafiche
Introduzione a JavaFX
Testi Adottati
Ken Arnold, James Gosling, David Holmes "Il linguaggio Java: Manuale Ufficiale" - Addison WesleyE' il manuale "ufficiale" del linguaggio.
Cay Horstmann "Concetti di informatica e fondamenti di Java" - APOGEO
Un testo con una forte caratterizzazione didattica
Cay Horstmann, Gary Cornell "Core Java2 Vol I: Fondamenti" - Prentice Hall
Cay Horstmann, Gary Cornell "Core Java2 Vol II: Tecniche avanzate" - Prentice Hall
Testi molto tecnici e approfonditi (coprono anche molti concetti non affrontati nel corso; gli argomenti del corso sono distribuiti su entrambi i volumi)
Bibliografia Di Riferimento
Non ApplicabileModalità Erogazione
Nel caso di un prolungamento dell’emergenza sanitaria da COVID-19 saranno recepite tutte le disposizioni che regolino le modalità di svolgimento delle attività didattiche e della valutazione degli studenti.Modalità Frequenza
Non ApplicabileModalità Valutazione
Prova orale, prova scritta e orale e/o laboratorio
scheda docente
materiale didattico
Il Paradigma Orientato agli Oggetti
Il linguaggio di programmazione Java
Classi e Oggetti
Costruttori
Information Hiding
Parte 2:
Qualità del codice
Coesione e accoppiamento
Testing
Parte 3:
Polimorfismo
Interfacce
Principio di sostituzione, polimorfismo
Ereditarietà
Parte 4:
Collezioni
Generics
Mappe, insiemi, liste
Iteratori
Parte 5:
Riuso del codice
Ereditarietà: approfondimenti
Classi astratte
Tipi enumerati
Classi nidificate
Parte 6:
stream, eccezioni, riflessione, annotazioni
Gestione delle Eccezioni
Stream
Riflessione
Annotazioni
Parte 7:
Introduzione alla programmazione concorrente
Java Thread, definizione, creazione, terminazione
Interferenza
Speed-up e problemi di decomposizione parallela
Programmazione ad Eventi
Modello di concorrenza per le applicazioni grafiche
Introduzione a JavaFX
E' il manuale "ufficiale" del linguaggio.
Cay Horstmann "Concetti di informatica e fondamenti di Java" - APOGEO
Un testo con una forte caratterizzazione didattica
Cay Horstmann, Gary Cornell "Core Java2 Vol I: Fondamenti" - Prentice Hall
Cay Horstmann, Gary Cornell "Core Java2 Vol II: Tecniche avanzate" - Prentice Hall
Testi molto tecnici e approfonditi (coprono anche molti concetti non affrontati nel corso; gli argomenti del corso sono distribuiti su entrambi i volumi)
Programma
Parte 1:Il Paradigma Orientato agli Oggetti
Il linguaggio di programmazione Java
Classi e Oggetti
Costruttori
Information Hiding
Parte 2:
Qualità del codice
Coesione e accoppiamento
Testing
Parte 3:
Polimorfismo
Interfacce
Principio di sostituzione, polimorfismo
Ereditarietà
Parte 4:
Collezioni
Generics
Mappe, insiemi, liste
Iteratori
Parte 5:
Riuso del codice
Ereditarietà: approfondimenti
Classi astratte
Tipi enumerati
Classi nidificate
Parte 6:
stream, eccezioni, riflessione, annotazioni
Gestione delle Eccezioni
Stream
Riflessione
Annotazioni
Parte 7:
Introduzione alla programmazione concorrente
Java Thread, definizione, creazione, terminazione
Interferenza
Speed-up e problemi di decomposizione parallela
Programmazione ad Eventi
Modello di concorrenza per le applicazioni grafiche
Introduzione a JavaFX
Testi Adottati
Ken Arnold, James Gosling, David Holmes "Il linguaggio Java: Manuale Ufficiale" - Addison WesleyE' il manuale "ufficiale" del linguaggio.
Cay Horstmann "Concetti di informatica e fondamenti di Java" - APOGEO
Un testo con una forte caratterizzazione didattica
Cay Horstmann, Gary Cornell "Core Java2 Vol I: Fondamenti" - Prentice Hall
Cay Horstmann, Gary Cornell "Core Java2 Vol II: Tecniche avanzate" - Prentice Hall
Testi molto tecnici e approfonditi (coprono anche molti concetti non affrontati nel corso; gli argomenti del corso sono distribuiti su entrambi i volumi)
Bibliografia Di Riferimento
Non ApplicabileModalità Erogazione
Nel caso di un prolungamento dell’emergenza sanitaria da COVID-19 saranno recepite tutte le disposizioni che regolino le modalità di svolgimento delle attività didattiche e della valutazione degli studenti.Modalità Frequenza
Non ApplicabileModalità Valutazione
Prova orale, prova scritta e orale e/o laboratorio