87945 - SOFTWARE AND COMPUTING FOR NUCLEAR AND SUBNUCLEAR PHYSICS

Anno Accademico 2025/2026

  • Docente: Daniele Bonacorsi
  • Crediti formativi: 6
  • SSD: FIS/01
  • Lingua di insegnamento: Inglese
  • Moduli: Daniele Bonacorsi (Modulo 1) Alessandra Fanfani (Modulo 2) (Modulo 3)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2) Convenzionale - Lezioni in presenza (Modulo 3)
  • Campus: Bologna
  • Corso: Laurea Magistrale in Physics (cod. 6695)

Conoscenze e abilità da conseguire

At the end of the course the student will learn the basic concepts of programming and modern scientific computation, as they are currently used in several physics fields. He/she will have an understanding of the major software development techniques and strategies and an understanding of the various computational frameworks, database, data maintenance and collection. By the end of the course, the student will be able to solve advanced problems in scientific software design for nuclear and subnuclear physics that will be developed as small group projects.

Contenuti

Il corso prevede lezioni frontali e alcune esercitazioni (ovvero attività pratiche su argomenti che possono variare negli anni accademici, in base alla rilevanza tematica in evoluzione nel tempo). Tali attività sono suddivise nei moduli didattici del corso come illustrato nel seguito.

Modulo 1 (Prof. Daniele Bonacorsi)

  • Dal data taking fino alla pubblicazione di un articolo scientifico
  • La dimensione della programmazione: linguaggi di programmazione
  • Attività pratiche su Unix e command-line, Python (e alcune librerie di terze parti molto diffuse), Jupyter, Google Colab(oratory) e altri strumenti
  • La dimensione dei dati: tipi di dati, database, big data, scienza basata su grandi volumi di dati complessi (“data-intensive science”)
  • La dimensione delle risorse computazionali: calcolo distribuito, grid(s), cloud(s), modelli di calcolo in infrastrutture grid e cloud usate in Fisica Nucleare e Subnucleare
  • La dimensione della “data science”: introduzione al Machine Learning (ML) e al Deep Learning (DL), applicazioni dell’Intelligenza Artificiale in Fisica Nucleare e Subnucleare
  • Prospettive future: soluzioni hardware avanzate; panoramica su explainable AI, ethical AI, sustainable AI (green AI); calcolo quantistico e machine learning quantistico (cenni)
  • ESERCITAZIONE: framework ML/DL e architetture di reti neurali

Modulo 2 (Prof.ssa Alessandra Fanfani)

  • Processamento dei dati: introduzione al processamento dei dati in batch, ed elementi di computing distribuito
  • Management dei dati: remote copy, xrootd federation e Rucio
  • ESERCITAZIONE: tecnologie grid

Modulo 3 (Dott. Tommaso Diotalevi)

  • Dal paradigma Grid a quello Cloud (as-a-Service)
  • ESERCITAZIONE: Virtualizzazione, Containerizzazione (Docker) ed Orchestrazione (Kubernetes) di microservizi Cloud-native

Testi/Bibliografia

Dato che la bibliografia per questo genere di corso evolve piuttosto rapidamente nel tempo, al fine di non indicare sul sito riferimenti non aggiornati, un elenco di testi e una bibliografia aggiornata viene fornita agli studenti iscritti durante la prima lezione del corso. Come riportato anche in altra sezione, si ricorda che il materiale didattico usato a lezione è reso interamente disponibile agli studenti in una repository digitale dedicata al corso.

Metodi didattici

La metodologia didattica del corso prevede:

  • Lezioni frontali di tipo tradizionale;

  • Attività su risorse di calcolo remote;

  • Notebook interattivi per le parti di esercitazioni che richiedono scrittura di codice.

Il tutto viene integrato con approcci di didattica innovativa che prevedono anche l'uso di connessione Teams, la fruizione di materiale online (es. video) fino all'organizzazione di esperienze di "didattica invertita" su temi specifici.

