Il laboratorio di Algoritmi e Strutture Dati inizia giovedì 3 ottobre 2024 dalle 10.30 alle 12.30 in aula A101 e online. Le lezioni di laboratorio si terranno usualmente il giovedì. Per annunci relativi alle esercitazioni in laboratorio utilizziamo il canale Telegram del corso (link accessibile attraverso login UniTN).
Gli esercitatori di laboratorio sono
I tutor sono:
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.
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.
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
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.
Lab | Data | Slides | Prob1 | Prob2 | Prob3 | Prob4 | Prob5 | Materiale |
---|---|---|---|---|---|---|---|---|
1 | 03/10/2024 | lab01.pdf | Somma di due numeri (somma ) |
Sottosequenza di somma massima (sottoseq ) |
Sottomatrice di somma massima (sottomat ) |
- | - | Soluzioni lab01 |
2 | 17/10/2024 | lab02.pdf | Ordinamento (sort ) |
Intervalli (intervalli ) |
Ordinamento pesato (sortpesato ) |
Progetto programmazione dinamica a.a. 2014/2015: Natale a Flarlandia (flatland ) slides |
- | Soluzioni lab02 |
3 | 31/10/2024 | lab03.pdf | Visita di un grafo orientato (visita ) |
Diametro di un grafo non orientato (diametro ) |
Numero di cammini minimi (numcammini ) |
Progetto grafi a. a. 2014/2015: Batman si annoia (batman ), slides |
Progetto grafi a. a. 2020/2021: Lettere da Powarts (powarts ), slides |
Materiale aggiuntivo su grafi, Soluzioni lab03 |
4 | 26/11/2023 | lab04.pdf | Dimensione massima componente fortmente connessa (componente ) |
Ordinamento Topologico (toporder ) |
Cammino più lungo (camminolungo ) |
Progetto grafi a. a. 2019/2020: Cicli ciclabili (cicli ) |
Progetto grafi a. a. 2022/2023: AmongASD (amogasd ) |
Soluzioni lab04 |
5 | 10/12/2024 | lab05.pdf | Progetto grafi a.a. 2024/2025: The Shining - Algoritmi alla follia. slides, testo, /2025](asd24/dataset_shining.zip) | sottoposizioni su arena | - | - | - | Soluzione, sorgenti soluzioni, classifica punti bonus |
6 | 12/12/2024 | lab05.pdf | Progetto grafi a.a. 2024/2025: The Shining - Algoritmi alla follia. slides, testo, dataset | sottoposizioni su arena | - | - | - | Soluzione, sorgenti soluzioni, classifica punti bonus |
Lab | Data | Slides | Prob1 | Prob2 | Prob3 | Prob4 | Prob5 | Materiale | |
---|---|---|---|---|---|---|---|---|---|
7 | 27/02/2025 | lab07.pdf | Massimizzazione della somma in un insieme (zaino ) |
Sottoinsieme crescente di somma massina (sottocres ) |
Sequenze Possibili (pillole ) |
- | - | Soluzioni lab07 | |
8 | 03/04/2025 | lab08.pdf | Sottosequenza comune massimale (lcs ) |
Min-Cover su albero (mincover ) |
Min-Cover su albero pesato (mincoverpesato ) |
Progetto programmazione dinamica a. a. 2016/2017: La vendetta del Re Lich (lich ) |
Progetto programmazione dinamica a. a. 2017/2018: Assedio a Nassau (nassau ) |
Soluzioni lab08 | |
9 | 06/05/2025 | lab09.pdf | Problema del commesso viaggiatore (tsp ) |
Progetto algoritmi approssimati a. a. 2017/2018: Alpinocalypse Now (alpini ) |
Progetto algoritmi approssimati a. a. 2018/2019: Game of (approximated) Thrones (got ) |
Progetto algoritmi approssimati a. a. 2019/2020: Star Wars: Il Risveglio Dell’Algoritmo (swrace ) |
Progetto algoritmi approssimati a. a. 2023/2024: L’uncinetto di nonna Alberta (nonna ) |
Soluzioni lab08 | |
10 | 15/05/2025 | lab10.zip | Progetto algoritmi approssimati a. a. 2020/2021: ASD: Endgame (endgame ) |
Progetto algoritmi approssimati a. a. 2017/2018: Alpinocalypse Now (alpini ) |
Progetto algoritmi approssimati a. a. 2021/2022: Riders per il concertone (riders ) |
Progetto algoritmi approssimati a. a. 2022/2023: Game of Thrones II: House of Algorithms (got2 ) |
- | Soluzioni lab09 | |
11 | 27/05/2025 | - | Progetto algoritmi approssimati a.a. 2024/2025: (conclave ), slides, testo, dataset, files di supporto: conclave.zip |
sottoposizioni su arena | - | - | - | - | soluzione, classifica punti bonus |
12 | 29/05/2025 | - | Progetto algoritmi approssimati a.a. 2024/2025: (conclave ), slides, testo, dataset, files di supporto: conclave.zip |
sottoposizioni su arena | - | - | - | - | soluzione, classifica punti bonus |
shining
): Slides + Testo (dataset) - Soluzione (sorgenti soluzioni)conclave
): Slides + Testo (dataset), files di supporto: conclave.zip - Soluzionebarbie
): Slides + Testo (dataset) - Soluzione (sorgenti soluzioni)nonna
): Slides + Testo (dataset), files di supporto: nonna.zip - Soluzione (sorgenti soluzioni)amogasd
): Slides + Testo (dataset) - Soluzione (sorgenti soluzioni)got2
): Slides + Testo (dataset), files di supporto: got2.zip - Soluzione (sorgenti soluzioni)mario
): Slides + Testo (dataset) - Soluzione (sorgenti soluzioni)riders
): Slides + Testo (dataset), files di supporto: riders.zip - Soluzione (sorgenti soluzioni)powarts
): Slides + Testo (dataset) - Soluzione (sorgenti soluzioni)endgame
): Slides + Testo (dataset), files di supporto: endgame.zip - Soluzione (sorgenti soluzioni)cicli
): Slides + Testo (dataset) - Soluzione (sorgenti soluzioni), Soluzione lineareswrace
): Slides + Testo (dataset), files di supporto: swrace.zip - Soluzione (sorgenti soluzioni)guerra
): Slides + Testo (dataset) - Soluzione (sorgenti soluzioni)got
): Slides + Testo (dataset), files di supporto: got.zip - Soluzione (sorgenti soluzioni)laser
): Slides + Testo (dataset) - Soluzione (sorgenti soluzioni)nassau
): Slides + Testo (dataset) - Soluzione (sorgenti soluzioni)alpini
): Slides + Testo (dataset), files di supporto: alpini.zip - Soluzione (sorgenti soluzioni)pokemon
): Slides + Testo (dataset), Soluzione (sorgenti soluzioni)lich
): Slides + Testo (dataset), Soluzione (sorgenti soluzioni)batman
): Slides + Testo (dataset), Soluzione (sorgenti soluzioni)flatland
): Slides + Testo (dataset), Spiegazione aggiuntiva, Soluzione