Laboratorio di Algoritmi e Strutture Dati - AA 2021/22
Docente: Violetta lonati
Il corso Algoritmi e strutture dati / laboratorio è rivolto agli studenti del secondo anno del corso di laurea in informatica ed ha l'obiettivo di presentare le strutture dati e gli algoritmi di base a diversi livelli di astrazione, nonchè consentire l'acquisizione delle principali metodologie di progettazione e analisi degli algoritmi. Il corso si compone di due moduli svolti in parallelo:
- modulo Algoritmi e strutture dati
- modulo Laboratorio di algoritmi e strutture dati
Questa pagina descrive solo il modulo di laboratorio per l'edizione, mentre il modulo di teoria è tenuto dal Prof. Giovanni Pighizzini ed ha una sua propria pagina web.
L'obiettivo specifico del Laboratorio è di familiarizzare con le tecniche algoritmiche attraverso l'implementazione concreta di algoritmi in un linguaggio di programmazione reale. Il linguaggio scelto è il C, ma è importante sottolineare che non si tratta di un corso sul linguaggio C, né tanto meno di un corso di programmazione; si assume infatti che gli studenti abbiano già familiarità con i concetti fondamentali della programmazione e conoscano almeno un linguaggio.
Risultati di apprendimento attesi. Lo studente:
- conosce il linguaggio di programmazione C e in particolare gli aspetti legati all'uso dei puntatori e alla gestione della memoria;
- conosce le strutture dati fondamentali (liste, alberi, grafi, code, pile, ecc) e le principali tecniche algoritmiche (ricorsione, divide-et-impera, strategie greedy, programmazione dinamica);
- comprende e sa modificare programmi in C che implementano e manipolano strutture dati fondamentali;
- sa usare le strutture dati fondamentali per descrivere e modellare problemi realistici;
- sa progettare e implementare in C algoritmi che risolvono probemi realistici, applicando e adattando tecniche e algoritmi noti.