Laboratorio di Algoritmi e Strutture Dati

Anno Accademico 2022-2023

Primo semestre (settembre 2022 - gennaio 2023)

Il laboratorio di Algoritmi e Strutture Dati inizia martedì 20 settembre 2020 dalle 10.30–12.30 in aula A101 e da remoto. Ad eccezione della prima lezione, le lezioni si terranno usualmente il giovedì. Per annunci relativi alle esercitazioni in laboratorio utilizziamo il canale Telegram del corso. Chi volesse partecipare da remoto può aggiungersi sul server Discord del corso.

Esercitatori e Tutor

Gli esercitatori di laboratorio sono

I tutor sono:

Registrarsi al laboratorio e ai progetti

Il sito di riferimento si chiama judge. Per partecipare vi è richiesto di:

Nella sezione “Link utili” trovate una guida che spiega come funziona il sistema di valutazione di judge.

Organizzazione delle esercitazioni di laboratorio e dei progetti

Le esercitazioni di laboratorio comprendono 12 lezioni – di cui 6 nel primo semestre e 6 nel secondo – alcune delle quali saranno dedicate alla presentazione e implementazione dei progetti.

Durante una lezione tipica del laboratorio:

Durante il corso verranno assegnati dei progetti, con tempo di risoluzione attorno alla settimana e da svolgere singolarmente o in gruppo (max 3 persone), che daranno origine a piccoli incrementi (bonus) da aggiungere al voto dello scritto. Questi punteggi aggiuntivi possono essere utilizzati per superare la soglia per accedere all’orale: se avete preso 15 allo scritto e avete 3 punti bonus, siete ammessi in quanto la somma raggiunge il 18. È obbligatorio consegnare almeno un progetto sufficiente per accedere all’orale. Il punteggio aggiuntivo rimane valido negli anni successivi e continua a dare la possibilità di accedere all’orale.

Cosa serve per partecipare al laboratorio

Le lezioni di laboratorio comprendo lo svolgimento di alcuni esercizi di programmazione in C++. In generale, il consiglio è di compilare edeseguire il vostro codice in un terminale pertanto, se già non lo avete a disposizione, dovete installare il compilatore g++. Per scrivere il codice sorgente potente scegliere tra decine di editor.

[Tutti gli OS]

Installare un compilatore: installing a compiler

[(GNU/)Linux]

Tutte le distribuzioni linux hanno dei pacchetti che forniscono il compilatore GNU (gcc per il C, g++ per il C++), ecco due riferimenti:

[Windows]

Guida generale all’installazione di un compilatore e di un editor: guida

[Mac]

Installare g++: guida

Tutorato C++

I tutor hanno creato un gruppo Telegam per dare supporto alla programmazione in C++ per chi avesse bisogno di rivedere le basi. Lo trovate a questo link. I materiali per il tutoraggio si trovano su questo repository.

Materiale

Primo semestre

Lab Data Slides Prob1 Prob2 Prob3 Prob4 Prob5 Materiale
1 20/09/2022 lab01.pdf Somma di due numeri (somma) Sottosequenza di somma massima (sottoseq) Sottomatrice di somma massima (sottomat) Secondo progetto a.a. 2014/2015: Natale a Flatlandia (flatland) - Soluzioni lab01
2 18/10/2022 lab02.pdf Ordinamento (sort) Intervalli (intervalli) Ordinamento pesato (sortpesato) - - Soluzioni lab02
3 10/11/2022 lab03.pdf Visita di un drafo orientato (visita) Diametro su grafo non orientato (diametro) Numero di cammini minimi (numcammini) Primo progetto a. a. 2020/2021: Lettera da Powarts (powarts) Primo progetto a. a. 2014/2015: Batman si annoia (batman) Materiali su grafi, Soluzioni lab03
4 24/11/2022 lab04.pdf Componente fortemente connessa (componente) Ordinamento topologico (toporder) Cammino lungo (cammino lungo) Primo progetto a.a. 2019/2020: Cicli ciclabili (cicli) Primo progetto a. a. 2017/2018: 007: Pioggia di laser (laser) -
6 15/09/2022 - - - - - - -

Progetti degli anni passati

Anno Accademico 2021-2022

Anno Accademico 2020-2021

Anno Accademico 2019-2020

Anno Accademico 2018-2019

Anno Accademico 2017-2018

Anno Accademico 2016-2017

Anno Accademico 2015-2016

Anno Accademico 2014-2015