Dettaglio insegnamento

LABORATORIO DI PROGRAMMAZIONE E ANALISI DATI

MF0711

Insegnamento
LABORATORIO DI PROGRAMMAZIONE E ANALISI DATI
Codice
MF0711
Anno Accademico
2024/2025
Anno regolamento
2024/2025
Corso di studio
FISICA APPLICATA
Curriculum
000 - 000-GENERICO
Responsabile didattico
Docenti
CFU
6
Ore di lezione
48
Settore Scientifico Disciplinare (SSD)
INF/01 - INFORMATICA
Tipo di insegnamento
Attività formativa monodisciplinare
Fruizione insegnamento
OBB - Obbligatoria
Anno
1
Periodo
Primo Semestre
Sede
VERCELLI
Lingua insegnamento
Italiano
Contenuti
Il corso introduce la programmazione con Python, con applicazioni pratiche per eseguire analisi esplorative e statistiche dei dati. La parte di programmazione del corso è completata dall'introduzione di Arduino e del suo IDE per gestire e raccogliere dati dai sensori. Gli studenti svilupperanno le competenze del corso attraverso sessioni pratiche al computer, orientate ad acquisire competenze in:
1. Programmazione con Python e utilizzo di Jupyter Notebooks
2. Programmazione e gestione di sensori con l'IDE di Arduino e simulazioni con TinkerCad.
3. Tecniche di analisi statistica ed esplorativa dei dati (applicate a casi di studio del mondo reale), tra cui:
1. Visualizzazione dei dati (grafici a dispersione, istogrammi, ecc.)
2. Statistiche descrittive e incertezze (media, varianza, deviazione standard, ecc.)
3. Correlazioni tra osservabili e regressione lineare
Testi di riferimento
Tutti i materiali necessari sono messi a disposizione tramite DIR.

Testo di supporto (Facoltativo):
Il manuale di Arduino, P. Aliverti, Ed. LSWR
Obiettivi formativi
1. Programmare in modo efficace in Python e utilizzare i Jupyter Notebook sapendo identificare le tecniche informatiche adeguate, progettare algoritmi ed implementare programmi per la risoluzione di problemi di programmazione di base e per l'analisi e la visualizzazione dei dati.
2. Gestire sensori tramite l'IDE di Arduino e il simulatore TinkerCad, essendo in grado di comprendere e spiegare il funzionamento dei componenti principali di un circuito e del relativo Sketch di Arduino, assemblare e testare circuiti semplici e raccogliere e analizzare dati dai sensori.
3. Analizzare dataset reali, calcolando ed interpretando le statistiche descrittive, proponendo e creando visualizzazioni appropriate.
4. Essere in grado di esaminare, confrontare, e modificare determinate visualizzazioni per migliorare la comprensione e la presentazione dei dati.
Prerequisiti
Non ci sono prerequisiti
Metodi didattici
Didattica Interattiva in laboratorio che mescola momenti di didattica frontale e apprendimento attivo.
Durante i momenti di didattica frontale, vengono esposte le nozioni fondamentali, corredate di esempi. Vengono introdotte le basi della programmazione e visualizzazione in Python, e la programmazione di Arduino. Durante i momenti di apprendimento attivo, la classe viene guidata nella creazione di algoritmi per la soluzione di problemi e nella loro implementazione in Python, nell’attuazione di tecniche di analisi dati tramite statistiche descrittive e la creazione di visualizzazioni in Python e nella simulazione di circuiti e relativa programmazione in Arduino. Sulla piattaforma DIR viene messo a disposizione il materiale, che ricalca gli argomenti trattati a lezione, esercizi aggiuntivi, ed eventuale materiale di approfondimento, risultando di aiuto anche in caso di assenza.
Altre informazioni
Le persone con disabilità o con Disturbi Specifici dell’Apprendimento (DSA) o con Bisogni Educativi Speciali (BES) possono richiedere servizi e strumenti specifici a loro dedicati rivolgendosi allo Staff Sviluppo e Coordinamento Carriere e Servizi alle Studentesse e agli Studenti e consultando la pagina dedicata del sito di Ateneo: https://uniupo.it/it/servizi/servizi-studenti-disabili-e-dsa

Le persone con disabilità, DSA, BES, una volta preso contatto con lo Staff di Ateneo, possono contattare la docente titolare dell'insegnamento in relazione alla declinazione delle modalità di esame, in merito agli aspetti didattici.
Modalità di verifica dell'apprendimento
La valutazione finale viene stabilita tenendo conto delle conoscenze e competenze acquisite da chi sostiene l'esame, verificate attraverso la soluzione a esercizi pratici sui tre argomenti principali del corso: 1) Programmazione in Python, 2) Arduino, e 3) Analisi Dati. L’esame prevede quindi un minimo di 3 esercizi includendo l’implementazione di un programma in Python, un caso pratico di analisi dati e loro visualizzazione in Python, e l’analisi di circuiti e Sketch di Arduino.

La votazione finale tiene conto dei risultati parziali ottenuti negli esercizi sui tre argomenti e, data la centralità della programmazione nel corso, occorre raggiungere una soglia minima in questa componente. In particolare, l'esercizio di programmazione vale 15 punti, quello di Arduino 10, e quello di analisi dati 5 (piú 2 punti assegnati nei diversi esercizi per il raggiungimento della lode). Per raggiungere la sufficienza occorre totalizzare 18 punti, di cui almeno 8 nell'esercizio di programmazione. Lo svolgimento corretto di tutti gli esercizi permette di raggiungere il punteggio di 30 e lode.
Programma esteso
- Introduzione alla programmazione: Python e Jupyter Notebooks.
- Programmazione in Python: Variabili e tipi, Strutture di Controllo, Funzioni e interfacce, Strutture dati (Liste, Tuple, Dizionari, etc.), File e Dataframe
- Introduzione all’analisi Dati: statistica descrittiva, visualizzazione dati (con matplotlib)
- Introduzione ad Arduino: IDE e TinkerCad, Struttura di uno Sketch, Digital I/O, Serial Monitor, Analog I/O, Raccolta dati da Sensori.
Risultati di apprendimento attesi
- Conoscenza e comprensione: Acquisizione delle tecniche di programmazione di base in Python (e Jupyter Notebooks); padronanza delle tecniche di base di analisi statistica ed esplorativa dei dati, comprese statistiche descrittive, rappresentazione delle relazioni tra variabili, analisi di regressione lineare e visualizzazione dei dati; acquisizione di tecniche di base per gestire sensori e raccolta dati dai sensori utilizzando Arduino.

- Applicazione di conoscenza e comprensione: Dato un problema informatico, si deve essere in grado di risolverlo, progettando e implementando un corrispondente programma Python ed eseguendolo. Dato un problema di raccolta dati del sensore, si deve essere in grado di impostare il processo di raccolta dati scrivendo il corrispondente Sketch di Arduino, compilandolo ed eseguendolo. Dato un caso di studio reale, si deve essere in grado di eseguire una fase completa di analisi esplorativa dei dati, selezionando le statistiche appropriate e le tecniche di analisi dei dati e progettando e creando le corrette visualizzazioni dei dati.

- Abilità comunicative: Descrivere, discutere e interpretare programmi, dati e le loro visualizzazioni

- Capacità di apprendimento: acquisizione di una sufficiente padronanza 1) della programmazione scientifica con Python, 2) della gestione dei sensori con Arduino e 3) dell'analisi esplorativa e statistica dei dati.
Ultimo aggiornamento:09-09-2026 00:14:31