|
Nicola BICOCCHI
Professore Associato Dipartimento di Ingegneria "Enzo Ferrari"
|
Insegnamento: Programmazione ad oggetti
Ingegneria Informatica (MO) (Offerta formativa 2020)
Obiettivi formativi
Il corso introduce alla programmazione orientata agli oggetti utilizzando sia Java che Python. L'obiettivo del corso è fornire allo studente le competenze necessarie a sviluppare moderne applicazioni, sia desktop che mobili, in modo autonomo.
Prerequisiti
Fondamenti di Informatica I e Lab., Fondamenti di Informatica II e Lab.
Programma del corso
Java: variabili, costrutti condizionali e iterativi, classi, oggetti, attributi, metodi, classi astratte, interfacce, framework collections (JCF), generics, eccezioni, interfacce grafiche (Swing), accesso ai dati (JDBC, REST), multi-threading.
Python: variabili, costrutti condizionali e iterativi, classi, oggetti, attributi, metodi, interfacce informali, framework collections (liste, tuple, set, dizionari), iteratori, generatori, comprehension.
Il contenuto dettagliato del corso è visibile a questo indirizzo:
https://github.com/nbicocchi/ooprogramming
Metodi didattici
Il corso è organizzato in moduli organizzati su base circa settimanale. Ogni modulo tratta un argomento specifico e prevede una parte di laboratorio.
Testi di riferimento
Head First Java; Sierra, Bates (beginner)
Head First Object-Oriented Analysis Design; McLaughlin, Pollice, West (intermediate)
Effective Java; Joshua Bloch (advanced)
Python Crash Course; Matthes (beginner)
Head First Python: A Brain-Friendly Guide; Barry (intermediate)
Fluent Python; Ramalho (advanced)
Verifica dell'apprendimento
L'insegnamento prevede lo sviluppo di un progetto da sviluppare a coppie in Java o in Python. L'esame consiste in una discussione orale del progetto (50pc) corredata da semplici domande o esercizi al calcolatore (50pc).
Le prove si svolgeranno sotto la supervisione video del docente e dei suoi collaboratori.
Risultati attesi
Il corso si prefigge di fornire gli strumenti per l'implementazione di sistemi software orientati agli oggetti. Al termine del corso, gli studenti saranno in grado di sviluppare da zero un'applicazione Java corredata di documentazione.