PROGRAMMAZIONE A OGGETTI - MOD.2
- Anno accademico
- 2025/2026 Programmi anni precedenti
- Titolo corso in inglese
- OBJECT-ORIENTED PROGRAMMING - 2
- Codice insegnamento
- CT0114 (AF:608535 AR:301158)
- Lingua di insegnamento
- Italiano
- Modalità
- In presenza
- Crediti formativi universitari
- 3 su 9 di PROGRAMMAZIONE A OGGETTI
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- INF/01
- Periodo
- I Semestre
- Anno corso
- 2
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
L'obiettivo dell’insegnamento è fornire conoscenze relative al paradigma di programmazione ad oggetti nonché la conoscenza specifica del linguaggio Java.
Risultati di apprendimento attesi
- Conoscere il paridgma della programmazione ad oggetti
- Conoscere i meccanismi principali alla base dello sviluppo di applicazioni ad oggetti modulari
- Conoscere gli elementi fondamentali della libreria standard di Java
Capacità di applicare conoscenza e comprensione
- Capacita' di sviluppare classi con campi e metodi di tipo e visibilita' appropriati in Java
- Capacita' di sviluppare una gerarchia di classi e tipi appropriata in Java
- Capacita' di utilizzare in maniera appropriata la libreria standard di Java
Prerequisiti
Contenuti
2) Programmazione ad eventi, callback, anonymous class
3) Eccezioni, error reporting, resource tracking
4) Polimorfismo parametrico: generics, constraints, polimorfismo first-class
5) Programmazione funzionale pura/impura codificata ad oggetti: lambda espressioni, function objects, closures
6) Design pattern: factory, singleton, command, listener-observer, consumer-producer
7) Tecniche di programmazione avanzata: type-driven programming ad oggetti
Testi di riferimento
Joshua Bloch
"Effective Java Third Edition"
Addison-Wesley Professional, 2017
Kamalmeet Singh, Adrian Ianculescu, Lucian-Paul Torje
"Design Patterns and Best Practices in Java"
Packt Publishing Ltd, 2018
Scott Meyers
"Effective Modern C++"
O'Reilly Media Inc, 2015
Modalità di verifica dell'apprendimento
La valutazione sara' basata unicamente sulla prova scritta composta da una parte teorica che valutera' le conoscenze dello studente relative al paradigma di programmazione ad oggetti con domande a risposta chiusa e aperta, e una parte pratica che valutera' la conoscenza specifica del linguaggio Java attraverso esercizi di programmazione in questo linguaggio.
Una prova orale sarà richiesta a discrezione del docente valutando caso per caso. Essa ha lo scopo di aggiustare il voto dello scritto qualora fosse sotto la soglia della sufficienza o qualora fosse esplicitamente richiesto dallo studente.
Modalità di esame
Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.
Graduazione dei voti
- sufficiente conoscenza del paridgma di programmazione ad oggetti
- sufficienti abilità nello sviluppo di applicazioni Java
B. punteggi nella fascia 23-26 verranno attribuiti in presenza di:
- discreta o buona conoscenza del paridgma di programmazione ad oggetti
- discreta o buona abilità nello sviluppo di applicazioni Java
funzionamento economico dei servizi pubblici;
C. punteggi nella fascia 27-30 verranno attribuiti in presenza di:
- ottima conoscenza del paridgma di programmazione ad oggetti
- ottima abilità nello sviluppo di applicazioni Java
Metodi didattici
Tutto il codice prodotto a lezione viene regolarmente conservato su un repository Github ed è consultabile.