PROGRAMMAZIONE & STRUTTURE DATI

Andrea DE LUCIA PROGRAMMAZIONE & STRUTTURE DATI

0512100052
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA
INFORMATICA
2016/2017



OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2015
SECONDO SEMESTRE
CFUOREATTIVITÀ
648LEZIONE
330LABORATORIO


Obiettivi
L’INSEGNAMENTO HA L’OBIETTIVO DI APPROFONDIRE GLI ASPETTI DELLA PROGRAMMAZIONE PROCEDURALE RELATIVI ALLA ASTRAZIONE DATI. STRUTTURE DATI FONDAMENTALI, COME STACK, CODE, LISTE, ALBERI E TABELLE HASH, SARANNO INTRODOTTE ATTRAVERSO UNA SPECIFICA SINTATTICA E SEMANTICA, E POI REALIZZATE ATTRAVERSO UNA O PIÙ IMPLEMENTAZIONE IN LINGUAGGIO C. SARANNO, INOLTRE, APPROFONDITE ALCUNE TECNICHE DI PROGETTAZIONE E REALIZZAZIONE DI PROGRAMMI, UTILIZZANDO SOLUZIONI ITERATIVE E RICORSIVE.

CONOSCENZE 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
- COMPLEMENTI DI PROGRAMMAZIONE IN C: STRUTTURE AUTO-REFERENZIATE, STRUTTURE DINAMICHE (LISTE, ALBERI).
- RICORSIONE: ASPETTI E DEFINIZIONI GENERALI. ALGORITMI E STRUTTURE DATI RICORSIVI. GESTIONE DELL’ESECUZIONE DI PROGRAMMI RICORSIVI, 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. RICORSIONE E ITERAZIONE, TAIL-RECURSION.
- LISTE DINAMICHE: ASPETTI GENERALI, DEFINIZIONE DELLA STRUTTURA DATI, ALGORITMI DI BASE (IN VERSIONE ITERATIVA E RICORSIVA): CREAZIONE, INSERIMENTO, RICERCA, CANCELLAZIONE, ALTRI ALGORITMI SULLE LISTE.
- ALBERI BINARI: ASPETTI GENERALI, DEFINIZIONE DELLA STRUTTURA DATI, ALGORITMI DI BASE (IN VERSIONE ITERATIVA E RICORSIVA): CREAZIONE, INSERIMENTO, RICERCA, CANCELLAZIONE, VISITA, ALTRI ALGORITMI SUGLI ALBERI.
- TIPI DI DATI ASTRATTI (ADT): PROGETTO E REALIZZAZIONE. INTERFACCIA E IMPLEMENTAZIONE DI UN TIPO DI DATI. SPECIFICA SINTATTICA E SEMANTICA DEGLI ADT DI BASE: LISTE, STACK, CODE, ALBERI BINARI. ESEMPI DI IMPLEMENTAZIONI ALTERNATIVE IN LINGUAGGIO C.
- TABELLE HASH: ASPETTI GENERALI, HASHING ESTERNO ED INTERNO, ALGORITMI DI BASE (IN VERSIONE ITERATIVA E RICORSIVA): CREAZIONE, INSERIMENTO, RICERCA, CANCELLAZIONE, ALTRI ALGORITMI SULLE TABELLE HASH.
Metodi Didattici
L’INSEGNAMENTO PREVEDE SIA LEZIONI FRONTALI CHE LEZIONI IN LABORATORIO. LE LEZIONI DI LABORATORIO SARANNO ARRICCHITE DA CASI DI STUDIO CON PROGRAMMI SVILUPPATI IN CLASSE CON L'AUSILIO DEL DOCENTE.
Verifica dell'apprendimento
PROVA SCRITTA ED ESAME ORALE. LA PROVA SCRITTA SERVE A VALUTARE LA CAPACITÀ DELLO STUDENTE DI METTERE IN PRATICA LE NOZIONI DEL CORSO ATTRAVERSO LA RISOLUZIONE DI ESERCIZI SPECIFICI, CHE CONSISTONO NEL REALIZZARE PROGRAMMI IN LINGUAGGIO C CHE USANO ALGORITMI E STRUTTURE DATI DI BASE (PILE, CODE, LISTE, ALBERI, TABELLE HASH).
LA PROVA ORALE SERVE A VALUTARE IL GRADO DI RAGGIUNGIMENTO DEGLI OBIETTIVI FORMATIVI, IN PARTICOLARE RIGUARDO LE CONOSCENZE TEORICHE ACQUISITE. I CRITERI DI VALUTAZIONE RIGUARDANO LA COMPLETEZZA, LA CORRETTEZZA E LA CHIAREZZA ESPOSITIVA.
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” 4/ED, PEARSON EDUCATION.
Altre Informazioni
PIATTAFORMA DI E-LEARNING: HTTP://ELEARNING.INFORMATICA.UNISA.IT/EL-PLATFORM/

CONTATTI DOCENTI:
VINCENZO DEUFEMIA
DEUFEMIAI@UNISA.IT
WWW.UNISA.IT/DOCENTI/VINCENZODEUFEMIA/INDEX

ANDREA DE LUCIA
ADELUCIA@UNISA.IT
WWW.UNISA.IT/DOCENTI/ANDREADELUCIA/INDEX
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2019-03-11]