Didattica ed organizzazione dei corsi

Il corso è organizzato in due percorsi alternativi:

A) rivolto a utenti con scarse conoscenze informatiche di base,

B) rivolto a utenti con scarse conoscenze biologiche di base.

Entrambi i percorsi condividono i moduli di specializzazione relativi a gestione ed analisi di dati biologici ma si differenziano per il livello di approfondimento raggiunto nella presentazione delle metodologie di analisi dei dati.

L'attività didattica del Master nel suo complesso è strutturata secondo una metodologia a crediti di seguito definita.

Attività didattica      40 crediti = 1000 ore

Stage                         20 crediti = 500 ore

L'attività didattica del Master è organizzata in corsi. I corsi (ciascuno di 4 crediti, 100 ore) sono composti di lezioni frontali e seminari (30%), attività di laboratorio (al più 20%) e studio individuale o di gruppo (almeno 50% e al più 70%).

Più in dettaglio, il Master è comunque composto da corsi, dei quali alcuni sono comuni ai due indirizzi, mentre altri sono specifici per un indirizzo. I corsi sono organizzati in due successivi cicli come dettagliato nel seguito.

Primo Ciclo (20 crediti, 500 ore) - Periodo: Inizio Dicembre 2003 - Fine Febbraio 2004

5 corsi di 4 crediti

Secondo Ciclo (20 crediti, 500 ore) - Periodo: Inizio Marzo 2004 - Fine Maggio 2004

5 corsi di 4 crediti

Lo stage è organizzato come segue.

Stage in impresa (20 crediti, 500 ore) - Periodo: Inizio Giugno 2004 - Fine Agosto 2004
 

I titoli dei corsi (suddivisi per percorso e per cicli successivi) sono riportati di seguito. I relativi programmi seguono nella successiva Sezione 4.


Primo Ciclo


Secondo Ciclo
 
Breve descrizione dei Corsi


Primo Ciclo

Introduzione alla Progettazione di Algoritmi (percorso A). Il corso si propone di fornire alcuni elementi di base che permetteranno di comprendere gli algoritmi specifici per problemi bioinformatici presentati poi nei corsi comuni. Verrà presentato il concetto di algoritmo e alcune tecniche di progettazione e di analisi di algoritmi. Verranno inoltre introdotte alcune semplici strutture dati astratte con l'obiettivo di arrivare a comprendere appieno lo pseudocodice di alcune metodologie specifiche di analisi di dati bioinformatici.

Introduzione alla Programmazione (percorso A). Il corso si propone di fornire alcune competenze di programmazione di base, indispensabili per una completa comprensione delle tematiche più avanzate affrontate nei corsi specialistici. Verranno introdotti i concetti di linguaggio e di compilatore, di ambiente di sviluppo e di debugging di codice. L'utente verrà messo in grado di progettare e scrivere da solo semplici procedure di elaborazione dati.

