Laboratorio di Software Carpentry: introduzione a Python, Shell e Git

in collaborazíone con ELIXIR Italy

Online

27-28 gennaio, 3-4 febbraio

9:00 - 13:00

Istruttori: Marco Crotti, Silvia Di Giorgio, Luca Di Stasio, Lisanna Paladin, Martino Sorbaro

Assistenti: Giacomo Peru, Loredana Le Pera

Alcuni adblocker bloccano la finestra di registrazíone. Se non vedi qui sotto il riquadro per la registrazíone, controlla le impostazíoni del tuo adblocker.

Informazioni generali

Software Carpentry è un'associazione senza scopo di lucro il cui obiettivo è aiutare ricercatrici e ricercatori di ogni livello a semplificare e migliorare le proprie procedure di ricerca attraverso l'apprendimento di tecniche di base di programmazione e gestione di dati. Questo laboratorio propone ai partecipanti di apprendere programmando insieme agli istruttori, anch'essi appartenenti al mondo della ricerca e dell'insegnamento superiore e volontari dell'associazione Software Carpentry. Gli argomenti che verranno trattati sono l'automatizzazione di attività, il controllo di versione, l'organizzazione di dati, scrittura e progettazione di programmi. I partecipanti sono incoraggiati ad interagire fra loro e ad aiutarsi nel percorso di apprendimento e ad applicare quanto imparato ai loro campi di specializzazione.

Per maggiori dettagli su cosa insegniamo e perchè, siete invitati a leggere il nostro articolo (in inglese) "Best Practices for Scientific Computing".

Chi: Il corso è destinato a studenti universitari (laurea, laurea magistrale), studenti di dottorato, ricercatori, professori universitari. Partecipanti da ogni indirizzo di studio e facoltà sono benvenuti, nessun pre-requisito è richiesto in termini di preparazione.

Dove: Il laboratorio si svolgerà online. Gli istruttori comunicheranno le informazioni necessarie per connettersi al laboratorio.

Quando: 27-28 gennaio, 3-4 febbraio. Aggiungi l'evento al tuo calendario Google.

