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/2026Il 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. 2021/2022
Insegnamenti | Crediti | TAF | SSD |
---|
Un insegnamento a scelta
3° Anno Attivato nell'A.A. 2022/2023
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
Insegnamenti | Crediti | TAF | SSD |
---|
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 (2021/2022)
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 uso nella soluzione di semplici problemi in bioinformatica.
Gli studenti impareranno come implementare semplici soluzioni algoritmiche a problemi in bioinformatica e 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 obiettivi 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 profitto 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'insegnamento lo studente saprà usare le principali strutture dati presenti in Java e realizzare nuove strutture dati utili per l'implementazione di moduli software specifici.
Programma
------------------------
Modulo: 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, e Programmazione dinamica.
Grafi e algoritmi su grafi: visite di grafi; semplici problemi di connettività, ordinamento topologico.
Ricerca di stringhe.
------------------------
Modulo: LABORATORIO DI PROGRAMMAZIONE II
------------------------
La programmazione orientata agli oggetti e 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.
Programmazione generica (Java generics).
Implementazione di algoritmi di ordinamento, di ricerca (greedy ed esaustivi) e algoritmi notevoli su grafi.
Bibliografia
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.