Le slide e i notebook utilizzati a lezione, unitamente a ogni altro materiale mostrato in aula, vengono interamente messi a disposizione degli studenti. Le slide delle lezioni frontali, in particolare, vengono fornite agli studenti prima dell'erogazione della lezione corrispondente, facilitando gli studenti nel prendere appunti direttamente sul materiale del corso.

Per le esercitazioni non è garantita la disponibilità di aule con PC, quindi si consiglia di portare il proprio computer portatile. Chi ne fosse sprovvisto deve segnalarlo ai docenti almeno due settimane prima dell’esercitazione.

Modalità di verifica e valutazione dell'apprendimento

L'esame si compone di 3 parti, che contribuiscono al voto finale in modo equo (10 punti ciascuna).

1) PROVA SCRITTA (10 punti su 30).

  • Obiettivo: verificare l'assorbimento e l'elaborazione consapevole e corretta delle nozioni trasmesse nelle lezioni frontali.
  • Partecipazione alla prova: per partecipare a una prova scritta, è obbligatorio iscriversi sul sito Almaesami (almaesami.unibo.it) entro le scadenze fissate, tipicamente alcuni giorni prima della prova stessa.
  • Modalità di erogazione: La prova scritta viene eseguita in presenza: eventuali eccezioni che prevedano la possibilità di partecipare da remoto a una prova scritta tramite il sistema Teams vengono considerate se e solo se ne viene presentata richiesta ai docenti per motivate e documentate ragioni, e se e solo se l’opportuna certificazione che attesta la veridicità dell’impedimento raggiunge il responsabile didattico del corso al più tardi una settimana prima della data prevista per la prova.
  • Descrizione della prova e della sua valutazione: la prova consiste in un test a scelta multipla, erogato con EOL (eol.unibo.it ) o su carta, con una serie di domande di complessità equivalente, ciascuna delle quali assegna un punteggio identico, che è positivo/negativo in caso di risposte corrette/errate (i docenti possono decidere a loro discrezione, in un dato appello o per tutti gli appelli di un anno accademico, di non applicare le penalità). La durata della prova scritta può variare tra minimo 1 ora e massimo 2 ore, a seconda del numero di domande che i docenti scelgono di inserire nella prova e della difficoltà della prova stessa. Si precisa che, per garantire equità ed inclusività, il test non è basato in alcun modo sulla prestazione temporale, ovvero viene lasciato un tempo coerente con il numero di domande, e - in ogni caso - ampiamente sufficiente per riflettere con calma e rispondere a tutte domande del test (almeno 5 minuti per domanda, in media). Durante la prova, è consentito l’uso di calcolatrice, e di ogni tipo di materiale di consultazione in forma cartacea (appunti, libri, dispense, ecc.), compreso il materiale didattico mostrato a lezione e fornito dai docenti; al contrario, non è consentito l’uso di alcun dispositivo/metodo che consenta di comunicare con l’esterno dell’aula (sia con persone sia con strumenti digitali), nonché ogni forma di comunicazione tra studenti/esse in aula durante la prova. La violazione di queste regole determina l’immediato annullamento della prova stessa. La prova scritta si può sostenere ripetutamente, iscrivendosi nuovamente su Almaesami ad appelli successivi, con l’intento di migliorarsi e senza inficiare il voto precedentemente ottenuto: viene infatti sempre tenuto valido il voto migliore ottenuto in prove ripetute da parte dello/a stesso/a studente/essa. Ogni punteggio ottenuto viene considerato valido per un anno solare: se scaduto, lo/a studente/essa deve sottoporsi a una nuova prova scritta.

