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.

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.

2° Anno  Attivato nell'A.A. 2018/2019

InsegnamentiCreditiTAFSSD
12
B
INF/01
6
C
BIO/18

3° Anno  Attivato nell'A.A. 2019/2020

InsegnamentiCreditiTAFSSD
Un insegnamento a scelta
Altre attivita' formative
3
F
-
Prova finale
3
E
-
Attivato nell'A.A. 2018/2019
InsegnamentiCreditiTAFSSD
12
B
INF/01
6
C
BIO/18
Attivato nell'A.A. 2019/2020
InsegnamentiCreditiTAFSSD
Un insegnamento a scelta
Altre attivita' formative
3
F
-
Prova finale
3
E
-

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.




S Stage e tirocini presso imprese, enti pubblici o privati, ordini professionali

Codice insegnamento

4S02709

Crediti

12

Coordinatore

Ferdinando Cicalese

Lingua di erogazione

Italiano

L'insegnamento è organizzato come segue:

LABORATORIO DI PROGRAMMAZIONE II

Crediti

6

Periodo

Vedi pagina del modulo

Docenti

Vedi pagina del modulo

Obiettivi formativi

------------------------
MM: ALGORITMI PER BIOINFORMATICA
------------------------
Obiettivo del corso è fornire le conoscenze di base per il progetto e l'analisi di algoritmi fondamentali. Nella descrizione delle tecniche classiche di progettazione di algoritmi si prediligeranno esempi di applicazioni in bioinformatica e biologia computazionale. Il corso ha lo scopo di fornire agli studenti le conoscenze necessarie alla strutturazione di un problema in termini algoritmici; alla quantificazione delle risorse computazionali necessarie per l'esecuzione di un algoritmo e quindi alla valutazione in termini comparativi di 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.
------------------------
MM: LABORATORIO DI PROGRAMMAZIONE II
------------------------
L'obiettivo del corso e' 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. La metodologia di insegnamento prevede la produzione assistita di software e l'implementazione di progetti specifici. I progetti realizzati durante il corso si concentrano su applicazioni di interesse bioinformatico. Al termine dell'insegnamento lo studente dovrà dimostrare di essere in grado di: -- implementare e verificare il comportamento di algoritmi che risolvano problemi computazionali di base; -- implementare moduli software secondo il paradigma della programmazione orientata agli oggetti; -- 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 (avidi ed esaustivi) ed algoritmi notevoli su grafi, applicati a problemi di interesse bioinformatico. Tutto il materiale didattico relativo a questo insegnamento e' reperibile nella pagina web dedicata a questo corso sul sito del docente.

Bibliografia

Testi di riferimento
Autore Titolo Casa editrice Anno ISBN Note
J. Kleinberg, É. Tardos Algorithm Design (Edizione 1) Addison Wesley 2006 978-0321295354
Neil C. Jones, Pavel A. Pevzner An introduction to bioinformatics algorithms (Edizione 1) MIT Press 2004 0-262-10106-8
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms (Edizione 3) MIT Press 2009 978-0-262-53305-8

Modalità d'esame

------------------------
MM: ALGORITMI PER BIOINFORMATICA
------------------------
L'esame è volto ad accertare che gli studenti abbiano sufficiente padronanza delle tecniche di base per la progettazione di algoritmi e degli strumenti per l'analisi del costo computazionale di un algoritmo. L'esame consiste in una prova scritta con quesiti a risposta aperta. Tipicamente la prova include alcuni esercizi obbligatori ed altri esercizi a scelta. Gli esercizi obbligatori verificano le conoscenze relative all'analisi di algoritmi e alle soluzioni di problemi classici analizzati durante il corso; gli esercizi a scelta verificano la capacità dello studente di modellare un nuovo problema e progettarne una soluzione algoritmica. L'esame può essere sostenuto mediante prove parziali (strutturate come l'esame finale) il cui peso relativo ai fini della determinazione del voto è proporzionale alla parte di programma svolta al momento della prova. Il risultato delle prove parziali vale di norma solo ai fini degli appelli della sessione di febbraio.

------------------------
MM: LABORATORIO DI PROGRAMMAZIONE II
------------------------
L'esame per "Laboratorio di Programmazione II" viene svolto completamente al calcolatore e prevede l'implementazione e la verifica di codice scritto in linguaggio Java. L'esame può essere svolto mediante prove parziali o con un unica prova in laboratorio. L'esame tramite prove parziali si compone di una prova al calcolatore (svolta in laboratorio durante il corso) e di un progetto (svolto durante il corso) che verrà presentato in una prova orale al docente terminato il corso. Il voto finale e' dato dalla media dei voti delle due prove parziali. L'esame senza prove parziali prevede un'unica prova al calcolatore svolta in laboratorio nelle date degli appelli. Tutti gli elaborati sono individuali. E' vietato copiare o condividere codice o testo e le copiature determineranno abbassamenti di voti di tutti gli studenti coinvolti.

------------------------
Il voto finale per l'intero esame di "Algoritmi" è dato dalla media aritmetica dei voti conseguiti per il modulo Algoritmi per Bioinformatica e per il modulo Laboratorio di Programmazione II

Le/gli studentesse/studenti con disabilità o disturbi specifici di apprendimento (DSA), che intendano richiedere l'adattamento della prova d'esame, devono seguire le indicazioni riportate QUI