PROGRAMMAZIONE & STRUTTURE DATI

Vittorio FUCCELLA PROGRAMMAZIONE & STRUTTURE DATI

0512100052
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA
INFORMATICA
2017/2018

OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2017
SECONDO SEMESTRE
CFUOREATTIVITÀ
648LEZIONE
324LABORATORIO


Obiettivi
CONOSCENZA E CAPACITÀ DI COMPRENSIONE
CONOSCENZA DEGLI ALGORITMI E STRUTTURE DATI FONDAMENTALI. CONOSCENZA DELLE TECNICHE DI PROGRAMMAZIONE ITERATIVA E RICORSIVA E DELLE STRUTTURE DATI STATICHE E DINAMICHE.

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
•ANALIZZARE PROBLEMI TIPICI E REALIZZARE APPLICAZIONI CHE LI RISOLVANO PROGETTANDO E REALIZZANDO ALGORITMI E STRUTTURE DATI IN LINGUAGGIO C. REALIZZAZIONE DI PROGETTI SOFTWARE IN C DI PICCOLE DIMENSIONI
•SELEZIONARE GLI ALGORITMI E LE STRUTTURE DATI ADEGUATE A SUPPORTARE UN’APPLICAZIONE, SULLA BASE DELLE SPECIFICHE ESIGENZE APPLICATIVE
•INDIVIDUARE APPROPRIATE SOLUZIONI ITERATIVE O RICORSIVE PER GESTIRE UNO SPECIFICO PROBLEMA DI PROGRAMMAZIONE
•COMUNICARE INFORMAZIONI, IDEE, PROBLEMI, SPIEGAZIONI RIGUARDO SEMPLICI PROBLEMI DI PROGRAMMAZIONE CON L’UTILIZZO DI ALGORITMI E STRUTTURE DATI STANDARD
Prerequisiti
PER IL PROFICUO RAGGIUNGIMENTO DEGLI OBIETTIVI PREFISSATI SONO RICHIESTE LE CONOSCENZE SULLA PROGRAMMAZIONE IN LINGUAGGIO C FORNITE DALL’INSEGNAMENTO DI PROGRAMMAZIONE I.
Contenuti
1.COMPLEMENTI DI PROGRAMMAZIONE IN C: STRUTTURE AUTO-REFERENZIATE, STRUTTURE DINAMICHE (LISTE, ALBERI)
2.NOZIONI GENERALI SUI MODELLI DI MEMORIA, MEMORIA STATICA E MEMORIA DINAMICA, STACK E RECORD DI ATTIVAZIONE, NOMI ED AMBIENTE, REGOLE DI SCOPE STATICO E DINAMICO
3.PUNTATORI E ALLOCAZIONE DINAMICA DELLA MEMORIA
4.ASTRAZIONI E MODULI: TIPI DI ASTRAZIONE, INTERFACCIA E IMPLEMENTAZIONE DI UN MODULO, REALIZZAZIONE DI MODULI IN C
5.RICORSIONE: ASPETTI E DEFINIZIONI GENERALI, RICORSIONE E ITERAZIONE, GESTIONE DELL’ESECUZIONE DI PROGRAMMI RICORSIVI
6.ALGORITMI ITERATIVI E RICORSIVI SU ARRAY, ALGORITMI DI ORDINAMENTO.
7.CENNI SU COMPLESSITÀ COMPUTAZIONALE
8.TIPI DI DATI ASTRATTI (ADT): SPECIFICA SINTATTICA E SEMANTICA, PROGETTO E REALIZZAZIONE.
9.LISTE: ASPETTI GENERALI, VARIANTI E SPECIFICA DEGLI ADT, DEFINIZIONE DELLA STRUTTURA DATI E IMPLEMENTAZIONI ALTERNATIVE BASATE SU ARRAY E STRUTTURE A PUNTATORI, SPECIFICA E REALIZZAZIONE DEGLI OPERATORI (VERSIONI ITERATIVE E RICORSIVE), ALGORITMI SU LISTE ED APPLICAZIONI.
10.PILE E CODE: SPECIFICA DEGLI ADT, OPERATORI DI PILA E CODA, IMPLEMENTAZIONI ALTERNATIVE DELLE STRUTTURE DATI, APPLICAZIONI DI PILE E CODE.
11.ALBERI E ALBERI BINARI: ASPETTI GENERALI, SPECIFICA DEGLI ADT, DEFINIZIONE DELLA STRUTTURA DATI E OPERATORI DI BASE, ALGORITMI DI VISITA E ALTRI ALGORITMI SUGLI ALBERI (IN VERSIONE ITERATIVA E RICORSIVA), APPLICAZIONI DI ALBERI E ALBERI BINARI.
12.INSIEMI ORDINATI E ALBERI DI RICERCA BINARIA: SPECIFICA E IMPLEMENTAZIONE DELL’ADT, OPERATORI DI CREAZIONE, INSERIMENTO, CANCELLAZIONE E RICERCA, ALGORITMI DI VISITA, CENNI SUL BILANCIAMENTO DEGLI ALBERI DI RICERCA BINARIA, APPLICAZIONI DI ALBERI DI RICERCA BINARIA.
13.CENNI SU CODE A PRIORITÀ E HEAP
14.INSIEMI, TABELLE E TABELLE HASH: ASPETTI GENERALI, SPECIFICA E IMPLEMENTAZIONE DELL’ADT, FUNZIONI DI HASHING, OPERATORI DI CREAZIONE, INSERIMENTO, CANCELLAZIONE E RICERCA, GESTIONE DELLE COLLISIONI CON LISTA CONCATENATA ED INDIRIZZAMENTO APERTO, APPLICAZIONI DI TABELLE HASH.
Metodi Didattici
L’INSEGNAMENTO PREVEDE SIA LEZIONI FRONTALI (6 CFU / 48 ORE) CHE LEZIONI IN LABORATORIO (3 CFU/24 ORE). LE LEZIONI DI LABORATORIO SARANNO ARRICCHITE DA CASI DI STUDIO CON PROGRAMMI SVILUPPATI IN CLASSE CON L'AUSILIO DEL DOCENTE.
Verifica dell'apprendimento
IL RAGGIUNGIMENTO DEGLI OBIETTIVI DELL’INSEGNAMENTO È CERTIFICATO MEDIANTE IL SUPERAMENTO DI UN ESAME CON VALUTAZIONE IN TRENTESIMI. L'ESAME PREVEDE UNA PROVA SCRITTA O PRATICA DI LABORATORIO E UNA PROVA ORALE.

