PROGRAMMAZIONE & STRUTTURE DATI

Maurizio TUCCI 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) - (LEZIONI: 3H, ESERCITAZIONI: 1H);

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 (LEZIONI: 3H);

3. PUNTATORI E ALLOCAZIONE DINAMICA DELLA MEMORIA (LEZIONI: 2H, ESERCITAZIONI: 2H);

4. ASTRAZIONI E MODULI: TIPI DI ASTRAZIONE, INTERFACCIA E IMPLEMENTAZIONE DI UN MODULO, REALIZZAZIONE DI MODULI IN C (LEZIONI: 3H, ESERCITAZIONI: 2H);

5. RICORSIONE: ASPETTI E DEFINIZIONI GENERALI, RICORSIONE E ITERAZIONE, GESTIONE DELL’ESECUZIONE DI PROGRAMMI RICORSIVI (LEZIONI: 3H, ESERCITAZIONI: 2H);

6. ALGORITMI ITERATIVI E RICORSIVI SU ARRAY, ALGORITMI DI ORDINAMENTO (LEZIONI: 6H, ESERCITAZIONI: 3H);

7. CENNI SU COMPLESSITÀ COMPUTAZIONALE (LEZIONI: 2H, ESERCITAZIONI: 1H);

8. TIPI DI DATI ASTRATTI (ADT): SPECIFICA SINTATTICA E SEMANTICA, PROGETTO E REALIZZAZIONE (LEZIONI: 2H, ESERCITAZIONI: 2H);

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 (LEZIONI: 8H, ESERCITAZIONI: 4H);

10. PILE E CODE: SPECIFICA DEGLI ADT, OPERATORI DI PILA E CODA, IMPLEMENTAZIONI ALTERNATIVE DELLE STRUTTURE DATI, APPLICAZIONI DI PILE E CODE (LEZIONI: 4H, ESERCITAZIONI: 2H);

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 (LEZIONI: 4H, ESERCITAZIONI: 2H);

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 (LEZIONI: 4H, ESERCITAZIONI: 2H);

13. CENNI SU CODE A PRIORITÀ E HEAP (LEZIONI: 2H);

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 (LEZIONI: 2H, ESERCITAZIONI: 1H)
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.

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

CONTATTO DOCENTE:

MAUTUC@UNISA.IT
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2019-05-14]