Offerta Didattica
MATEMATICA
ALGORITMI E STRUTTURE DATI
Classe di corso: L-35 - Scienze matematiche
AA: 2022/2023
Sedi: MESSINA
SSD | TAF | tipologia | frequenza | moduli |
---|---|---|---|---|
INF/01 | Affine/Integrativa | Libera | Libera | No |
CFU | CFU LEZ | CFU LAB | CFU ESE | ORE | ORE LEZ | ORE LAB | ORE ESE |
---|---|---|---|---|---|---|---|
6 | 4 | 0 | 2 | 48 | 24 | 0 | 24 |
LegendaCFU: n. crediti dell’insegnamento CFU LEZ: n. cfu di lezione in aula CFU LAB: n. cfu di laboratorio CFU ESE: n. cfu di esercitazione FREQUENZA:Libera/Obbligatoria MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli ORE: n. ore programmate ORE LEZ: n. ore programmate di lezione in aula ORE LAB: n. ore programmate di laboratorio ORE ESE: n. ore programmate di esercitazione SSD:sigla del settore scientifico disciplinare dell’insegnamento TAF:sigla della tipologia di attività formativa TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio
Obiettivi Formativi
I principali obiettivi del corso sono: analizzare le principali tecniche di progettazione degli algoritmi, classificare, analizzare, progettare ed implementare algoritmi, valutare i costi in termini di efficienza computazionale, giungere al miglior compromesso tra esigenze conflittuali (costo, semplicità, efficienza).Learning Goals
Metodi didattici
L’insegnamento si compone di sessioni sincrone (lezioni frontali in aula e laboratorio).Teaching Methods
Prerequisiti
Matematica di base (algebra di base, concetto di funzione). Programmazione procedurale.Prerequisites
Verifiche dell'apprendimento
Due prove in itinere durante il semestre, le quali coprono gli argomenti trattati in aula fino alla prova, oppure una prova scritta in occasione degli appelli d'esame, la quale ricopre l'intero programma. Le prove scritte includono esercizi mirati a verificare le capacità di problem solving, progettazione di algoritmi e coding. Il punteggio ha un offset da 0 a 30 e lode.Assessment
Programma del Corso
Algoritmi e strutture dati - Insertion sort; Analisi degli algoritmi; Progettazione degli algoritmi; Notazione asintotica; Dividi et Impera: il metodo di sostituzione per risolvere le ricorrenze, il metodo dell'albero di ricorsione per risolvere le ricorrenze, il metodo dell'esperto per risolvere le ricorrenze, mergesort; Heap e heapsort; Quicksort; Ordinamento in tempo lineare: Countingsort; Alberi e alberi binari; Alberi binari di ricerca; Algoritmi elementari per grafi: rappresentazione dei grafi, visita in ampiezza, visita in profodità; Alberi di connessione minima: algoritmi di Kruskal e Prim; Cammini minimi: algoritmo di Dijkstra.Course Syllabus
Testi di riferimento: 1) Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. "Introduzione agli algoritmi e strutture dati", terza edizione, McGraw-Hill Education
2) Pierluigi Crescenzi, Giorgio Gambosi, Roberto Grossi, Gianluca Rossi. "Strutture di dati e algoritmi. Progettazione, analisi e programmazione", Pearson
3) Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser. "Data Structures and Algorithms in Python", John Wiley & Sons Inc
Esami: Elenco degli appelli
Elenco delle unità didattiche costituenti l'insegnamento
Docente: LORENZO CARNEVALE
Orario di Ricevimento - LORENZO CARNEVALE
Dato non disponibile