LA PROVA SCRITTA O PRATICA DI LABORATORIO È PROPEDEUTICA ALLA PROVA ORALE ED HA A DI NORMA UNA DURATA NON INFERIORE A 120 MINUTI. LA PROVA SERVE A VALUTARE LA CAPACITÀ DELLO STUDENTE DI METTERE IN PRATICA LE NOZIONI DEL CORSO ATTRAVERSO LA RISOLUZIONE DI ESERCIZI SPECIFICI, CHE CONSISTONO NELLA SPECIFICA E REALIZZAZIONE DI PROGRAMMI CHE USANO ALGORITMI E STRUTTURE DATI (PILE, CODE, LISTE, ALBERI, TABELLE HASH). LA PROVA SCRITTA O PRATICA SI CONSIDERA SUPERATA CON IL RAGGIUNGIMENTO DEL PUNTEGGIO DI 18/30. SONO PREVISTE 2 PROVE INTERCORSO DI ESONERO DELLA PROVA SCRITTA O PRATICA E SVOLTE CON LE STESSE MODALITÀ.

LA PROVA ORALE CONSISTE IN UN COLLOQUIO CON DOMANDE E DISCUSSIONE SUI CONTENUTI TEORICI E METODOLOGICI INDICATI NEL PROGRAMMA DELL’INSEGNAMENTO ED È FINALIZZATA AD ACCERTARE IL LIVELLO DI CONOSCENZA E CAPACITÀ DI COMPRENSIONE RAGGIUNTO DALLO STUDENTE, NONCHÉ A VERIFICARE LA CAPACITÀ DI ESPOSIZIONE RICORRENDO ALLA TERMINOLOGIA APPROPRIATA E LA CAPACITÀ DI ORGANIZZAZIONE AUTONOMA DELL'ESPOSIZIONE SUGLI STESSI ARGOMENTI A CONTENUTO TEORICO.
Testi
IL MATERIALE DIDATTICO, DISPENSE DEL DOCENTE, ESEMPI DI ESERCIZI SVOLTI E ULTERIORE MATERIALE DIDATTICO INTEGRATIVO, SONO DISPONIBILI ONLINE PER GLI STUDENTI SUL SITO DELL’INSEGNAMENTO.

ROBERT SEDGEWICK, “ALGORITMI IN C” 3/ED, ADDISON - WESLEY
Altre Informazioni
PIATTAFORMA DI E-LEARNING: HTTP://ELEARNING.INFORMATICA.UNISA.IT/EL-PLATFORM/

CONTATTI DOCENTI:
VINCENZO DEUFEMIA
DEUFEMIA@UNISA.IT
ANDREA DE LUCIA
ADELUCIA@UNISA.IT
MAURIZIO TUCCI
MTUCCI@UNISA.IT
VITTORIO FUCCELLA
VFUCCELLA@UNISA.IT
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2019-05-14]