Laboratorio Software Carpentry

Carpentries Italia in collaborazione con ELIXIR Italy

Online

9-10-16-17 settembre 2021

14:00 - 18:00 (Roma, UTC+1)

Istruttori: Silvia Bonaiuto, Vincenza Colonna, Marco Crotti, Gianluca Damaggio, Luca Di Stasio, Loredana Le Pera, Mariano Mollo, Giuseppe Profiti, Martino Sorbaro, Allegra Via, Lisanna Paladin

Assistenti:

Organizzatori

Il Laboratorio è organizzato da ELIXIR Italy in collaborazione con Carpentries Italia

Vincenza Colonna, ELIXIR - Homepage

Loredana Le Pera, ELIXIR - Homepage

Allegra Via, ELIXIR - Homepage

Registrazione

Il link per registrarsi: modulo registrazione.

Data ultima per la registrazione: 25 Agosto, 2021.

Numero massimo di partecipanti: 20.

I candidati selezionati saranno avvisati entro il 31 Agosto, 2021.

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: 9-10-16-17 settembre 2021. 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 loredanalepera@gmail.com , allegra.via@gmail.com or enza.colonna@gmail.com

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

Giorno 1

Prima di iniziare Questionario pre-laboratorio
14.00 Introduzione al laboratorio e a The Carpentries
14.15 Automatizzazione con la Shell Unix
15.30 Pausa
16.00 Automatizzazione con la Shell Unix
17.30 Fine

Giorno 2

14.00 Controllo di versione con Git e Github
15.30 Pausa
16.00 Controllo di versione con Git e Github
17.30 Fine

Giorno 3

14.00 Programmare con Python
15.30 Pausa
16.00 Programmare con Python
17.30 Fine

Giorno 4

14.00 Creare grafici con Python
15.30 Pausa
16.00 Applicazioni avanzate con Python
17.30 Ritorno d’esperienza sulle giornate e sul workshop
18.00 Fine
Dopo Post-workshop survey

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' minuscola, punto esclamativo), e infine premete Invio per tornare al terminale.

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

nano è un editore 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 editore 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.