Docenti
Relativamente ai criteri di valutazione facciamo riferimento al documento: https://www.uniud.it/it/didattica/corsi/area-scientifica/scienze-matematiche-informatiche-multimediali-fisiche/laurea/informatica/studiare/criteri.pdf
Indice:
Fondamenti
Ruolo degli algoritmi
Progettazione di algoritmi
Correttezza degli algoritmi
Complessità computazionale
Strutture Dati di Base e relativi Algoritmi
Vettori, Heap, Liste, Pile, Code, Alberi Binari, Tabelle di Hash, e varianti.
Algoritmi per l’ordinamento, la ricerca, l’inserimento e la cancellazione in strutture dati di base
Dimostrazione della correttezza di tali algoritmi
Valutazione della complessità computazionale di tali algoritmi
Strutture Dati Avanzate, Algoritmi e Tecniche Avanzate di progettazione
Bilanciamento di alberi binari con algoritmi di ricerca/inserimento/cancellazione
B-alberi con algoritmi di ricerca/inserimento/cancellazione
Strutture Dati per insiemi disgiunti con operazioni Make, Union, Find e relative euristiche
Grafi e algoritmi di base sui grafi
Alberi minimi di copertura per grafi pesati
Cammini minimi in grafi pesati
Dimostrazione della correttezza e valutazione della complessità di tali algoritmi
CAPACITA’ RELATIVE ALLE DISCIPLINE
Lo/la studente/ssa dovrà:
1.1. Conoscenza e capacità di comprensione
Conoscere i concetti base relativi alle strutture dati statiche e dinamiche e alla progettazione di algoritmi
Conoscere un linguaggio formale per la descrizione degli algoritmi
Conoscere gli strumenti matematici per la valutazione della complessità computazionale
Conoscere le strutture dati e gli algoritmi presentati a lezione e le relative complessità spaziali e temporali
1.2 Capacità di applicare conoscenza e comprensione
Saper implementare e testare gli algoritmi visti a lezione nei linguaggi di programmazione più comuni
Saper utilizzare le strutture dati e gli algoritmi presentati nel corso per progettare nuovi algoritmi in grado di risolvere specifici problemi
Saper dimostrare la correttezza e valutare la complessità computazionale di tali algoritmi
CAPACITA’ TRASVERSALI / SOFT SKILLS
Lo/la studente/ssa dovrà:
2.1 Autonomia di giudizio
Saper valutare quali strutture dati, quali algoritmi e quali tecniche di progettazione utilizzare per fornire una soluzione efficiente ad un dato problema algoritmico
Saper scegliere tra più possibili soluzioni quella computazionalmente più efficiente
Saper combinare/estendere algoritmi esistenti per risolvere uno specifico problema
Saper dimostrare o confutare la correttezza e valutare la complessità computazionale di algoritmi da lui/lei progettati o reperiti in letteratura
Saper selezionare il linguaggio di programmazione e le librerie più adatte per l’implementazione degli algoritmi
Saper testare le implementazioni.
2.2 Abilità comunicative.
Essere in grado di motivare, le scelte effettuate in termini di strutture dati e algoritmi per la risoluzione di un dato problema.
Essere in grado di reperire le eventuali informazioni aggiuntive necessarie per la progettazione di un algoritmo efficiente.
2.3 Capacità di apprendimento
Saper reperire ed utilizzare risorse informatiche e scientifiche per l’approfondimento autonomo delle tematiche studiate a lezione
Saper affrontare lo studio di nuove problematiche di natura algoritmica
Saper individuare nuovi strumenti per lo sviluppo e l’implementazione di strutture dati e algoritmi
Si rimanda anche alle pagine:
– Laurea in Informatica “https://www.uniud.it/it/didattica/info-didattiche/regolamento-didattico-del-corso/L-informatica/all-B2” https://www.uniud.it/it/didattica/info-didattiche/regolamento-didattico-del-corso/L-informatica/all-B2
– Laurea in Internet of things, biga data, machine learning “https://www.uniud.it/it/didattica/info-didattiche/regolamento-didattico-del-corso/l-internet-things-big-data-machine-learning/all-B2” https://www.uniud.it/it/didattica/info-didattiche/regolamento-didattico-del-corso/l-internet-things-big-data-machine-learning/all-B2
2. Altri testi utili:
1. A. Bertossi, A. Montresor. Algoritmi e Strutture Dati, 2/ed, Città Studi Edizioni, 2010.
2. C. Demetrescu, I. Finocchi, G. F. Italiano, Algoritmi e Strutture Dati, 2/ed, McGraw-Hill, 2007.
3. P. Crescenzi, G. Gambosi, R. Grossi. Strutture di Dati e Algoritmi, Addison-Wesley Pearson, 2006.
4. Aho A.V., Hopcroft J.E., Ullman J.D., Data Structures and Algorithms, Addison-Wesley, 1983.
5. Aho A.V., Hopcroft J.E., Ullman J.D., The Design and Analysis of Computer Algorithms, Addison-Wesley, 1974.
Università degli Studi di Udine
Dipartimento di Scienze Matematiche, Informatiche e Fisiche (DMIF)
via delle Scienze 206, 33100 Udine, Italy
Tel: +39 0432 558400
Fax: +39 0432 558499
PEC: dmif@postacert.uniud.it
p.iva 01071600306 | c.f. 80014550307
30 km from Slovenia border
80 km from Austria border
120 km from Croatia border
160 km South West of Klagenfurt (Austria)
160 km West of Lubiana (Slovenia)
120 km North East of Venezia (Italy)