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

CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE: 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.

Prerequisiti
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.RICORSIONE: ASPETTI E DEFINIZIONI GENERALI.
3. ALGORITMI E STRUTTURE DATI RICORSIVI.
4. GESTIONE DELL’ESECUZIONE DI PROGRAMMI RICORSIVI, 5. 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
6. RICORSIONE E ITERAZIONE, TAIL-RECURSION
7. LISTE DINAMICHE: ASPETTI GENERALI, DEFINIZIONE DELLA STRUTTURA DATI, ALGORITMI DI BASE (IN VERSIONE ITERATIVA E RICORSIVA): CREAZIONE, INSERIMENTO, RICERCA, CANCELLAZIONE, ALTRI ALGORITMI SULLE LISTE
8. 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.
9. TIPI DI DATI ASTRATTI (ADT): PROGETTO E REALIZZAZIONE. INTERFACCIA E IMPLEMENTAZIONE DI UN TIPO DI DATI
10. SPECIFICA SINTATTICA E SEMANTICA DEGLI ADT DI BASE: LISTE, STACK, CODE, ALBERI BINARI, ESEMPI DI IMPLEMENTAZIONI ALTERNATIVE IN LINGUAGGIO C.
11. 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 (6CFU/48ORE) CHE LEZIONI IN LABORATORIO (3CFU/30ORE). 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” 3/ED”, ADDISON - WESLEY
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2019-03-11]