Dettaglio insegnamento

LABORATORIO DI PROGRAMMAZIONE E ANALISI DATI

ST0200

Insegnamento
LABORATORIO DI PROGRAMMAZIONE E ANALISI DATI
Codice
ST0200
Anno Accademico
2026/2027
Anno regolamento
2024/2025
Corso di studio
CHIMICA VERDE
Curriculum
A001 - GENERICO
Responsabile didattico
Docenti
CFU
6
Ore di lezione
48
Settore Scientifico Disciplinare (SSD)
INFO-01/A - Informatica
Tipo di insegnamento
Attività formativa monodisciplinare
Fruizione insegnamento
OPZ - Opzionale
Anno
3
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. Le competenze del corso saranno sviluppate 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 e PyFirmata. 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, 2024
Obiettivi formativi
L'insegnamento si propone il raggiungimento dei seguenti obiettivi formativi:
1. Implementare autonomamente programmi funzionanti in Python su Jupyter Notebook a partire da specifiche assegnate, applicando approcci algoritmici alla risoluzione di semplici problemi, utilizzando strumenti come strutture di controllo, funzioni e strutture dati, e individuando e correggendo eventuali errori nel codice.

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 statistiche descrittive, proponendo e creando visualizzazioni appropriate in Python.

Per il raggiungimento di tali obiettivi il corso prevede attività laboratoriali che integrano Didattica Erogativa (DE) e Didattica Interattiva (DI) all'interno delle medesime unità didattiche, senza una distinzione dei CFU tra le due modalità.
Prerequisiti
Non ci sono prerequisiti
Metodi didattici
Didattica Erogativa e 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 loro interpretazione 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 consiste in una prova scritta individuale svolta in laboratorio, mediante Jupyter Notebook. La prova comprende tre esercizi pratici, relativi ai principali ambiti dell'insegnamento: (1) programmazione in Python, (2) Arduino e acquisizione dati, (3) analisi e visualizzazione dei dati. Gli esercizi prevedono sia attività di implementazione, modifica e correzione di codice, sia quesiti a risposta aperta.

1. Programmazione in Python – 15 punti
A partire da una specifica assegnata, occorre progettare e implementare un programma funzionante in Python, utilizzando le principali tecniche di programmazione affrontate durante il corso (strutture di controllo, funzioni, strutture dati, ecc.). L'esercizio verifica la conoscenza e comprensione dei principi di base della gestione dei sensori e della raccolta dati mediante Arduino e PyFirmata e la capacità di applicarli nella configurazione di un semplice processo di acquisizione dati, individuando e correggendo eventuali errori.

2. Arduino e acquisizione dati – 10 punti
Occorre completare, correggere o tradurre uno Sketch Arduino o PyFirmata e, ove richiesto, analizzare un semplice circuito e descrivere il funzionamento del codice attraverso quesiti a risposta aperta e commenti alle istruzioni. L'esercizio verifica la conoscenza dei principi di base della gestione dei sensori e dell'acquisizione dati, nonché la capacità di applicarli nella configurazione e nella gestione di un semplice sistema di acquisizione.

3. Analisi e visualizzazione dei dati – 5 punti
A partire da un dataset o caso di studio reale, occorre effettuare un'analisi dei dati utilizzando principalmente Pandas e Matplotlib e le tecniche di statistica e regressione affrontate durante il corso, selezionando e realizzando visualizzazioni appropriate e interpretando i risultati ottenuti. L'esercizio verifica la capacità di selezionare e applicare tecniche di analisi appropriate alle caratteristiche dei dati e agli obiettivi dell'analisi, nonché di presentare e interpretare i risultati attraverso rappresentazioni grafiche e quesiti a risposta aperta.

Nel complesso, la capacità di apprendere e applicare autonomamente le conoscenze acquisite a problemi non direttamente trattati durante il corso è valutata attraverso esercizi e quesiti che richiedono di selezionare tecniche e strumenti appropriati, individuare e correggere errori e, ove necessario, consultare autonomamente la documentazione.

La valutazione tiene conto della correttezza, completezza e autonomia nello svolgimento, nonché della capacità di motivare le scelte e interpretare i risultati. Per il superamento dell'esame, si deve dimostrare di conoscere e comprendere i concetti fondamentali del corso e di saperli applicare ai problemi proposti, riconoscendo e correggendo eventuali errori e descrivendo le procedure e i risultati ottenuti.

