Studiare
In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.
Piano Didattico
Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso. Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:
Laurea in Bioinformatica - Immatricolazione dal 2025/2026.Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.
1° Anno
Insegnamenti | Crediti | TAF | SSD |
---|
2° Anno Attivato nell'A.A. 2020/2021
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta
3° Anno Attivato nell'A.A. 2021/2022
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta
Insegnamenti | Crediti | TAF | SSD |
---|
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta
Legenda | Tipo Attività Formativa (TAF)
TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.
Algoritmi (2020/2021)
L'insegnamento è organizzato come segue:
LABORATORIO DI PROGRAMMAZIONE II
Crediti
6
Periodo
Vedi pagina del modulo
Docenti
Vedi pagina del modulo
Obiettivi formativi
Obiettivo del corso è fornire le conoscenze di base per il progetto e l'analisi di algoritmi fondamentali con particolare attenzione al loro utilizzo nella soluzione di semplici problemi in bioinformatica. Gli studenti impareranno come implementare semplici soluzioni algoritmiche a problemi in bioinformatica ed alcune strutture dati fondamentali tramite la programmazione orientata agli oggetti. Il corso si compone di due moduli: Algoritmi per Bioinformatica e Laboratorio di Programmazione II, i cui obiet-tivi specifici sono descritti di seguito. Modulo Algoritmi per Bioinformatica: Gli studenti acquisiranno le conoscenze di base per il progetto e l'analisi di algoritmi fondamentali. Impareranno come strutturare un problema in termini algoritmici; come quantificare le risorse computazionali necessarie per l'esecuzione di un algoritmo e quindi comparare diverse soluzioni algoritmiche. In particolare, lo studente che ha seguito il corso con pro-fitto sarà in grado di valutare l'applicabilità e l'efficacia di tecniche di base per la progettazione degli algoritmi a semplici problemi computazionali. Modulo: Laboratorio di Programmazione II: L'obiettivo del modulo è quello di fornire le conoscenze di base per l'implementazione di algoritmi fondamentali tramite la programmazione orientata agli oggetti. Il corso propone Java come linguaggio di riferimento e prevede la produzione assistita di software e l'implementazione di progetti specifici su problemi di interesse bioinformatico. Al termine dell'inse-gnamento lo studente saprà utilizzare le principali strutture dati presenti in Java e realizzare nuove strutture dati utili per l'implementazione di moduli software specifici.
Programma
------------------------
MM: ALGORITMI PER BIOINFORMATICA
------------------------
Definizione di problema computazionale e definizione di algoritmo; Analisi degli algoritmi: caso pessimo e caso medio; Algoritmi e complessità: notazione asintotica; nozioni di base di analisi di complessità; risoluzione di relazioni di ricorrenza; Algoritmi di ricerca, ordinamento e selezione; Strutture dati per l'implementazione della struttura astratta dizionario: code, heap, alberi binari di ricerca, tabelle hash; Tecniche di progettazione: Divide-et-Impera; Greedy; Programmazione dinamica; Grafi e Algoritmi su grafi: visite di grafi; semplici problemi di connettività, ordinamento topologico
------------------------
MM: LABORATORIO DI PROGRAMMAZIONE II
------------------------
La programmazione orientata agli oggetti ed il linguaggio Java. Implementazione di semplici programmi in Java (tipi primitivi e strutture di controllo). Definizione di classi e metodi. Gestione delle eccezioni in Java. Realizzazione di metodi ricorsivi. Interfacce e packages. Implementazione di algoritmi di ordinamento, di ricerca (greedy ed esaustivi) ed algoritmi notevoli su grafi.
Bibliografia
Autore | Titolo | Casa editrice | Anno | ISBN | Note |
---|---|---|---|---|---|
Docente del corso | Dispense del docente | 2020 | |||
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein | Introduzione agli algoritmi e strutture dati (Edizione 3) | McGrawHill | 2010 | 978-88-386-6515-8 |
Modalità d'esame
C'è un solo esame per entrambi i moduli.
L'esame è volto ad accertare che gli studenti abbiano sufficiente padronanza delle tecniche di base: per la progettazione di algoritmi, degli strumenti per l'analisi del costo computazionale di un algoritmo e della implementazione di algoritmi in Java. L'esame consiste in una prova scritta con quesiti a risposta multipla e aperta. I quesiti a risposta multipla servono per valutare le competenze di base relative all'analisi di algoritmi, alle soluzioni di problemi classici e alla conoscenza del linguaggio Java. I quesiti a risposta aperta verificano la capacità dello studente di modellare un nuovo problema e progettarne una soluzione algoritmica e di saper poi codificare tale soluzione in un programma Java.