ALGORITMI 1
Obiettivi formativi
Obiettivi generali: Questo corso introduce i metodi di base per la progettazione e l’analisi degli algoritmi. Si studieranno vari algoritmi ben noti che risolvono problemi di base come l’ordinamento o la ricerca, insieme con i più semplici strumenti per analizzarli dal punto di vista dell’efficienza. Obiettivi specifici Il corso ha come obiettivo quello di far usare correttamente gli algoritmi di base e le strutture dati fondamentali. In particolare, verranno affrontati i principali algoritmi per risolvere i problemi della ricerca e dell’ordinamento. Saranno poi studiate le strutture dati più importanti: array disordinati e ordinati, liste puntate semplici e doppie, dizionari, alberi. Infine, si daranno gli strumenti per il calcolo del costo computazionale degli algoritmi. Conoscenze e comprensione: Al termine del corso le studentesse e gli studenti conosceranno le metodologie di base per la progettazione e l'analisi di algoritmi iterativi e ricorsivi, le strutture dati elementari, i principali algoritmi di ordinamento e le implementazioni più elementari dei dizionari. Applicare conoscenza e comprensione: Al termine del corso le studentesse e gli studenti avranno acquisito familiarità con le principali strutture dati di base, in particolare quelle che implementano i dizionari. Sapranno spiegarne gli algoritmi e analizzarne la complessità, evidenziando come le prestazioni dipendano dalla struttura dati utilizzata. Saranno in grado di progettare nuove strutture dati e i relativi algoritmi, rielaborando quelli esistenti; sapranno spiegare i principali algoritmi di ordinamento, illustrando le strategie di progetto sottostanti e le relative analisi di complessità; saranno in grado di confrontare i comportamenti asintotici dei tempi di esecuzione degli algoritmi studiati; saranno in grado di progettare soluzioni ricorsive di problemi e di analizzare asintoticamente gli algoritmi risultanti. Capacità di giudizio: Le studentesse o gli studenti avranno le basi per analizzare la qualità di un algoritmo e delle relative strutture dati, sia dal punto di vista della effettiva risoluzione del problema che da quello della efficienza computazionale con la quale il problema viene risolto. Capacità di comunicazione: Le studentesse e gli studenti acquisiranno la capacità di esporre in modo chiaro ed organizzato le proprie conoscenze, capacità che verrà verificata sia mediante i quesiti presentati nelle prove scritte che durante la prova orale. Essi saranno in grado di esprimere un’idea algoritmica in modo rigoroso ad alto livello, in pseudocodice. Capacità di apprendimento: Le conoscenze acquisite permetteranno di affrontare lo studio, individuale o previsto nell’ambito di un corso di laurea magistrale, di tecniche algoritmiche e di strutture dati più avanzate.
Programmi - Frequenza - Esami
Programma
Prerequisiti
Testi di riferimento
Modalità insegnamento
Frequenza
Modalità di esame
Modalità di erogazione
Programmi - Frequenza - Esami
Programma
Prerequisiti
Testi di riferimento
Frequenza
Modalità di esame
Modalità di erogazione
- Codice insegnamento10620599
- Anno accademico2025/2026
- CorsoInformatica
- CurriculumCurriculum unico
- Anno1º anno
- Semestre2º semestre
- SSDINF/01
- CFU6
- Ambito disciplinareFormazione informatica