18–22 punti (livello sufficiente): dimostra la conoscenza dei concetti fondamentali e una capacità di applicarli ai problemi proposti. Gli esercizi sono sostanzialmente corretti, con eventuali errori o incompletezze, e i risultati principali sono correttamente interpretati.

23–26 punti (livello buono): dimostra una conoscenza più ampia dei contenuti e una buona capacità di applicarli autonomamente. Gli esercizi sono svolti con buona correttezza e completezza, mostrando capacità di individuare e correggere errori, motivare le scelte e interpretare i risultati.

27–30 punti (livello ottimo/eccellente): dimostra una conoscenza completa e approfondita e un'elevata autonomia nell'applicazione delle competenze acquisite. Gli esercizi sono svolti in modo corretto e completo, con capacità di effettuare e motivare scelte appropriate, correggere autonomamente eventuali errori e interpretare criticamente i risultati.

Il punteggio massimo è 30 punti. Fino a 2 punti aggiuntivi possono essere attribuiti per la lode, sulla base della qualità dello svolgimento, della programmazione e del livello di autonomia dimostrato.
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 ad Arduino: IDE e TinkerCad, Struttura di uno Sketch, Digital I/O, Serial Monitor, Analog I/O, Raccolta dati da Sensori.
- Introduzione all’analisi dati: statistica descrittiva, visualizzazione dati (con pandas e matplotlib)
Risultati di apprendimento attesi
Conoscenza e comprensione:
Identificare e spiegare i principi e le tecniche di base della programmazione in Python e dell'utilizzo di Jupyter Notebook; descrivere i principali metodi di analisi statistica ed esplorativa dei dati, incluse le statistiche descrittive, l'analisi delle relazioni tra variabili, la regressione lineare e la visualizzazione dei dati; descrivere i principi di base della gestione dei sensori e della raccolta dati mediante Arduino e PyFirmata.

Applicazione di conoscenza e comprensione:
A partire da un problema informatico di base, progettare, implementare un programma Python funzionante ed eseguirlo in Jupyter Notebook, utilizzando correttamente strutture di controllo, funzioni e strutture dati, e individuando e correggendo eventuali errori nel codice. A partire da un problema di acquisizione dati da sensori, configurare il processo di raccolta dati mediante Arduino, realizzando o modificando il relativo Sketch, compilandolo ed eseguendolo, e acquisendo i dati mediante Python e PyFirmata. A partire da un caso di studio reale, condurre un'analisi esplorativa dei dati, selezionando, calcolando e interpretando statistiche descrittive, analizzando le relazioni tra variabili e, ove appropriato, applicando la regressione lineare, nonché progettando e realizzando visualizzazioni coerenti con le caratteristiche dei dati e gli obiettivi dell'analisi.

Abilità comunicative:
Descrivere e motivare le principali scelte effettuate nella progettazione e implementazione di programmi Python e nella realizzazione di semplici sistemi di acquisizione dati con Arduino; presentare i risultati dell'analisi dei dati attraverso opportune rappresentazioni grafiche e interpretarli in relazione agli obiettivi dell'analisi.

Capacità di apprendimento:
Affrontare autonomamente semplici problemi non direttamente trattati durante il corso, selezionando le tecniche e gli strumenti appropriati tra quelli acquisiti in Python, Arduino e nell'analisi dei dati, e consultando autonomamente la documentazione necessaria per implementare e verificare la soluzione.

Livelli di conseguimento:
- Per il conseguimento di un livello minimo, occorre dimostrare di saper applicare le conoscenze e le tecniche di base acquisite durante il corso per risolvere problemi analoghi a quelli affrontati nelle attività didattiche, con un adeguato supporto della documentazione e, ove necessario, del docente.

- Per il conseguimento di un livello avanzato, occorre dimostrare di saper applicare autonomamente le conoscenze acquisite a problemi non direttamente trattati durante il corso, selezionando e integrando in modo appropriato tecniche e strumenti di programmazione, acquisizione e analisi dei dati, e motivando le principali scelte effettuate.
Ultimo aggiornamento:21-10-2026 00:13:19