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
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
Un modello multi-thread per le applicazioni grafiche
Programma
ProgrammaParte 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
Un modello multi-thread per le applicazioni grafiche
Testi Adottati
Claudio De Sio Cesari , Programmazione Java, HoepliBibliografia Di Riferimento
Non ApplicabileModalità Frequenza
In presenza, 3 lezioni frontali settimanaliModalità Valutazione
Prova orale, prova scritta e orale e/o laboratorio
scheda docente
materiale didattico
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
Un modello multi-thread per le applicazioni grafiche
Programma
ProgrammaParte 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
Un modello multi-thread per le applicazioni grafiche
Testi Adottati
Claudio De Sio Cesari , Programmazione Java, HoepliBibliografia Di Riferimento
Non ApplicabileModalità Frequenza
In presenza, 3 lezioni frontali settimanaliModalità Valutazione
Prova orale, prova scritta e orale e/o laboratorio
scheda docente
materiale didattico
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
Un modello multi-thread per le applicazioni grafiche
Programma
ProgrammaParte 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
Un modello multi-thread per le applicazioni grafiche
Testi Adottati
Claudio De Sio Cesari , Programmazione Java, HoepliBibliografia Di Riferimento
Non ApplicabileModalità Frequenza
In presenza, 3 lezioni frontali settimanaliModalità Valutazione
Prova orale, prova scritta e orale e/o laboratorio