Laboratorio di Algoritmi e Strutture Dati

Anno Accademico 2023-2024

Secondo semestre (marzo 2024 - giugno 2024)

Il secondo semestre del laboratorio di Algoritmi e Strutture Dati inizia giovedì 7 marzo 2024 dalle 11:30 alle 13:30.

Le lezioni di laboratorio si terranno usualmente il giovedì. Per annunci relativi alle esercitazioni in laboratorio utilizziamo il canale Telegram del corso.

Esercitatori e Tutor

Gli esercitatori di laboratorio sono

I tutor sono:

e in aggiunta (guests):

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 03/10/2023 lab01.pdf Somma di due numeri (somma) Sottosequenza di somma massima (sottoseq) Sottomatrice di somma massima (sottomat) - - Soluzioni lab01
2 17/10/2023 lab02.pdf Ordinamento (sort) Intervalli (intervalli) Ordinamento pesato (sortpesato) - -  
3 14/11/2023 lab02.pdf Visita di un grafo orientato (visita) Diametro di un grafo non orientato (diametro) Numero di cammini minimi (numcammini) Primo Progetto a.a. 2020/2021: Lettere da Powarts (powarts) Primo progetto a.a. 2014/2015: Batman si annoia (batman) Strutture dati per grafi, Soluzioni lab03
4 28/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 12/12/2023 lab05.pdf Primo progetto a.a. 2023/2024: Algoritmi greedy a Barbieland (barbie) slides, testo, dataset sottoposizioni su arena - - - classifica punti bonus
6 14/12/2023 lab05.pdf Primo progetto a.a. 2023/2024: Algoritmi greedy a Barbieland (barbie) slides, testo, dataset sottoposizioni su arena - - - classifica punti bonus

Secondo semestre

Lab Data Slides Prob1 Prob2 Prob3 Prob4 Prob5 Materiale
7 07/03/2024 lab07.pdf Massimizzazione della somma in un insieme (zaino) Sottoinsieme crescente di somma massina (sottocres) Sequenze Possibili (pillole) - - Soluzioni lab07
8 21/03/2024 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 Progetto programmazione dinamica a. a. 2017/2018: Assedio a Nassau (nassau) Soluzioni lab08
9 09/05/2022 lab09.pdf Problema del commesso viaggiatore (tsp) Secondo progetto a.a. 2017/2018: Alpinocalypse Now (alpini) Secondo progetto a.a. 2018/2019: Game of (approximated) Thrones (got) Secondo progetto a.a. 2019/2020: Star Wars: Il Risveglio dell’Algoritmo (swrace) - approx1.zip, Soluzioni lab09
10 16/05/2024 lab10.zip Secondo progetto a.a. 2020/2021: ASD-Endgame (endgame) Secondo progetto a.a. 2021/2022: Riders per il concertone (riders) Secondo progetto a.a. 2022/2023: Game of Thrones II: House of Algorithms (got2) - - approx2.zip
11 28/05/2024 - Secondo progetto a.a. 2023/204: L’uncinetto di nonna Alberta (nonna), slides, testo, dataset,files di supporto: nonna.zip sottoposizioni su arena - - - soluzione, sorgenti soluzioni, classifica punti bonus
12 30/05/2024 - Secondo progetto a.a. 2023/204: L’uncinetto di nonna Alberta (nonna), slides, testo, dataset, files di supporto: nonna.zip sottoposizioni su arena - - - soluzione, sorgenti soluzioni, classifica punti bonus

Progetti degli anni passati

Anno Accademico 2023-2024

Anno Accademico 2022-2023

Anno Accademico 2021-2022

Anno Accademico 2020-2021

Anno Accademico 2019-2020

Anno Accademico 2018-2019

Anno Accademico 2017-2018

Anni precedenti