Requisiti: I partecipanti devono avere a propria disposizione un computer con sistema operativo Mac, Linux o Windows (l'utilizzo di tablet, Chromebook, etc. non è supportato) sul quale hanno diritti d'amministratore. I partecipanti dovranno avere installato alcuni specifici software prima dell'inizio del laboratorio (per maggiori dettagli, vedere la lista in basso).

Accessibilità: Ci impegniamo ad offrire un ambiente d'apprendimento positivo e aperto a tutti. Non esitate a contattare gli istruttori prima e durante il laboratorio nel caso abbiate bisogni particolari o suggerimenti.

Contatti: Nel caso abbiate domande, contattateci via email a carpentries.italia@gmail.com or martino.sorbaro@posteo.net

Ruoli: Per sapere di più riguardo i ruoli durante il laboratorio (chi fa cosa), visitate le FAQ del laboratorio.


Codice di condotta

Ogni partecipante ad attività Carpentries deve rispettarne il codice di condotta. Nel documento che trovate al link precedente troverete anche indicazioni su come segnalare eventuali incidenti legati al codice di condotta.


Appunti condivisi

A questo link, troverete un documento editabile da tutti i partecipanti che useremo per prendere appunti, interagire, condividere siti web utili e codice.


Questionari

Vi chiediamo cortesemente di rispondere ai due questionari seguenti (prima e dopo il laboratorio).

Pre-workshop Survey

Post-workshop Survey


Programma

Il laboratorio è inteso come un unico corso composto da quattro giornate. Vi preghiamo di non iscrivervi se non siete intenzionati a partecipare a tutte le lezíoni.

Giorno 1 (giovedì 27 gennaio)

Prima Questionario pre-laboratorio
09:00-9:30 Introduzione al laboratorio e a The Carpentries
09:30-11:00 Automatizzazione con la Shell Unix
11:00-11:30 Pausa caffè
11:30-13:00 Automatizzazione con la Shell Unix

Giorno 2 (venerdì 28 gennaio)

09:00-11:00 Controllo di versione con Git e Github
11:00-11:30 Pausa caffè
11:30-13:00 Controllo di versione con Git e Github

Giorno 3 (giovedì 3 febbraio)

09:00-11:00 Programmare con Python
11:00-11:30 Pausa caffè
11:30-13:00 Programmare con Python

Giorno 4 (venerdì 4 febbraio)

09:00-10:30 Creare grafici con Python
10:30-11:00 Pausa caffè
11:00-12:30 Applicazioni avanzate con Python
12:30-13:00 Ritorno d’esperienza sul laboratorio
Dopo Questionario post-laboratorio

Preparazione degli strumenti

Per partecipare in un laboratorio Software Carpentry , è necessario avere accesso ai software descritti più in basso. In più, è necessario avere a disposizione un browser internet aggiornato.

Potete trovare una lista di problemi comuni in fase di installazione, che aggiorniamo regolarmente come riferimento per gli istruttori, alla pagina wiki Problemi e soluzioni di installazione e configurazione.

Installazione del client per videoconferenze

Se non avete usato Zoom in precedenza, visitate il sito ufficiale per scaricare e installare il client Zoom sul vostro computer.

Preparazione del proprio spazio di lavoro

Come nei laboratori Carpentries in presenza, i partecipanti apprendono programmando "insieme" agli istruttori. A questo scopo, avrete bisogno di avere aperte allo stesso tempo la finestra del programma che state imparando (terminale, RStudio, navigatore web, ...) e la finestra della videoconferenza Zoom. Per poter vedere entrambi allo stesso tempo, vi consigliamo una fra le seguenti opzioni:

A questa pagina potete trovare informazioni dettagliate e consigli su come organizzare il proprio schermo per participare al meglio al laboratorio.

Shell testuale Bash

Bash è una shell testuale molto usata che vi dà la possibilità di effettuare operazioni automaticamente e più velocemente.

  1. Scarica l'eseguibile di installazione dal sito Git for Windows.
  2. Avviate l'eseguibile di installazione e seguite passo a passo i punti seguenti:
    1. Premete su "Next" quattro volte (2 volte se avete installato in precedenza Git). Non avete bisogno di cambiare i valori predefiniti nelle schermate "Information", "Location", "Components", "Start menu".
    2. Dal menu a tendina selezionate "Use the Nano editor by default" (ATTENZIONE: dovete scorrere verso l'alto per trovarlo) e premete su "Next".
    3. Sulla schermata che riporta "Adjusting the name of the initial branch in new repositories", assicuratevi che "Let Git decide" sia selezionato. Questa scelta assicura la massima compatibilità per le nostre lezioni.
    4. Assicuratevi che "Git from the command line and also from 3rd-party software" sia selezionato e premete "Next" (altrimenti, Git Bash non funzionerà bene e dovrete rimuovere l'installazione di Git Bash, riavviare l'eseguibile di installazione e selezionare l'opzione "Git from the command line and also from 3rd-party software" option).
    5. Assicuratevi che l'opzione "Use the native Windows Secure Channel Library" sia selezionata e premete su "Next".
    6. Assicuratevi che l'opzione "Checkout Windows-style, commit Unix-style line endings" sia selezionata e premete su "Next".
    7. Assicuratevi che l'opzione "Use Windows' default console window" sia selezionata e premete su "Next".
    8. Assicuratevi che l'opzione "Default (fast-forward or merge)" sia selezionata e premete su "Next".
    9. Assicuratevi che l'opzione "Git Credential Manager Core" sia selezionata e premete su "Next".
    10. Assicuratevi che l'opzione "Enable file system caching" sia selezionata e premete su "Next".
    11. Premete su "Install".
    12. Premete su "Finish" o "Next".
  3. Se la vostra variable d'ambiente "HOME" non è stata aggiornata (o non sapete cosa sia):
    1. Aprite il promtp dei comandi (scrivete cmd nelle barra di ricerca e premete Invio)
    2. Scrivete la seguente linea di codice nel promtp dei comandi esattamente come viene riportata:

      setx HOME "%USERPROFILE%"

    3. Premete Invio, dovreste vedere SUCCESS: Specified value was saved.
    4. Chiudete il prompt dei comandi scrivendo exit e premendo Invio

Alla fine di questa procedura di installazione avrete a disposizione sia Git che Bash nel programma Git Bash.

Video di istruzioni

In alcune versioni di macOS la shell testuale predefinita è Bash. Inoltre Bash è disponibile in tutte le versioni e quindi non vi c'è bisogno di alcuna nuova installazione. Potete accedere attraverso il Terminal (che trovate in /Applications/Utilities). Guardate il video d'istruzioni video d'istruzioni per vedere un esempio di come aprire il Terminal. È una buona idea avere il Terminal nel dock nel corso del laboratorio.

Per verificare il tipo della vostra shell testuale predefinita, aprite il Terminal e scrivete echo $SHELL e premete Invio. Se il messaggio di risposta non finisce con '/bash', allora la vostra shell testuale predefinita è qualcosa di diverso da Bash. Potete eseguire Bash scrivendo nel Terminal bash.

Se volete cambiare la vostra shell testuale predefinita, leggete questo articolo del supporto tecnico Apple e seguite le istruzioni "How to change your default shell".

Video di istruzioni

La shell testuale di default è Bash and normalmente non c'è bisogno di installare altro.

Per verificare se la shell testuale di default è Bash scrivete echo $SHELL in un terminale and premete Invio. Se il messaggio di risposta non termina con '/bash' allora la vostra shell testuale di default non è Bash. Potete utilizzare Bash scrivendo bash.

Git

Git è un sistema di controllo di versione che vi permette di tenere traccia dei cambiamenti fatti su uno o più file, mantenendo un registro accessibile di autore e data della modifica. Git permette anche di modificare e aggiornare una versione condivisa e pubblica del vostro codice attraverso la piattaforma github.com. Per utillizarla avrete bisogno di un un browser internet supportato.

Per alcune sezioni del laboratorio su Git, avrete bisogno di un account su github.com. Un account GitHub "basic" è gratuito. Siete incoraggiati a creare un account Github se non ne avete già uno. Prestate attenzione a quali informazioni personali volete rendere pubbliche. Vi consigliamo di leggere le seguenti istruzioni per mantenere il vostro indirizzo email privato proposte da GitHub.

Per dispositivi macOS, installate Git scaricando e eseguendo la routine di installazione "mavericks" più recente che trovate in questa lista. Dato che questo eseguibile non è firmato dagli sviluppatori, è possibile che avrete bisogno di cliccare col tasto destro del mouse (control click) sul file .pkg, cliccare "Open", e cliccare ancora "Open" nella finestra che apparirà. Dopo l'installazione, Git non apparirà nella cartella /Applications, ma sar` disponibile nel Terminal. Per versioni precedenti di OS X (10.5-10.8), usate l'eseguibile più recente con l'etichetta "snow-leopard" disponibile a questo link.

Video di istruzioni

Se Git non è già disponibile sul vostro dispositivo, potete provare a installarlo attraverso il gestore di pacchetti della vostra distribuzione. Per Debian/Ubuntu, eseguite sudo apt-get install git e per Fedora eseguite sudo dnf install git.

Editor di testo

Per scrivere codice è utile avere a disposizione un editor di testo ottimizzato a questo scopo, con opzioni quali l'utilizzo di un codice-colore per la parole chiave e funzioni del programma in uso. L'editor di testo di default su Mac e Linux è Vim, che non è conosciuto per essere intuitivo soprattutto con programmatori alle prime armi. Se vi ritrovate bloccati dentro una pagina di Vim, premete Esc, seguito da :+Q+! (due punti, 'q' minuscula, punto esclamativo), e infine premete Invio per tornare al terminale.

nano è un editor di testo basico e di semplice utilizzo che gli istruttori utilizzeranno durante il workshop. Viene installato insieme a Git.

nano è un editor di testo basico e di semplice utilizzo che gli istruttori utilizzeranno durante il workshop. Guardate questo video di spiegazione dell'installazione di Git per un esempio di come aprire nano. nano dovrebbe essere pre-installato su dispositivi Mac.

Video Tutorial

nano è un editor di testo basico e di semplice utilizzo che gli istruttori utilizzeranno durante il workshop. Viene installato insieme a Git.

Python

Python è un linguaggio di programmazione molto popolare nell'ambito del calcolo scientifico, analisi dei dati e applicazioni informatiche per la ricerca. Installare singolarmente ogni libreria scientifica a disposizione può essere complicato, vi consigliamo quindi l'installazione "all-in-one" proposta da Anaconda.

Indipendentemente dall'utilizzo di Anaconda, assicuratevi di installare la versione 3.x di Python (come, per esempio, la versione 3.6).

Nel laboratorio utilizzeremo il Jupyter Notebook, un ambiente di programmazione che funziona all'interno del browser internet (Jupyter Notebook viene installato da Anaconda). Perchè funzioni avrete bisogno di un browser aggiornato. Le versioni correnti di Chrome, Safari e Firefox sono tutte supportate (alcuni vecchi browser, incluso Internet Explorer fino alla versione 9, non sono supportati).

  1. Aprite la pagina web https://www.anaconda.com/products/individual#download-section con il vostro navigatore internet.
  2. Scaricate l'eseguibile di installazione "Anaconda for Windows" con Python 3. (Se non siete sicuri quale versione scegliere, provate a selezionare l'eseguibile "64-bit Graphical Installer" Anaconda3-...-Windows-x86_64.exe)
  3. Installate Python 3 avviando l'eseguibile Anaconda. Utilizzate tutte le opzioni predefinite, ad eccezione dell'opzione Add Anaconda to my PATH environment variable che dovrete assicurarvi di selezionare.

Video di istruzioni

  1. Aprite la pagina web https://www.anaconda.com/products/individual#download-section con il vostro navigatore internet.
  2. Scaricate l'eseguibile di installazione Anaconda con Python 3 per macOS (potete anche usare l'interfaccia grafica o la linea di comando).
  3. Installate Python 3 avviando l'eseguibile Anaconda. Utilizzate tutte le opzioni predefinite.

Video di istruzioni

  1. Aprite la pagina web https://www.anaconda.com/products/individual#download-section con il vostro navigatore internet.
  2. Scaricate l'eseguibile di installazione Anaconda con Python 3 per Linux.
    (L'installazione richiede l'uso della shell testuale. Se non vi sentite a vostro agio ad utilizzarla fermatevi qui e chiedete aiuto agli istruttori del laboratorio.)
  3. Aprite una finestra del terminale e navigate fino alla cartella dove l'eseguibile è stato scaricato (per esempio, `cd ~/Downloads`).
  4. Scrivete
    bash Anaconda3-
    e premete Tab per utilizzare la funzione di autocompletamento per trovare il nome completo del file. Dovreste riuscire a trovare il nome del file che avete appena scaricato.
  5. Premete Invio. Seguite solo i prompt di testo. Per muovervi attraverso il testo, premete la barra spaziatrice. Scrivete yes e premete Invio per approvare la licenza d'uso. Premete Invio per approvare la posizione predefinita dei file. Scrivete yes e premete Invio per inserire Anaconda all'inizio del vostro PATH (questo rende Anaconda la distribuzione predefinita di Python).
  6. Chiudete la finestra del terminale.