Syllabus del corso
Obiettivi formativi
Il laboratorio introduce le basi della programmazione in Python e il suo utilizzo nel contesto delle scienze sociali. Al termine del corso gli studenti saranno in grado di:
- comprendere le logiche fondamentali del linguaggio Python (strutture, oggetti, flussi di controllo);
- leggere, interpretare e modificare codice esistente;
- scrivere semplici script per la gestione e trasformazione dei dati;
- utilizzare strumenti per l’acquisizione, organizzazione e analisi di dati (es. API e dataset strutturati);
- comprendere il ruolo della programmazione all’interno del processo di ricerca sociale, dalla raccolta all’analisi e visualizzazione dei dati;
- individuare strumenti e strategie per la risoluzione di errori, anche tramite risorse online e supporto di strumenti di AI;
- acquisire consapevolezza di base su etica, privacy, proprietà e uso del dato, incluse pratiche di anonimizzazione e pseudonimizzazione;
- sviluppare una prima comprensione delle possibilità di analisi avanzate e della gestione di dati complessi e di diversa natura.
Contenuti sintetici
Il laboratorio è articolato in due parti:
- Introduzione a Python: logiche di base del linguaggio, ambiente di sviluppo, sintassi, strutture dati e debugging.
- Python per la ricerca sociale: acquisizione, gestione e analisi dei dati, con attenzione al rapporto tra programmazione e processo di ricerca, secondo un approccio integrato tra metodi quantitativi e qualitativi.
Programma esteso
Introduzione alla programmazione e agli ambienti di lavoro (es. Google Colab)
- Strutture fondamentali di Python:
- variabili, tipi di dati, operatori
- strutture di controllo (if, loop)
- funzioni di base
- Lettura e comprensione del codice; gestione degli errori e debugging
- Uso di risorse online per la risoluzione di problemi (documentazione, forum, strumenti di AI)
Python per la ricerca sociale
- Organizzazione del lavoro e struttura degli script
- Raccolta dei dati: accesso a dati tramite API e risorse web
- Preparazione dei dati:
- lettura di dati grezzi
- pulizia, trasformazione e ristrutturazione
- Esplorazione e analisi dei dati (introduzione a librerie come Pandas, NumPy)
- Elementi base di analisi dei dati (descrittiva e introduttiva)
- Visualizzazione dei dati (es. Matplotlib/Seaborn)
- Introduzione alle potenzialità di utilizzo di Python per analisi avanzate e specifiche, con riferimento alla gestione di dati complessi, eterogenei e a diversi ambiti applicativi
- Sviluppo di un semplice progetto applicato:
- definizione del problema
- raccolta e analisi dei dati
- presentazione dei risultati
Prerequisiti
Non è richiesta alcuna conoscenza pregressa di programmazione. È richiesta una familiarità di base con l’uso del computer e dei principali strumenti digitali.
Metodi didattici
Il laboratorio alterna:
- brevi lezioni frontali introduttive;
- esercitazioni guidate;
- lavoro autonomo in aula con supporto del docente.
L’attività è fortemente orientata alla pratica. Gli studenti lavoreranno prevalentemente in modo individuale ma collaborativo. È previsto lo sviluppo progressivo di un progetto applicato durante il corso.
Modalità di verifica dell'apprendimento
La valutazione è espressa in termini di idoneità/non idoneità e si basa su:
- partecipazione attiva alle attività in aula;
- svolgimento delle esercitazioni;
- realizzazione di un breve progetto finale sviluppato in itinere e valutato in base alla coerenza del processo (raccolta, gestione e analisi dei dati) e alla capacità di utilizzare gli strumenti introdotti.
Testi di riferimento
Il corso utilizza esclusivamente materiali open access (tutorial, documentazione online, repository e notebook), che verranno indicati e discussi durante lo svolgimento delle lezioni.
Scheda del corso
Staff
-
Flavio Piccoli