Fabio Narducci | PROGRAMMAZIONE & STRUTTURE DATI
Fabio Narducci PROGRAMMAZIONE & STRUTTURE DATI
cod. 0512100052
PROGRAMMAZIONE & STRUTTURE DATI
0512100052 | |
DIPARTIMENTO DI INFORMATICA | |
CORSO DI LAUREA | |
INFORMATICA | |
2020/2021 |
OBBLIGATORIO | |
ANNO CORSO 1 | |
ANNO ORDINAMENTO 2017 | |
SECONDO SEMESTRE |
SSD | CFU | ORE | ATTIVITÀ | |
---|---|---|---|---|
INF/01 | 6 | 48 | LEZIONE | |
INF/01 | 3 | 24 | LABORATORIO |
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]