Laboratorio di Algoritmi e Strutture Dati - AA 2019/20
Corso di laurea in informatica


logo università milano

Informazioni per gli appelli di giugno e luglio

Per gli appelli di giugno e di luglio le prove dell'esame di Algoritmi e Strutture Dati si terranno a distanza, con le seguenti modalità:
  • Prova scritta
    Avrà la durata di un'ora e consisterà nella risoluzione di un problema (a titolo d'esempio si vedano i problemi assegnati come esercizio 3 nelle ultime prove scritte).
  • Prova di laboratorio
    Sarà articolata in due parti: una prima parte a computer della durata di un'ora, seguita da una parte orale alla quale si accede avendo superato la prima parte. Durante la prova di laboratorio sar&argave; richiesto si svolgimento esercizi di comprensione e scrittura di codice; a titolo d'esempio si vedano questi esercizi tratti da prove di laboratorio precedenti: algo-esempi-esame.zip e algo-esempi-esame-2.zip.
  • Prova orale finale
    Si accede alla prova orale finale, secondo le usuali modalità, una volta superata la prova scritta e la prova di laboratorio. Naturalmente restano valide, secondo quanto previsto, le prove scritte e di laboratorio già superate nel 2020.

Si ricorda che gli studenti devono presentarsi alle prove adeguatamente preparati sulla materia, indipendentemente dalle modalità di svolgimento delle prove.

Note:
  • Gli strumenti tecnologici utilizzati per lo svolgimento delle prove saranno comunicati tempestivamente su questa pagina e sulla pagina del laboratorio.
  • Le prove scritte e di laboratorio si terranno secondo il calendario previsto (salvo modifiche per cause di forza maggiore).
  • Gli studenti sono tenuti ad iscriversi, come sempre, mediante il servizio SIFA. Per motivi organizzativi le iscrizioni si chiudono 10 giorni prima delle prove.
  • Per le prove orali verranno fornite comunicazioni su questa pagina e sulla pagina del laboratorio.
  • Ricontrollare questa pagina prima delle prove per eventuali informazioni aggiuntive e precisazioni.

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 2019/20

  • 23 gennaio 2020
  • 6 febbraio 2020 - ore 12.30
  • 20 febbraio 2020 - ore 10.30. Testo e svolgimento della prova: versione A e versione B
  • 22 giugno 2020
  • 9 luglio 2020 - Testo della prova
  • 15 settembre 2020

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.