Metodi e Linguaggi per il trattamento dei dati - MTD - A.A. 2019/2020
Corso di Laurea: BENI CULTURALI
Ricevimento studenti: concordare appuntamento via e-mail.
Docente: Matteo Re
Email: matteo.re (at) unimi.it
- Obiettivi didattici: Fornire agli studenti le competenze necessarie per l’analisi, l’elaborazione e la manipolazione di dati di natura eterogenea. Acquisizione di competenze di programmazione procedurale.
- Competenze acquisite: Linguaggi di programmazione orientati all’analisi dei dati. Liguaggio R (statistica), linguaggio PERL (elaborazione testi ed accesso a banche dati remote), linguaggio SQL (interrogazione a banche dati), linguaggio Python, analisi dei dati ed apprendimento automatico.
- Struttura del corso: Il corso e’ diviso in tre moduli, ognuno dedicato ai tre linguaggi di programmazione principali trattati nel corso: R, PERL, PYTHON. Ogni modulo contiene una parte di introduzione al linguaggio seguita da esempi di applicazione per un totale di 16 ore.
Programma corso
Orario lezioni :
- Martedi' - ore 13:30-15:30 - aula 310 settore didattico via Celoria
- Mercoledi' - ore 10:30-12:30 - aula 7 settore didattico via Mangiagalli
Eventuali variazioni a questi orari verranno discussi preventivamente con gli studenti e comunicati a tutti mediante una mailing list dedicata al corso.
IMPORTANTE: Durante il corso della prima lezione e' richiesta la registrazione per la mailing list del corso a questo link.
Parte I : descrizione dei dati (R)
0 : Introduzione
Algoritmi e linguaggi di programmazione. Linguaggi di programmazione a basso ed alto livello. Linguaggi interpretati e compilati.
1 : Il linguaggio e l'ambiente di programmazione R
- L'interfaccia grafica per l'utente di R
- Identificatori e variabili; tipi di dati base; operatori, espressioni e istruzioni
- Strutture dati fondamentali in R: vettori, fattori, matrici, array, liste, data frame ed environment
- Strutture di controllo del flusso di esecuzione: blocchi, istruzioni condizionali, iterazioni
- Funzioni e script
- Operazioni di I/O
- L'ambiente grafico di R
Parte II : Manipolazione dati testuali ed interazione con manche dati remote (PERL)
1: Introduzione al linguaggio PERL
- Caratteristiche del linguaggio PERL
- Tipi di dati
- Strutture di controllo
- Esempi di applicazione : Biologia computazionale - Allineamento pairwise di Biosequenze
- Esempi di applicazione : Biologia computazionale - allineamenti multipli
- Programmazione dinamica : come rendere possibile ed efficiente la soluzione di un problema
- Esempi di applicazione : modelli generativi (Hidden Markov Models)
- Linguaggi per l'interrogazione di banche dati remote: introduzione a SQL
- Il browser genomico EnsEMBL
- Accesso da remoto al database ensembl mediante PERL e SQL
Materiale didattico:
In questa sezione verranno pubblicate le slide del corso. Le slide saranno rese disponibili di lezione in lezione.
PARTE I : linguaggio R
- Introduzione e Strutture dati in R
- Programmazione funzionale
- Distribuzioni di probabilita'
- Stima intervalli di confidenza
- Controllo del flusso di esecuzione
PARTE II : linguaggio PERL
- PERL scripting (reference)
- Basi di PERL
- Allineamento di Biosequenze
- Programmazione dinamica I
- Accesso a banche dati remote: linguaggio SQL
PARTE III : linguaggio PYTHON
File esercizi prorammazione : :
In questa sezione verranno pubblicati i file necessari per svolgere gli esercizi di informatica e statistica con R. I file saranno resi disponibili di lezione in lezione.
PARTE I : linguaggio R
- Dispersione
- Istogramma 1
- Istogramma 2
- Grafici
- dati esercizi
- esempro DiceR
- Regressione Lineare
- Simulazione IC
- gradient descent
.
- ggplot2
- P1 data
PARTE II : linguaggio PERL
Bibliografia:
MODULO R:
- W. N. Venables, D. M. Smith and the R Development Core Team An introduction to R. Notes on R: A Programming Environment for Data Analysis and Graphics , 2010.
- L. Lam, An introduction to R, 2010.
- R. Gentleman, R Programming for Bioinformatics, CRC/Computer Science & Data Analysis Volume 12, Chapman & Hall, 2008.