Algoritmi - ALGORITMI PER BIOINFORMATICA (2016/2017)

Codice insegnamento
4S02709
Docente
Ferdinando Cicalese
crediti
6
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Periodo
I sem. dal 3-ott-2016 al 31-gen-2017.

Per visualizzare la struttura dell'insegnamento a cui questo modulo appartiene, consultare * organizzazione dell'insegnamento

Orario lezioni

I sem.
Giorno Ora Tipo Luogo Note
mercoledì 11.30 - 13.30 lezione Aula D  
venerdì 8.30 - 11.30 lezione Aula D  

Obiettivi formativi

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.

Programma

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

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 0-262-03384-4

Modalità d'esame

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 aperti. 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.

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

Opinione studenti frequentanti - 2016/2017