Nuova ricerca

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.