INFORMATICA GENERALE
Obiettivi formativi
Obiettivi generali Acquisire conoscenze di base relativamente al progetto di algoritmi di base, iterativi e ricorsivi, ed alla valutazione della loro efficienza computazionale. Obiettivi specifici Conoscenza e comprensione: Al termine del corso gli studenti conosceranno le metodologie di base per la progettazione e l'analisi di algoritmi iterativi e ricorsivi, le principali strutture dati, alcuni modi per scandire tali strutture, i principali algoritmi di ordinamento e le implementazioni più elementari dei dizionari. Avanno una buona conoscenza del linguaggio C, compresi aspetti avanzati come allocazione dinamica di memoria, aritmetica dei puntatori e compilazione separata dei programmi. Applicare conoscenza e comprensione: Al termine del corso 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. Sapranno infine implementare gli algoritmi e le strutture dati apprese in linguaggio C, con attenzione anche all’analisi di correttezza, alla chiarezza e all’efficienza concreta dei programmi. Capacità critiche e di giudizio: Lo studente avrà 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à comunicative: Lo studente acquisirà 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. Lo studente sarà in grado di esprimere un’idea algoritmica in modo rigoroso sia ad alto livello, tramite l’uso dello pseudocodice, che in linguaggio C. Capacità di apprendimento: Le conoscenze acquisite permetteranno allo studente, una volta concluso il ciclo di studi, di affrontare lo studio, individuale o previsto nell’ambito di un corso di laurea magistrale, di tecniche algoritmiche, di strutture dati più avanzate e di metodologie avanzate di programmazione.
Programmi - Frequenza - Esami
Programma
Prerequisiti
Testi di riferimento
Modalità insegnamento
Frequenza
Modalità di esame
Bibliografia
Modalità di erogazione
Programmi - Frequenza - Esami
Programma
Prerequisiti
Testi di riferimento
Modalità insegnamento
Frequenza
Modalità di esame
Bibliografia
Modalità di erogazione
Programmi - Frequenza - Esami
Programma
Prerequisiti
Testi di riferimento
Modalità insegnamento
Modalità di esame
Modalità di erogazione
- Codice insegnamento1032750
- Anno accademico2024/2025
- CorsoMatematica
- CurriculumMatematica per le applicazioni
- Anno2º anno
- Semestre1º semestre
- SSDINF/01
- CFU9
- Ambito disciplinareAttività formative affini o integrative