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.
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 ) |
Secondo progetto 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 ) |
Primo progetto a.a. 2014/2015: Batman si annoia (batman ), slides |
Primo progetto 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 ) |
Primo progetto a.a. 2019/2020: Cicli ciclabili (cicli ) |
Primo progetto a.a. 2022/2023: AmongASD (amogasd ) |
Soluzioni lab04 |
5 | 10/12/2024 | lab05.pdf | Primo progetto a.a. 2024/2025: The Shining - Algoritmi alla follia. slides, testo, dataset | sottoposizioni su arena | - | - | - | Soluzione, sorgenti soluzioni, classifica punti bonus |
6 | 12/12/2024 | lab05.pdf | Primo progetto a.a. 2024/2025: The Shining - Algoritmi alla follia. slides, testo, dataset | sottoposizioni su arena | - | - | - | Soluzione, sorgenti soluzioni, classifica punti bonus |
shining
): Slides + Testo (dataset) - Soluzione (sorgenti soluzioni)barbie
): 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