STRUTTURE DATI

Informatica STRUTTURE DATI

0512100014
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA
INFORMATICA
2013/2014



OBBLIGATORIO
ANNO CORSO 2
ANNO ORDINAMENTO 2008
SECONDO SEMESTRE
CFUOREATTIVITÀ
324LEZIONE
336LABORATORIO
012ALTRO


Obiettivi
CONOSCENZA E CAPACITÀ DI COMPRENSIONE

QUESTO CORSO PRESENTA UNA SELEZIONE DI STRUTTURE DATI FONDAMENTALI AFFRONTANDONE L'IMPLEMENTAZIONE
IN JAVA E MOSTRANDO IL LORO UTILIZZO IN APPLICAZIONI PRATICHE. L'USO DEL LINGUAGGIO JAVA PERMETTERÀ DI APPROFONDIRE IL PARADIGMA DELLA PROGRAMMAZIONE ORIENTATA AGLI OGGETTI E DI SFRUTTARE QUEGLI ASPETTI CHE LO RENDONO LO STRUMENTO IDEALE PER L'IMPLEMENTAZIONE DEI TIPI ASTRATTI DI DATI.


CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE

LO STUDENTE DOVREBBE ACQUISIRE LE SEGUENTI COMPETENZE:

- UNA BUONA CONOSCENZA DELLE STRUTTURE DATI FONDAMENTALI, DELLE LORO PRINCIPALI IMPLEMENTAZIONI E DEL LORO UTILIZZO IN SITUAZIONI CONCRETE;

- CAPACITÀ DI ANALIZZARE LA COMPLESSITÀ DELLE OPERAZIONI SUPPORTATE DALLE STRUTTURE DATI;

-CAPACITÀ DI INDIVIDUARE LE STRUTTURE DATI PIÙ IDONEE PER LA RISOLUZIONE DI UN PROBLEMA;

- CAPACITÀ DI ANALIZZARE LA COMPLESSITÀ DI UN ALGORITMO IN RELAZIONE ALLE STRUTTURE DATI PRESCELTE;

- CAPACITÀ DI PROGETTARE E IMPLEMENTARE NUOVE STRUTTURE DATI O DI MODIFICARE QUELLE PREESISTENTI ALLO SCOPO DI ADATTARLE A SPECIFICHE APPLICAZIONI.


AUTONOMIA DI GIUDIZIO

LO STUDENTE ACQUISIRA’ LA CAPACITA’ DI IDENTIFICARE GLI ELEMENTI CARATTERIZZANTI DI UNA STRUTTURA DATI SU CUI BASARE LA PROPRIA VALUTAZIONE IN FUNZIONE DEL CONTESTO APPLICATIVO.


ABILITÀ COMUNICATIVE

LO STUDENTE ACQUISIRA’ LA CAPACITA’ DI DESCRIVERE CON PROPRIETA’ DI LINGUAGGIO LE CARATTERISTICHE DI UNA STRUTTURA DATI E DI ESPORRE IL SIGNIFICATO DEL CODICE CHE LA IMPLEMENTA


CAPACITÀ DI APPRENDIMENTO

LO STUDENTE DOVREBBE SVILLUPARE LE COMPETENZE NECESSARIE PER INTRAPRENDERE STUDI AVANZATI NELL'AMBITO DELLE STRUTTURE DATI E DELLA PROGRAMMAZIONE ORIENTATA AGLI OGGETTI.
Prerequisiti
FAMILIARITÀ CON I CONCETTI INTRODUTTIVI DI ALGORITMI E PROGRAMMAZIONE. CONOSCENZA DELLA PROGRAMMAZIONE ORIENTATA AGLI OGGETTI E DEL LINGUAGGIO JAVA.
Contenuti
- PILA, CODA, CODA A DOPPIO INGRESSO.
- VETTORE, LISTA, SEQUENZA, ITERATORE.
- ALBERI GENERICI, ALBERI BINARI.
- DIZIONARI E MAPPE.
- CODE A PRIORITÀ
- GRAFI E IMPLEMENTAZIONE DEGLI ALGORITMI DI VISITA DFS E BFS E DEGLI ALGORITMI DI DIJKSTRA E DI PRIM.
- INSIEMI E PARTIZIONI.
Metodi Didattici
L’INSEGNAMENTO E LO STUDIO DELLE STRUTTURE DATI SI ARTICOLERERANNO NEI SEGUENTI PUNTI:

-DEFINIZIONE DEL TIPO ASTRATTO DI DATO;
- IMPLEMENTAZIONE DEL TIPO ASTRATTO DI DATO;
- ANALISI COMPARATIVA DELL'EFFICIENZA DELLE DIVERSE IMPLEMENTAZIONI IN FUNZIONE DELL'USO A CUI SONO DESTINATE;
- ESERCITAZIONI SULL'USO DELLE STRUTTURE DATI E SULL'IMPLEMENTAZIONE DI NUOVE STRUTTURE DATI OTTENUTE A PARTIRE DA QUELLE FONDAMENTALI;
- UTILIZZO DELLE STRUTTURE DATI IN UN'APPLICAZIONE CONCRETA.
Verifica dell'apprendimento
L’ESAME CONSISTE DI UNA PROVA DI LABORATORIO E DI UNA PROVA ORALE.
LA PROVA DI LABORATORIO VIENE SVOLTA INDIVIDUALMENTE SUI PC DEL LABORATORIO. LO STUDENTE DEVE CIMENTARSI CON LA SOLUZIONE DI PROBLEMI CHE RICHIEDONO L’UTILIZZO E/O LA MODIFICA DELLE STRUTTURE DATI STUDIATE. UNA VOLTA SUPERATA LA PROVA DI LABORATORIO, LO STUDENTE SOSTIENE LA PROVA ORALE CHE CONSISTE IN UNA DISCUSSIONE ATTA AD APPURARE IL CORRETTO APPRENDIMENTO DEGLI ARGOMENTI.
Testi
MICHAEL T. GOODRICH AND ROBERTO TAMASSIA,
DATA STRUCTURES AND ALGORITHMS IN JAVA - FOURTH EDITION,
WILEY, ISBN 0-471-73884-0.
Altre Informazioni
NESSUNA.
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2016-09-30]