PRINCIPI DI BIOINFORMATICA 4
Modulo PRINCIPI DI INFORMATICA

Anno accademico 2024/2025 - 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

Modalità di verifica dell'apprendimento

Prova orale opzionale

Esempi di domande e/o esercizi frequenti

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)


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


ENGLISH VERSION