You are in: Home » Teaching » Lab ASD 2023-2024

Laboratorio di Algoritmi e Strutture Dati
Laurea in Ingegneria e Scienze Informatiche, Università di Bologna, AA 2023/2024

[ Avvisi | Programma e libri di testo | Orario deli laboratori | Modalità d'esame | Materiale didattico ]

Avvisi

6/2/2024
Creata questa pagina. Il contenuto è da considerarsi ancora provvisorio.

Descrizione del modulo, programma e libri di testo

Questa è la pagina del modulo di Laboratorio di Algoritmi e Strutture Dati (Classe A, Classe B), corso di laurea in Ingegneria e Scienze Informatiche, AA 2023/2024, Università di Bologna.

Il modulo di teoria è tenuto dai prof. Luciano Margara (classe A) e Vittorio Maniezzo (classe B).

I tutor per il laboratorio sono:

Prerequisiti

Per seguire in modo proficuo il laboratorio di Algoritmi e Strutture Dati è necessario avere una buona conoscenza del linguaggio C: occorre saper usare un compilatore/ambiente di sviluppo a propria scelta per scrivere programmi di media complessità. In pratica, è necessario aver seguito il corso di Programmazione e superato il relativo esame.

Come si svolge il laboratorio

All'inizio di ogni laboratorio il docente farà una breve introduzione (20-30 minuti al massimo) sull'argomento trattato e i problemi da risolvere. Gli esercizi riguarderanno quanto visto nelle lezioni di teoria (in certi casi potremmo dover anticipare argomenti trattati in lezioni di teoria successive); in ogni caso suggerisco di riguardare quanto fatto in aula prima di ogni laboratorio.

Durante i laboratori verranno forniti programmi parzialmente implementati da completare; potranno essere forniti anche dei file di input oppure dei casi di test per verificare la presenza di errori (non la loro assenza!). A questo punto ciascuno completerà i programmi, lavorando individualmente o in gruppo. Il docente e i tutor saranno a disposizione per fornire suggerimenti e aiutare a risolvere i problemi.

Nei giorni successivi il laboratorio verranno fornite delle possibili soluzioni. Si tenga presente che in generale non esiste una unica soluzione "corretta", per cui soluzioni alternative sono benvenute (purché corrette ed efficienti).

Il docente utilizzerà il compilatore gcc in ambiente Linux, ma gli esercizi possono essere svolti con qualunque ambiente di sviluppo che supporti lo standard C89/C90 (ANSI C), ad esempio, Code::Blocks, Xcode, MS Visual Studio, ecc.

Personalmente consiglio l'uso di un compilatore a riga di comando:

A causa dell'enorme varietà di combinazioni di sistema operativo/ambiente di sviluppo, è impossibile fornire assistenza alla configurazione del software. Come scritto sopra, non si impone l'uso di un ambiente di sviluppo specifico, ma si assume che gli studenti sappiano usare il proprio sistema secondo i requisiti del corso. È comunque disponibile una guida alla configurazione di Code::Blocks, Visual Studio e uso della riga di comando a cura del docente e dei tutor.

Lbri

Altri testi di consultazione

I libri seguenti non sono necessari per il corso, ma potrebbero interessare chi vuole approfondire.

Altro materiale

Orario dei laboratori

Orario Laboratorio Algoritmi e Strutture Dati 2023/2024
Lab Classe A Giovedì 15:00—18:00, lab 2.2 + aula 2.11
Lab Classe B Venerdì 09:00—12:00, lab 2.2

Modalità d'esame

L'esame del modulo di laboratorio consiste nello svolgimento di un un esercizio in cui si richiede la progettazione e realizzazione di un algoritmo in linguaggio C (standard ANSI C/C89/C90, sono essenzialmente la stessa cosa). Non saranno accettati programmi scritti in C99.

A titolo di esempio si può prendere visione di un progetto di anni precedenti. Non c'è alcuna garanzia che il tipo di progetto o il livello di difficoltà rimangano gli stessi.

La specifica del progetto viene resa disponibile alla fine del corso sulla piattaforma Virtuale. La specifica resta la stessa per tutto l'Anno Accademico corrente (2023/2024).

Il progetto va svolto individualmente. I programmi potranno essere consegnati in qualunque momento, fino a circa 10 giorni prima di ciascuna prova scritta.

Non viene assegnato un voto, ma la consegna di un progetto corretto è condizione necessaria per accedere alla prova scritta. Una volta ottenuta una valutazione positiva del progetto, è possibile presentarsi ad uno qualunque degli appelli scritti, anche in anni accademici successivi; infatti i progetti valutati positivamente non scadono e quindi non vanno riconsegnati.

Nel caso di progetto insufficiente sarà possibile modificare il codice e riconsegnare. In caso di riconsegna non è garantito che la correzione venga effettuata in tempo per l'ammissione all'appello immediatamente successivo.

Tutte le consegne verranno confrontate tra loro mediante software antiplagio. Indici di similarità troppo elevati comporteranno l'annullamento della consegna e l'assegnazione di un nuovo progetto, con specifiche diverse, da svolgere da zero. L'annullamento riguarderà entrambi gli estremi della copiatura (cioè sia chi copia, sia chi fa copiare).

Materiale didattico

Nota: Il materiale didattico non sostituisce né i libri di testo né la frequenza di lezioni e laboratori. Il materiale verrà aggiornato periodicamente.

Calendario Lab. Algoritmi e Strutture Dati
Data Classe A (prof. Margara) [Virtuale classe A] Data Classe B (prof. Maniezzo) [Virtuale classe B]
22/2 15:00 23/2 09:00
29/2 15:00

Siete invitati a completare il test di autovalutazione sulla piattaforma "Virtuale" [Virtuale classe A]. Il test non è obbligatorio e non viene valutato ai fini dell'esame; serve a voi per avere un riscontro immediato sulla correttezza delle soluzioni, a me per capire quante persone stanno provando gli esercizi.

1/3 09:00

Siete invitati a completare il test di autovalutazione sulla piattaforma "Virtuale" [Virtuale classe B]. Il test non è obbligatorio e non viene valutato ai fini dell'esame; serve a voi per avere un riscontro immediato sulla correttezza delle soluzioni, a me per capire quante persone stanno provando gli esercizi.

This page validates as XHTML 1.0 strict This page validates as CSS Check the accessibility of this page with WAVE
This page was last updated on February 26 2024 informativa sulla privacy