Laboratorio di Programmazione (percorso A). Il corso si propone di fornire allo studente la conoscenza dei principali stili di programmazione: programmazione procedurale, programmazione modulare, programmazione orientata agli oggetti. Si analizzeranno inoltre i tipici costrutti linguistici che i linguaggi di programmazione forniscono per permettere di sviluppare programmi secondo tali stili di programmazione: variabili e tipi di base, funzioni e moduli, strutture dati statiche e dinamiche, classi ed ereditarieta`.

Introduzione alle Tecnologie e ai Servizi Internet (percorso A). Intento del corso e' fornire conoscenze essenziali sulle tecnologie e le applicazioni utilizzate nelle reti informatiche in generale e in Internet in particolare. Speciale risalto e' dato al World Wide Web, alle tecnologie ad esso correlate, al suo modello di accesso alle informazioni e alle sue applicazioni avanzate. Nel dettaglio verranno affrontati i seguenti argomenti: le reti informatiche e la loro caratterizzazione; gli stack di protocolli, modelli di riferimento; la famiglia di protocolli TCP/IP; Internet come modello di riferimento; routing su Internet; applicazioni di internet e protocolli: la posta elettronica (SMTP, POP, IMAP), usenet (NNTP), il World Wide Web (HTTP); architettura del Web, cenni sulla gestione del contenuto dinamico e sulle applicazioni Web; introduzione alla programmazione di rete.

Basi di Dati e Sistemi Informativi (percorso A). Il corso si propone di presentare i principi, la tecnologia e le metodologie di progettazione e di utilizzo delle basi di dati e dei sistemi informativi accessibili via Web. In particolare verranno introdotti il modello relazionale dei dati, il linguaggio di definizione, quello di manipolazione dei dati oltre a al linguaggio di interrogazione. La progettazione delle basi di dati viene inquadrata nel contesto piu' ampio del ciclo di vita dei sistemi informatici. La progettazione delle basi di dati di utilizza il modello dei dati entità-relazione e copre sia la progettazione concettuale che quella logica. Viene poi analizzata la tecnologia per rendere disponibile le basi di dati via Web e si affrontano le problematiche relative alle basi di dati testuali insieme ai principi di base del loro funzionamento. Infine si passa in rassegna l'utilizzo di alcune basi di dati esistenti.

Elementi di Biofisica Molecolare e Cellulare (percorso B). Caratteristiche biochimiche e strutturali delle principali macromolecole biologiche: DNA, RNA e proteine. Struttura tridimensionale e stabilita' di acidi nucleici e proteine. Il codice genetico universale e la sintesi proteica. Il problema del folding ed il ruolo delle proteine nella funzionalità cellulare. La cellula, le membrane cellulari, il signalling ed i compartimenti cellulari. Moderne teorie sulla struttura del citoplasma. Ruolo della interazione proteina-proteina e proteina-DNA nella funzionalita' cellulare. Il concetto di modulo, rete e ciclo e la biologia dei sistemi: verso una nuova descrizione della cellula e delle sue interazioni.

Biologia Molecolare (percorso B). Dogma centrale della Biologia Molecolare.Nucleotidi, nucleosidi e basi. Legame fosfodiesterico e sequenze nucleotidiche.Appaiamento delle basi e struttura della doppia elica di DNA. Strutture B, A, e Z del DNA. Strutture secondarie di acidi nucleici.Replicazione semiconservativa del DNA. Meccanismo della replicazione in E. coli e nei fagi. Origini di replicazione nei procarioti ed eucarioti. Mutazioni e meccanismi di riparazione del DNA.Le nucleasi. Enzimi di restrizione e DNA ricombinante. DNA lineare e circolare. Plasmidi. Vettori di espressione. Isolamento del gene e clonaggio del DNA.RNA ribosomale, messaggero e transfer. Struttura dell'RNA: struttura primaria, secondaria e terziaria. Il codice genetico: codoni e anticodoni. Decifrazione del codice.RNA polimerasi procariotiche ed eucariotiche. Meccanismo della trascrizione nei procarioti.Regolazione espressione genica nei batteri. Organizzazione dell' operone batterico: repressore, operatore e promotore. Operone del lattosio. Operone del triptofano. Attenuazione e terminazione della trascrizione nei procarioti.Organizzazione del gene eucariotico: introni ed esoni. Nucleosomi e struttura della cromatina. RNA polimerasi e meccanismi di trascrizione negli eucarioti. Regolazione della trascrizione negli eucarioti e fattori di trascrizione.mRNA: struttura e modificazioni post-trascrizionali. Struttura e funzioni del tRNA. Geni soppressori di mutazioni. Le aminoacil-tRNA sintetasi. Struttura del ribosoma. Traduzione dell' mRNA: meccanismo della sintesi proteica.Trascrittasi inverse e sintesi di cDNA. Espressione di proteine eterologhe in batteri e lieviti.

Genetica Molecolare (percorso B). Teoria cromosomica dell'eredità. Analisi mendeliana e sue estensioni. Analisi di linkage e mappe genetiche negli eucarioti. Struttura e funzione del DNA: replicazione, trascrizione e codice genetico. Struttura dei geni procariotici ed eucariotici. Struttura e organizzazione dei genomi. Controllo dell'espressione genica. Tecnologie ricombinanti (accenni). Genomica I: costruire la mappa fisica di un genoma. Genomica II: definire la sequenza completa di un genoma. Genomica funzionale I: definizione di mappe globali di interazioni genetiche. Genomica funzionale II: definizione di un trascriptoma e di network regolativi complessi. Genomica funzionale III: alcune applicazione della genomica funzionale nei campi sanitario-farmaceutico, industriale, agrario-zootecnico e ambientale.

Principi di Neuroscienze Cognitive (percorso B). Principi di funzionamento dei circuiti nervosi: il neurone, le sinapsi, i segnali e la loro trasmissione. Le operazioni del cervello: dalle molecole alla plasticità nervosa. Basi neurobiologiche dell' apprendimento, memoria, coscienza, intelligenza. Neurobiologia del linguaggio. Intelligenza naturale ed artificiale nel quadro delle scienze cognitive.

Principi di Immunologia (percorso B). Caratteristiche generali della Risposta Immunitaria, Antigeni ed Anticorpi, la Processazione dell'Antigene, Linfociti B e produzione degli Anticorpi, Linfociti T, Mediatori solbili (Citochine e Chemochine Campo citochinico, Immunita' Innata e Immunita' Clonotipica, MHC, Ruolo dei linfociti B e T e dei rispettivi recettori nella risposta immunitaria, la Memoria nel Sistema Immunitario e sue analogie molecolari e cellulari con la Memoria nel Sistema Nervoso, l'Immunosenescenza, il Sistema Immunitario come Sistema Complesso, l'Immunologia Teorica, Metafore immunitarie per la messa a punto di nuovi algoritmi per la risoluzione di problemi complessi del mondo reale, Immunologia e Information Technology.


Secondo Ciclo

Soft Computing (corso comune ai percorsi A e B) Il corso si propone di fornire alcune conoscenze teorico - pratiche di metodologie utilizzate nell'analisi e nella predizione di dati biologici, con particolare riferimento ai dati presentati e utilizzati nei corsi più specificatamente bioinformatici del master (Analisi di biosequenze e Predizione della struttura proteica). Verranno i principali metodi di soft computing. La caratteristica principale di questi metodi, contrariamente a quelli di elaborazione hard , è di essere tolleranti all'imprecisione, incertezza e verità parziale. Questa tolleranza è sfruttata per ottenere trattabilità, robustezza e bassi costi computazionali. La tecniche trattate saranno reti neurali (introducendo sia il modello feedforward a livelli che il modello SVM), gli algoritmi genetici e sistemi classificatori, e i sistemi fuzzy. Per ciascun metodo verranno illustrate applicazioni a pattern recognition, clustering, diagnosi e controllo, sia individualmente che in contesti ibridi. Il corso è autoconsistente, anche se si assume una certa familiarità con i concetti di base della teoria della probabilità, con semplici manipolazioni algebriche e con i linguaggi di programmazione, almeno imperativi.

Algoritmi e Strutture Dati (corso comune ai percorsi A e B) Il corso si propone di presentare i concetti e le metodologie di progettazione e di analisi di efficienza degli algoritmi e delle strutture di dati, con particolare attenzione alla loro applicazione a problemi di biologia computazionale. In particolare nella parte teorica verranno introdotte le tecniche di valutazione di algoritmi (complessita' asintotica), le tecniche di progetto di algoritmi (divide et impera, programmazione dinamica, backtrack, enumerazione, greedy, approssimazione), e le principali strutture di dati (sequenze, stringhe, alberi, grafi). Tali strumenti informatici saranno esemplificati nella parte applicativa sulla risoluzione di problemi di allineamento di sequenze (singolo, multiplo e con alberi), SNP (polimorfismo di singoli nucleotidi), e confronti di proteine.

Sistemi Complessi (corso comune ai percorsi A e B). Si studiano i meccanismi elementari alla base dei biologia molecolare. In particolare, i diagrammi metabolici, i diagrammi intra ed extra-cellulari, i diagrammi di regolazione genetica. In seguito si descrivono tali meccanismi in maniera formale, attraverso un opportuno linguaggio di programmazione concorrente. Infine si fornisce una interpretazione computazionale della biologia molecolare mediante compilazione in Java, un linguaggio di uso corrente.

Biologia Computazionale (corso comune ai percorsi A e B). Il corso si propone di presentare i principi, la tecnologia e le metodologie di progettazione e di utilizzo dei metodi attualmente disponibili per la predizione delle caratteristiche strutturali e funzionali di proteine globulari e di membrana. In particolare verranno illustrati gli approcci di machine learning caratterizzati da una elevata efficienza predittiva e consolidati a livello internazionale, come reti neurali e Hidden Markov Model. Lo scopo e' di fornire all'utente una solida base teorico/pratica per potere definire per via computazionale le caratteristiche strutturali e funzionali di una sequenza proteica nei casi possibili. Inoltre verranno delineati ed illustrati i principi di building per omologia, threading e predizioni ab intio sottolineando con esempi la possibilita' effettiva di applicazione dei vari metodi nonche' i loro limiti di applicazione per la predizione della struttura terziaria di proteine a partire dalla sequenza aminoacidica. Inoltre verranno discussi gli aspetti salienti di progetti di genomica strutturale e funzionale con particolare attenzione alla predizione di reti di proteine interagenti ed il loro ruolo nei metodi di simulazione per la biologia dei sistemi.

Laboratorio di Biologia Computazionale (corso comune ai percorsi A e B). Il corso si propone di presentare i metodi più utilizzati per l'analisi di sequenze biologiche, con particolare riguardo per quelli che possono essere utilizzati attraverso il web. L'intento è quello di fornire informazioni sufficienti per poter gestire consapevolmente i programmi e le risorse disponibili più utili all'analisi di sequenze biologiche. Partendo dai programmi di utilità generale, come la traduzione DNA/proteina, calcolo degli strand complementari ecc., si passerà all'introduzione dei programmi per l'allineamento di sequenze. Iniziando dall'allineamento, locale e globale per le sequenze biologiche (DNA e proteine), sono introdotti e utilizzati programmi per la ricerca di sequenze in banche dati con particolare riferimento alla suite di BLAST e FASTA. Nell'ottica della ricerca di informazioni funzionali sulle sequenze proteiche vengono presentati metodi per la ricerca di 'motivi' in insiemi di sequenze, come PROSITE e PFAM. Di seguito sono introdotti gli algoritmi per l'allineamento multiplo di sequenze e la costruzione di profili, come ClustalW. Infine vengono presentati programmi per l'analisi di repeats in sequenze nucleotidiche.