ALGORITMI E STRUTTURE DATI - MOD.1
- Anno accademico
- 2025/2026 Programmi anni precedenti
- Titolo corso in inglese
- ALGORITHMS AND DATA STRUCTURES - PART 1
- Codice insegnamento
- CT0371 (AF:521599 AR:301126)
- Lingua di insegnamento
- Italiano
- Modalità
- In presenza
- Crediti formativi universitari
- 6 su 12 di ALGORITMI E STRUTTURE DATI
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- INF/01
- Periodo
- Annuale
- Anno corso
- 2
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
Risultati di apprendimento attesi
- conoscenza e comprensione dei principali algoritmi e strutture dati;
- comprensione e valutazione della complessità dei problemi informatici e capacità di selezionare metodi adeguati per la modellazione e risoluzione del problema.
Capacità di applicare conoscenza e comprensione:
- capacità logico-deduttive e di problem solving;
- capacità di formalizzare e implementare soluzioni per problemi reali e identificazione di pattern di soluzione appropriati;
Capacità di giudizio
- Sapere formulare ed argomentare soluzioni, sviluppando anche un approccio critico alla valutazione di soluzioni alternative.
Prerequisiti
Contenuti
Tecniche fondamentali per il progetto di algoritmi: Tecnica divide et impera. Programmazione dinamica. Algoritmi golosi (o greedy).
Algoritmi su grafi: Rappresentazione di grafi. Visite in ampiezza e in profondita. Alberi di copertura minimi (Kruskal e Prim). Cammini minimi (Dijkstra, Bellman-Ford, Floyd-Warshall).
Problemi NP-completi: Classi di complessita P e NP. Riducibilita polinomiale e NP-completezza. Esempi di problemi NP-completi.
Testi di riferimento
Introduction to algorithms (3rd Edition), MIT Press, 2009.
(Traduzione italiana a cura di Livio Colussi edita da McGraw-Hill, Milano, 2010.)
C. Demetrescu, I. Finocchi, G. F. Italiano.
Algoritmi e strutture dati (seconda edizione), McGraw-Hill, 2008.
Modalità di verifica dell'apprendimento
Durante la prova orale lo studente deve dimostrare di conoscere gli argomenti svolti durante il corso e di saperli esporre in modo formale.
La prova scritta dà origine ad un punteggio espresso in trentesimi e si ritiene superata se si raggiunge un punteggio almeno pari a 17.
Lo studente che ha superato la prova scritta dovrà sostenere una prova orale che, se superata, dà origine ad un punteggio aggiuntivo, compreso tra -3 e 3, che andrà sommato a quello ottenuto nella prova scritta.
L’esame si considera superato se si superano entrambe le prove ed il punteggio complessivo è almeno pari a 18.
Modalità di esame
Il/la docente ha il dovere di vigilare affinché siano rispettate le regole di autenticità e originalità delle prove d'esame. Di conseguenza, nei casi in cui vi sia il sospetto di un comportamento irregolare, l'esame può prevedere un ulteriore approfondimento, contestuale alla prova d'esame, che potrà essere realizzato anche in modalità differente rispetto alle modalità sopra riportate.
Graduazione dei voti
A. I punteggi nell'intervallo 18-22 verranno assegnati in presenza di:
- conoscenza sufficiente del programma
- limitata capacità di risolvere gli esercizi proposti all'esame
- sufficiente esposizione orale
B. I punteggi nell'intervallo 23-26 verranno assegnati in presenza di:
- buona conoscenza del programma
- discreta capacità di risolvere gli esercizi proposti all'esame
- adeguata esposizione orale
C. I punteggi nell'intervallo 27-30 verranno assegnati in presenza di:
- ottima conoscenza di tutte le tematiche del programma
- buona capacità di risolvere gli esercizi proposti all'esame
- esposizione orale pienamente appropriata
La lode verrà assegnata in presenza di un esame perfetto, in cui vengono fornite soluzioni ottimali per ciascun esercizio e a fronte di una esposizione orale brillante.