|
Nicola BICOCCHI
Professore Associato Dipartimento di Ingegneria "Enzo Ferrari"
|
Insegnamento: Programmazione a Oggetti
Ingegneria Informatica (MO) (Offerta formativa 2024)
Obiettivi formativi
L'insegnamento introduce alla programmazione orientata agli oggetti utilizzando il linguaggio Java. L'obiettivo dell'insegnamento è fornire allo studente le competenze necessarie a sviluppare moderne applicazioni, sia desktop che mobili, in modo autonomo.
Prerequisiti
Si auspicano conoscenze di base sulla programmazione procedurale fornite nei corsi di Fondamenti di Informatica I e II.
Programma del corso
- Variabili, costrutti condizionali e iterativi (1 CFU)
- Classi, classi astratte, interfacce, classi generiche (1 CFU)
- Collections framework (1 CFU)
- Programmazione funzionale (1 CFU)
- JavaFX framework (1 CFU)
- JDBC/REST framework (1CFU)
Il contenuto dettagliato dell'insegnamento è visibile a questo indirizzo:
https://github.com/nbicocchi/java-core
Metodi didattici
L’insegnamento è organizzato in moduli organizzati su base settimanale. Ogni modulo tratta un argomento specifico e prevede una parte di laboratorio. L’insegnamento viene erogato mediante lezioni frontali ed esercitazioni in presenza che vengono svolte con l’ausilio di slides proiettate. La frequenza alle lezioni in presenza non è obbligatoria. L’insegnamento è erogato in lingua italiana.
Testi di riferimento
Big Java - Early Objects 7th Edition; Horstmann; Wiley Press
Verifica dell'apprendimento
L'insegnamento prevede lo sviluppo di un progetto individuale o a coppie da sviluppare in Java. Il tema del progetto è libero (applicazione desktop, applicazione mobile, videogioco). L'esame consiste in una discussione orale del progetto stesso (10/30) unita alla soluzione di 2 esercizi pratici al calcolatore (20/30).
Risultati attesi
Conoscenza e capacità di comprensione:
Conoscenze di modellazione attraverso costrutti orientati agli oggetti
Conoscenze sulle componenti principali del linguaggio Java
Capacità di leggere e scrivere software in Java
Autonomia di giudizio:
Particolare rilevanza è attribuita alla stimolazione della capacità dello studente di selezionare gli opportuni metodi e strumenti per risolvere problemi specifici.
Abilità comunicative:
Al termine dell'insegnamento lo studente deve essere in grado di esporre e rielaborazione i concetti appresi, con particolare attenzione al lessico e alla proprietà di linguaggio.
Capacità di apprendimento:
Al termine dell'insegnamento lo studente deve essere in grado di sviluppare da zero un software orientato agli oggetti utilizzando Java. E' inoltre auspicabile la capacità di approfondire in modo autonomo aspetti collaterali degli argomenti proposti.