Obiettivo del corso è fornire conoscenze sulle principali strutture di dati (pile, code, liste, alberi, grafi) e sugli algoritmi fondamentali per la loro gestione. Lo studente apprenderà gli strumenti formali per la valutazione rigorosa della complessità computazionale degli algoritmi e dei problemi. È un obiettivo del corso anche l’acquisizione di familiarità con i principali approcci algoritmici (divide et impera, greedy, incrementale, top-down, bottom-up). Per le esercitazioni e le prove d'esame del corso verrà utilizzato il linguaggio Python.
scheda docente
materiale didattico
Approfondimento sugli algoritmi di ordinamento
Ricerca binaria
Strutture dati elementari ed operazioni sulle strutture dati
Strutture dati avanzate ed operazioni su di esse
Sviluppo di strutture dati ed algoritmi in linguaggio Python
Esempi di applicazioni con algoritmi e strutture dati in linguaggio Python
(nota: è lo stesso libro di testo del corso di "Fondamenti di Informatica e Programmazione" del primo anno)
Programma
Richiami sulla complessità computazionaleApprofondimento sugli algoritmi di ordinamento
Ricerca binaria
Strutture dati elementari ed operazioni sulle strutture dati
Strutture dati avanzate ed operazioni su di esse
Sviluppo di strutture dati ed algoritmi in linguaggio Python
Esempi di applicazioni con algoritmi e strutture dati in linguaggio Python
Testi Adottati
Kenneth A. Lambert. Programmazione in Python. Apogeo. 2° ed. 2018(nota: è lo stesso libro di testo del corso di "Fondamenti di Informatica e Programmazione" del primo anno)
Modalità Erogazione
Lezioni in aulaModalità Frequenza
La frequenza delle lezioni non è obbligatoriaModalità Valutazione
È previsto lo svolgimento di una prova finale che si terrà al calcolatore. La prova prevede domande su argomenti teorici e di programmazione e lo svolgimento di esercizi di programmazione in Python. Nel caso in cui la prova svolta dal candidato presenti elementi che non consentono al docente di effettuare una valutazione obiettiva della stessa (ad esempio risposte non chiare, ambiguità o altro) il docente potrà chiedere una colloquio di approfondimento.