CODICE 48382 ANNO ACCADEMICO 2016/2017 CFU 7 cfu anno 2 STATISTICA MATEM. E TRATTAM. INFORMATICO DEI DATI 8766 (L-35) - 7 cfu anno 3 MATEMATICA 8760 (L-35) - 7 cfu anno 2 MATEMATICA 9011 (LM-40) - SETTORE SCIENTIFICO DISCIPLINARE INF/01 LINGUA Italiano SEDE PERIODO 1° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE L'insegnamento introduce la programmazione orientata a oggetti (OO), che e' adottata da molti linguaggi di programmazione usati oggi. La vedremo sull'esempio del linguaggio Java. Java e' didatticamente pulito, gratuito per varie piattaforme (Windows, Linux, Mac), ha documentazione vasta e ben fatta. Un vantaggio della programmazione OO e' di facilitare la struttutazione in moduli software (classi) riutilizzabili. Noi vedremo un uso della libreria di classi Java per costruire interfacce utente. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Introdurre alla programmazione orientata a oggetti, all'implementazione di tipi di dato, alle interfacce grafiche (sull'esempio del linguaggio java). OBIETTIVI FORMATIVI (DETTAGLIO) I concetti e costrutti tipici del paradigma di programmazione orientato a oggetti, esemplificati sul linguaggio Java (classe, oggetto, ereditarieta', binding dinamico, gestione della memoria, gestione delle eccezioni ecc.). La filosofia orientata a oggetti applicata all'implementazione di algoritmi. La classe come modulo che implementa un tipo di dato (valori e operazioni) con alcuni esempi. Un'esperienza di sviluppo di programmi piu' complessi usando classi (di libreria) come mattoni base: interfacce utente in Java. MODALITA' DIDATTICHE L'insegnamento prevede lezioni in aula e in laboratorio (con esercizi) coordinate fra loro. Ci sono tre lezioni alla settimana di due ore ciascuna. Nella settimana-tipo, una lezione e' in aula, una in laboratorio, una e' in aula o in laboratorio secondo come richiesto dal flusso degli argomenti trattati. PROGRAMMA/CONTENUTO Paradigma di programmazione object-oriented e linguaggio Java. Classi e oggetti. Campi e metodi di istanza e di classe. Diverse nozioni di uguaglianza tra oggetti e copia. Costruttori. Clientship. Esempi di programmazione "ad oggetti". Ereditarietà, overriding. Binding dinamico. Classi astratte e interfacce. Array. Eccezioni e loro gestione. Programmi con interfaccia utente di tipo grafico. Realizzazione di interfacce grafiche in Java. TESTI/BIBLIOGRAFIA Appunti del corso (in italiano). Manuale e tutorial di Java disponibili on-line (in inglese). DOCENTI E COMMISSIONI PAOLA MAGILLO Ricevimento: Su appuntamento. Commissione d'esame ELENA ZUCCA (Presidente) DAVIDE ANCONA PAOLA MAGILLO LEZIONI INIZIO LEZIONI 26 Settembre 2016 Orari delle lezioni PROGRAMMAZIONE 2 ESAMI MODALITA' D'ESAME L'esame consiste di una prova pratica in laboratorio e un orale. Di norma le due parti sono mattina e pomeriggio dello stesso giorno e costituiscono un'unita' inscindibile. Per dettagli vedere "Modalita' di accertamento". MODALITA' DI ACCERTAMENTO La prova di laboratorio richiede di modificare un programma "caso di studio" visto durante l'anno. Alla fine delle lezioni verranno dati esempi di prova di laboratorio con relative soluzioni. Alla prova di laboratorio si possono portare appunti, dispense, libri, e si puo' consultare la documentazione on-line di Java. L'orale consiste in domande sui concetti teorici della programmazione orientata a oggetti e sulla loro realizzazione in Java. Tipicamente sono chiesti anche esempi (con scrittura di codice Java) tratti da quanto visto a lezione in aula e in laboratorio durante l'anno. Calendario appelli Data appello Orario Luogo Tipologia Note 01/06/2017 09:00 GENOVA Laboratorio 30/06/2017 09:00 GENOVA Laboratorio 24/07/2017 09:15 GENOVA Laboratorio 04/09/2017 09:00 GENOVA Laboratorio ALTRE INFORMAZIONI Prerequisiti: Programmazione 1