CARLO SARTIANI | ALGORITMI E STRUTTURE DATI
ALGORITMI E STRUTTURE DATI | |
---|---|
DIPARTIMENTO di MATEMATICA,INFORMATICA ed ECONOMIA | |
Laurea | |
SCIENZE E TECNOLOGIE INFORMATICHE | |
6 |
ALGORITMI E STRUTTURE DATI | |
---|---|
DIPARTIMENTO di MATEMATICA,INFORMATICA ed ECONOMIA | |
Laurea | |
SCIENZE E TECNOLOGIE INFORMATICHE | |
6 |
CFU | Ore | Ciclo | Docente | ||||
---|---|---|---|---|---|---|---|
1 | ALGORITMI E STRUTTURE DATI | ||||||
5 | 40 | Primo Semestre | ERRA UGO | ||||
2 | ALGORITMI E STRUTTURE DATI | ||||||
1 | 8 | Primo Semestre | SARTIANI CARLO |
Lingua insegnamento | Italiano |
---|
Obiettivi formativi e risultati di apprendimento | L’obiettivo principale del corso consiste nel fornire formalmente la nozione di algoritmo e di strutture dati. Caratterizzare i dati da elaborare, organizzandoli e strutturandoli nel modo più opportuno al fine di agevolarne l'uso da parte degli algoritmi. Progettare algoritmi corretti ed efficienti attraverso l'esame di diversi paradigmi. |
---|
Prerequisiti | Conoscenza della Programmazione Procedurale ed in particolare una conoscenza approfondita di un linguaggio procedurale come il C. |
---|
Contenuti del corso | Ruolo degli algoritmi nell’elaborazione dei dati (2 ore di lezione): algoritmi, insertion sort, analisi degli algoritmi, progettazione degli algoritmi; Crescita delle funzioni (2 ore di lezione): notazione asintotica, Notazioni standard e funzioni comuni; Strutture dati elementari (2 ore di lezione): stack e code, liste concatenate, implementare puntatori e oggetti. Divide et impera (4 ore di lezione): metodo di sostituzione per risolvere le ricorrenze, metodo dell’albero di ricorsione per risolvere le ricorrenze, metodo dell’esperto per risolvere le ricorrenze; Heapsort (4 ore di lezione): heap, proprietà dell’heap, costruire un heap, algoritmo heapsort, code di priorità; Quicksort (4 ore di lezione): descrizione di quicksort, prestazioni di quicksort, versione randomizzata di quicksort, analisi di quicksort; Ordinamento in tempo lineare (2 ore di lezione): limiti inferiori per l’ordinamento, counting sort, radix sort, bucket sort; Hashing (4 ore di lezione): tavole a indirizzamento diretto, tavole hash, funzioni hash; Alberi binari di ricerca (6 ore di lezione): definizione di albero binario di ricerca, interrogazione di un albero binario di ricerca, inserimento e cancellazione; Programmazione dinamica (6 ore di lezione): taglio delle aste, moltiplicare una sequenza di matrici, elementi della programmazione dinamica, più lunga sottosequenza comune (LCS); Algoritmi golosi (6 ore di lezione): problema della selezione di attività, elementi della strategia golosa, codici di Huffman; Algoritmi sui grafi (8 ore di lezione): concetti fondamentali di teoria dei grafi, algoritmi di visita, sorting topologico. |
---|
Metodi didattici | L’occasione didattica principale sarà la lezione in classe; durante la lezione saranno presentati i principali contenuti del programma del corso. Insieme agli aspetti teorici, verranno presentati anche degli esercizi per invogliare lo studente a mettere in pratica immediatamente i concetti introdotti a lezione. Saranno fornite anche delle domande di riepilogo per facilitare l'autovalutazione dell'apprendimento sui temi delle lezioni. Le domande saranno di difficoltà eterogenea, dalle semplici definizioni, a richieste di confronto di soluzioni/tecniche, fino ad arrivare a domande che cercano di motivare lo studente a dimostrare le soluzioni trovate. Si consiglia fortemente la frequenza. |
---|
Modalità di verifica dell'apprendimento | L'esame consiste in una prova scritta con sei domande aperte di carattere teorico o di risoluzioni di esercizi. Per ogni sono previsti massimo 5 punti. Superata la prova scritta è possibile chiedere una integrazione al voto scritto attraverso una prova orale con domande di approfondimento su tutto il programma del corso. |
---|
Testi di riferimento e di approfondimento, materiale didattico Online | Introduzione agli algoritmi e strutture dati 3/ed. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. |
---|
Metodi e modalità di gestione dei rapporti con gli studenti | All’inizio del corso il docente descrive obiettivi, programma e metodi di verifica del corso, indicando dove reperire il materiale didattico on line. L’orario di ricevimento è fissato per Martedì e Mercoledì dalle ore 14:00 alle ore 16:00 presso lo studio del docente. Oltre all’orario di ricevimento settimanale, il docente è disponibile in ogni momento per un contatto con gli studenti, attraverso la propria e-mail o alla fine della lezione. |
---|
Date di esame previste | 6/2/2024,200/2/2024,14/5/2024,2/7/2024,16/7/2024,24/9/2024,17/12/2024 |
---|
Seminari di esperti esterni | No |
---|