PROGRAMMAZIONE 2

PROGRAMMAZIONE 2

_
iten
Codice
48382
ANNO ACCADEMICO
2017/2018
CFU
7 cfu al 2° anno di 8766 STATISTICA MATEM. E TRATTAM. INFORMATICO DEI DATI (L-35) GENOVA

7 CFU al 3° anno di 8760 MATEMATICA (L-35) GENOVA

7 CFU al 2° anno di 9011 MATEMATICA (LM-40) GENOVA

SETTORE SCIENTIFICO DISCIPLINARE
INF/01
LINGUA
Italiano
SEDE
GENOVA (STATISTICA MATEM. E TRATTAM. INFORMATICO DEI DATI )
periodo
1° Semestre
materiale didattico

PRESENTAZIONE

L'insegnamento introduce il tipo di dato, controparte teorica del modulo software, costituito da valori e operazioni; introduce strutture dati e algoritmi che implementano, in modo non unico, un tipo di dato. Insegna a valutare la complessita' spaziale e temporale di un'implementazione.
Introduce la programmazione orientata a oggetti ed usa il linguaggio Java per implementare tipi di dato classici (pila, coda, dizionario) ed algoritmi per il problema dell'ordinamento.

 

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Introduzione a: tipi di dato; algoritmi, strutture dati e valutazione della loro complessità; programmazione orientata a oggetti sull'esempio del linguaggio java; implementazione di tipi di dato in java.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Essere in grado di implementare un tipo di dato scegliendo le strutture dati e gli algoritmi opportuni attraverso un'analisi della complessita' delle varie possibili scelte implementative. Conoscere tipi di dato classici (pila, coda, dizionario) e loro implementazioni. Conoscere gli algoritmi di ordinamento classici e loro valutazione. Conoscere la programmazione object-oriented ed il linguaggio Java.

 

Modalità 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

Tipo di dato astratto. Dall'operazione all'algoritmo, dal tipo alla struttura dati. Complessita' spaziale e temporale. Tipi di dato pila e coda, tipo di dato dizionario e varie implementazioni. Algoritmi di 
ordinamento.
Paradigma di programmazione object-oriented e linguaggio Java. Classi e oggetti, uguaglianza e copia di oggetti, costruttori, clientship, ereditarietà, overriding, eccezioni. Implementazione di tipi di dato in
Java.

 

TESTI/BIBLIOGRAFIA

Appunti del corso (in italiano).  Manuale e tutorial di Java on-line (in inglese). Libro: M.T.Goodrich, R.Tamassia, Data structures and algorithms in Java, John Wiley & Sons (in inglese), Strutture dati e algoritmi in Java, Zanichelli (traduzione italiana).

 

DOCENTI E COMMISSIONI

Ricevimento: Su appuntamento.

Commissione d'esame

ELENA ZUCCA (Presidente)

PAOLA MAGILLO (Presidente)

DAVIDE ANCONA

LEZIONI

Modalità 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.

 

INIZIO LEZIONI

In accordo con il calendario accademico approvato dal Consiglio di Corsi di Studi.

ORARI

L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.

Vedi anche:

PROGRAMMAZIONE 2

ESAMI

Modalità 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".

Modalità di accertamento

La prova di laboratorio richiede di scrivere, o modificare, codice che implementi varianti di algoritmi o strutture dati visti nel corso.
L'orale consiste in domande sul programma e puo' includere la scrittura di esempi in codice o pseudocodice. Puo' includere una discussione di  quanto fatto nella prova pratica.
Alla fine delle lezioni verranno dati esempi di prova di laboratorio con soluzioni.

ALTRE INFORMAZIONI

Prerequisiti: Programmazione 1