PRINCIPI DI BIOINFORMATICA 3
Modulo PRINCIPI DI INFORMATICA

Anno accademico 2023/2024 - Docente: ELISABETTA SCIACCA

Prerequisiti richiesti

Non richiesti.

Contenuti del corso

Parte I - Introduzione alla programmazione.
Definizione di algoritmo e di linguaggio di programmazione.
Descrizione dei traduttori e distinzione tra linguaggi compilati e interpretati.
Concetti di base della programmazione: variabili, assegnamento, tipi di dato e tipi di operatori (aritmetici, relazionali e booleani).
Introduzione ai costrutti fondamentali della programmazione (sequenza, selezione e iterazione).
I diagrammi di flusso e la Notazione Lineare Strutturata.
Esercitazioni su algoritmi e diagrammi di flusso.
Quiz di verifica.

Parte II - Introduzione al linguaggio R.
Istallazione e introduzione a R e all'ambiente di sviluppo Rstudio.
Basi del linguaggio: commenti, assegnazione di valori a variabili, valori speciali, tipi di dato primitivi e avanzati, controllo e conversione del tipo di dato.
Sintassi degli operatori aritmetici, relazionali e booleani.
Sintassi dei costrutti fondamentali (if-else, while, for) e implementazione di semplici diagrammi di flusso.
Definizione di funzione e relative esercitazioni.
Introduzione del tipo di dato vettoriale (funzione di concatenazione, funzione seq(), rep() e altre funzioni di utilità sui vettori).
Introduzione al tipo di dato matriciale e relative funzioni (estrazione di elementi, filtri, gestione di righe e colonne).
Esercitazioni su vettori e matrici.
Introduziona al tipo di dato lista (la funzione list() e le funzioni di utilità, estrazioni di elementi).
Introduziona al tipo di dato dataframe (funzioni di utilità, estrazione di elementi, aggiunta/rimozione di righe e colonne, gestione dei valori NA).
Esercitazioni su liste e dataframes.
Lettura e scrittura files.
Grafici in R (line plots, bar plots, pie charts e parametri estetici).
Istallazione di librerie in R da CRAN e Bioconductor.
Quiz di verifica.

Parte III - Introduzione a Python
Istallazione e introduzione a Python e all'ambiente di sviluppo Spyder.
Basi del linguaggio: commenti, assegnazione di valori a variabili, valori speciali, tipi di dato primitivi e avanzati, controllo e conversione del tipo di dato, stringhe e relative operazioni.
Sintassi degli operatori aritmetici, relazionali e booleani.
Sintassi dei costrutti fondamentali (if-else, while, for) e implementazione di semplici diagrammi di flusso.
Definizione di funzioni e docstrings e relative esercitazioni.
La standard library di Python.
Introduziona al tipo di dato lista (creazione di una lista, estrazione di elementi e metodi relativi).
Tuple e set (definizione e metodi relativi).
Dizionari (definizione e metodi relativi).
Istallazione di moduli esterni tramite pip e installazione di pandas e numpy.
Introduzione alle matrici di numpy e relative operazioni. Esercitazioni su matrici.
Introduzione alle series di pandas e relative operazioni.
Introduzione ai dataframes di pandas e relative operazioni.
Esercitazioni su series e dataframes.
Grafici in Python con matplotlib (line plots, bar plots e parametri estetici).
Quiz di verifica.

Verifica dell'apprendimento

Esempi di domande e/o esercizi frequenti

Quale è il simbolo di assegnazione in R?

a.        =

b.        <-

c.        <=

d.        ==

 

In RStudio, quale finestra viene utilizzata per visualizzare il contenuto delle variabili e gli oggetti caricati nell’ambiente di lavoro? 

a.        Console

b.        Plots

c.        Editor per gli script

d.        Environment


Quali dei seguenti tipi di dato può contenere elementi di tipo diverso?

a.             Vettore

b.             Matrice

c.             Lista

d.             Nessuna delle precedenti

 

Quale è il modo corretto di assegnare una matrice alla variabile my_matrix in R?

a. my_matrix = array([ [1,2], [5,3], [7,8] ])

b. my_matrix = [ [1,2], [5,3], [7,8] ]

c. my_matrix = matrix(c(1,2, 5,3, 7,8), nrow=3, ncol=2)

d. my_matrix = m(c(1,2, 5,3, 7,8), nrow=3, ncol=2)

ENGLISH VERSION