Laboratorio di Algoritmi e Strutture Dati - AA 2018/19
Corso di laurea in informatica

Attenzione: le informazioni relative al corso per l'anno accademico 2019-20 sono reperibili nel nuovo sito


logo università milano

Modalità d'esame

L'esame si compone di tre parti: una prova scritta, una prova di laboratorio (al computer), un colloquio. Le prove vertono su quanto svolto nelle lezioni in aula e in laboratorio.

Lo svolgimento della prova orale è subordinato al superamento di entrambe le parti precedenti.

Non è obbligatorio svolgere le tre parti nello stesso appello, ma le prove già superate restano valide solo per l'anno accademico in cui sono state superate (pertanto l'ultimo appello utile per concludere le tre prove è quello di settembre).

Vista la capienza delle aule e le difficoltà di organizzare prove di laboratori con tanti iscritti, e constatato che sono assai frequenti i casi di studenti iscritti che non si presentano all'appello o si presentano con una preparazione evidentemente insufficiente, per gli appelli di gennaio e febbraio è previsto il salto d'appello: gli studenti che non superano la prova potranno presentarsi all'appello successivo soltanto se dimostrano di saper svolgere almeno parte della prova. In particolare questo implica che gli studenti iscritti che non si presentano all'appello senza valida giustificazione e quelli che si ritirano dopo pochi minuti non potranno sostenere l'appello successivo.

Calendario delle prove di laboratorio per l'AA 2018/19

Risultati di apprendimento attesi

La prova di laboratorio ha l'obiettivo di verificare se 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.