2) ESERCITAZIONI (10 punti su 30).

  • Obiettivo: Verificare l'assorbimento e l'elaborazione consapevole e corretta delle nozioni trasmesse nelle esercitazioni.
  • Partecipazione alla prova: Non serve segnarsi su Almaesami, le esercitazioni rientrano nel piano di ore del corso.
  • Modalità di erogazione: Questa parte viene attestata “in-itinere”, durante e dopo le esercitazioni stesse.
  • Descrizione della prova e della sua valutazione: Si prevedono 3 esercitazioni (il numero di esercitazioni potrebbe variare, in aumento o in diminuzione, in base alle scelte dei docenti, che sono comunque comunicate alla prima lezione del corso). L'esito di ogni esercitazione produce un punteggio a sé stante, e i punteggi delle esercitazioni totalizzano un massimo di 10 punti. Le esercitazioni non sono strettamente obbligatorie, ma se si è assenti e/o se non si recupera successivamente e non si consegna l'elaborato richiesto a seguito di ogni esercitazione, non si ottiene il punteggio relativo, che non può essere recuperato in alcun modo con le altre parti dell'esame.

    3) PROGETTO (10 punti su 30).

    • Obiettivo: Verificare la capacità di mettere a frutto i contenuti del corso in un progetto (codice).
    • Partecipazione alla prova: Non serve segnarsi su Almaesami.
    • Modalità di erogazione: Il progetto viene scelto dallo/a studente/essa, o sulla base di una propria proposta o selezionato da una lista fornita dai docenti. Deve essere comunicata ai docenti l'intenzione di lavorare a un determinato progetto e una sua sintetica descrizione, e ottenuto il consenso dei docenti a intraprendere il progetto proposto.
    • Descrizione della prova e della sua valutazione: Le modalità di consegna dei progetti e le tempistiche di correzione vengono illustrate nella prima lezione del corso. Il progetto verrà valutato principalmente sulla base di: chiarezza della spiegazione degli obiettivi e dell'approccio seguito per raggiungerli; qualità del codice implementato per raggiungere gli obiettivi; documentazione e presentazione complessiva del progetto. Ogni progetto può essere sottomesso un massimo di 2 volte: dopo la prima sottomissione si riceve feedback e una proposta di punteggio, sulla base dei quali lo/a studente/ssa può decidere se accettare, o se proseguire implementando i commenti nell’ottica di cercare di migliorarsi con una seconda (e ultima) sottomissione; qualora non si accetti il secondo punteggio proposto, non si potrà ripresentare lo stesso progetto una terza volta, ma si dovrà proporre per la prima volta un progetto differente. In presenza di particolari esigenze degli studenti (es. scadenze per borse di studio, scadenze in vista delle sessioni di discussione delle tesi finali, ecc) - tali modalità e tempistiche si possono discutere individualmente con i docenti, che offrono la massima disponibilità a venire incontro alle esigenze degli/delle studenti/esse, nei limiti entro i quali devono restare per garantire un equo trattamento a tutti/e gli/le studenti/esse.

    A fronte di queste tre parti distinte, il massimo punteggio che uno/a studente/essa può ottenere è 10+10+10=30. Un'eventuale lode (30L) viene assegnata a studenti/esse che abbiano ottenuto il massimo in ciascuna delle tre parti dell’esame, e la cui prova complessiva venisse ritenuta dai docenti, all’unanimità, di livello eccellente.

     

    Studenti/sse con DSA o disabilità temporanee o permanenti: si raccomanda di contattare per tempo l’ufficio di Ateneo responsabile (https://site.unibo.it/studenti-con-disabilita-e-dsa/it ): sarà cura dell’ufficio competente proporre agli/lle studenti/esse interessati/e eventuali adattamenti, che dovranno comunque essere sottoposti, con un anticipo di 15 giorni, all’approvazione del/della docente, che ne valuterà l'opportunità anche in relazione agli obiettivi formativi dell'insegnamento.

    Strumenti a supporto della didattica

    Come spiegato nelle sezioni precedenti, vengono utilizzate:

    • slides per le lezioni frontali;
    • materiale audio-visivo;
    • articoli scientifici rilevanti;
    • dispense.

    Tutto il materiale usato a lezione viene messo a disposizione degli/delle studenti/esse in una repository digitale condivisa. Inoltre, nelle modalità didattiche innovative, viene fatto uso di strumenti di videoconferenza come Teams, nonché di strumenti digitali per erogare questionari e verificare l’assorbimento dei contenuti erogati.

    Orario di ricevimento

    Consulta il sito web di Daniele Bonacorsi

    Consulta il sito web di Alessandra Fanfani

    Consulta il sito web di