PROGRAMMAZIONE & STRUTTURE DATI

Informatica PROGRAMMAZIONE & STRUTTURE DATI

0512100052
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA
INFORMATICA
2020/2021

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 MINIMO DI 18/30, CORRISPONDENTE AL DIMOSTRARE DI AVERE CAPACITÀ DI INDIVIDUARE LE OPPORTUNE STRUTTURE DATI PER LA RISOLUZIONE DEL PROBLEMA E AL SAPERE ALMENO IMPOSTARE ADEGUATAMENTE LA LORO RELATIVA CODIFICA IN LINGUAGGIO C. IL RAGGIUNGIMENTO DEL PUNTEGGIO MASSIMO DI 30/30 SI OTTIENE CON LO SVILUPPO CORRETTO E COMPLETO DI UNA SOLUZIONE EFFICACE ED EFFICIENTE.
SONO PREVISTE 2 PROVE IN ITINERE, RISPETTIVAMENTE ALLA METÀ E AL TERMINE DEL PERIODO DI INSEGNAMENTO, SVOLTE CON LE MEDESIME MODALITÀ, OBIETTIVI E VALUTAZIONE DELLA PROVA PRATICA. IL SUPERAMENTO DELLE PROVE IN ITINERE DÀ ACCESSO DIRETTO ALLA SUCCESSIVA PROVA ORALE, CON UNA VALUTAZIONE IN TRENTESIMI OTTENUTA COME MEDIA PESATA DELLE 2 PROVE IN ITINERE. SE IL PUNTEGGIO FINALE E SUPERIORE A 18/30 LO STUDENTE PUÒ CONSIDERARSI ESONERATO DALLA PROVA SCRITTA. L'ESONERO VARRÀ ESCLUSIVAMENTE PER LA SOLA SESSIONE DI ESAME SUCCESSIVA A QUELLA DI SVOLGIMENTO DELL’INSEGNAMENTO.
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.
DI NORMA IL VOTO FINALE VERRA’ DETERMINATO SULLA BASE DELLA MEDIA ARITMETICA DEI PUNTEGGI DELLA PROVA SCRITTA/PRATICA E DELL’ESAME ORALE.
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
LEARNING MATERIAL (HANDOUTS, SLIDES, EXERCISES) IS AVAILABLE ON-LINE TO THE STUDENTS.

RECOMMENDED TEXTBOOK:
ROBERT SEDGEWICK, “ALGORITHM IN C” 3/ED, ADDISON - WESLEY
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2022-05-23]