Computational methods for cultural studies
A.A. 2026/2027
Obiettivi formativi
This course is designed to equip students from humanities backgrounds with a practical understanding and hands-on experience in applying computational methods, particularly automated image classification, to cultural, intellectual, and visual historical research. By balancing fundamental Python programming with core AI and computer vision principles and culminating in applied project development, students will learn to connect theoretical concepts with practical implementation. The objectives focus on developing not only technical skills for data manipulation and model training but also critical thinking to interpret AI results within a historical and cultural context, fostering interdisciplinary insight.
Risultati apprendimento attesi
-Python Fundamentals & Coding Proficiency: Acquire foundational Python programming skills, enabling them to write and understand basic programs. Utilize essential libraries (NumPy, Matplotlib) for effective data handling and visualization in a Colab environment.
-Understand AI & Image Data: Explain core AI/ML principles, differentiate learning paradigms, and describe image data structures for cultural research.
-Grasp Neural Network Basics: Describe how neural networks learn, including forward/backward propagation and gradient descent.
-Build & Train CNNs: Implement and train a basic Convolutional Neural Network (CNN) in PyTorch for image classification.
-Evaluate & Interpret Models: Analyze model performance using metrics like accuracy and confusion matrices and critically interpret AI results in a cultural context.
-Develop Applied Projects: Collaborate on a computational image classification project, connecting it to a cultural or historical research question.
-Understand AI & Image Data: Explain core AI/ML principles, differentiate learning paradigms, and describe image data structures for cultural research.
-Grasp Neural Network Basics: Describe how neural networks learn, including forward/backward propagation and gradient descent.
-Build & Train CNNs: Implement and train a basic Convolutional Neural Network (CNN) in PyTorch for image classification.
-Evaluate & Interpret Models: Analyze model performance using metrics like accuracy and confusion matrices and critically interpret AI results in a cultural context.
-Develop Applied Projects: Collaborate on a computational image classification project, connecting it to a cultural or historical research question.
Periodo: Secondo semestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento può essere seguito come corso singolo.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Secondo semestre
Programma
Il corso offre un'introduzione pratica agli approcci computazionali per la storia culturale, intellettuale e visiva, con particolare attenzione al compito di classificazione automatica delle immagini. È strutturato in 3 moduli principali di circa 20 ore ciascuno. L'organizzazione è pensata per fornire inizialmente le competenze di programmazione necessarie, in seguito costruire la comprensione concettuale, e infine applicare tali conoscenze ad attività pratiche e applicative. Gli studenti saranno incoraggiati a collegare i propri progetti computazionali a domande o temi provenienti da altri corsi del programma, in base ai loro background e interessi.
PARTE A: Fondamenti di Python
- Introduzione a Jupyter e primi programmi.
- Programmazione di base in Python: variabili, strutture condizionali, cicli, stringhe, liste, dizionari.
- Funzioni e operazioni sui file.
- Utilizzo di librerie per la gestione e la visualizzazione dei dati (NumPy, Matplotlib).
PARTE B: Principi di IA e Computer Vision
- Introduzione all'IA e al machine learning nella ricerca culturale.
- Dati e dataset di immagini: pixel, caratteristiche, raccolta e organizzazione delle immagini.
- Paradigmi di machine learning: supervisionato vs. non supervisionato.
- Dal perceptron alle reti neurali artificiali.
- Come apprendono le reti neurali a livello di base: forward/backward propagation, gradient descent.
- Reti neurali convoluzionali (CNN) e transfer learning.
- Lettura di accuracy e matrici di confusione; esempi in arte, storia e fotografia.
- Dimostrazioni con modelli pre-addestrati.
- Esperienza pratica con strumenti di IA pronti all'uso e user-friendly per la classificazione di oggetti (es. Teachable Machine) e il riconoscimento della scrittura manoscritta (es. Transkribus).
PARTE C: IA applicata e sviluppo del progetto
- Lezione ospite facoltativa su un progetto di dati culturali su larga scala (da confermare).
- Mini-proposte: ogni gruppo presenta l'idea di dataset, la domanda di ricerca e le etichette.
- Costruzione di un classificatore di base con PyTorch; semplici modifiche (augmentation, fine-tuning parziale).
- Strumenti di explainability: saliency maps, interpretazione del modello.
- Lavoro di gruppo sulla preparazione del dataset, addestramento del modello ed evaluation per collegare la pratica computazionale a una domanda di ricerca culturale o storica.
PARTE A: Fondamenti di Python
- Introduzione a Jupyter e primi programmi.
- Programmazione di base in Python: variabili, strutture condizionali, cicli, stringhe, liste, dizionari.
- Funzioni e operazioni sui file.
- Utilizzo di librerie per la gestione e la visualizzazione dei dati (NumPy, Matplotlib).
PARTE B: Principi di IA e Computer Vision
- Introduzione all'IA e al machine learning nella ricerca culturale.
- Dati e dataset di immagini: pixel, caratteristiche, raccolta e organizzazione delle immagini.
- Paradigmi di machine learning: supervisionato vs. non supervisionato.
- Dal perceptron alle reti neurali artificiali.
- Come apprendono le reti neurali a livello di base: forward/backward propagation, gradient descent.
- Reti neurali convoluzionali (CNN) e transfer learning.
- Lettura di accuracy e matrici di confusione; esempi in arte, storia e fotografia.
- Dimostrazioni con modelli pre-addestrati.
- Esperienza pratica con strumenti di IA pronti all'uso e user-friendly per la classificazione di oggetti (es. Teachable Machine) e il riconoscimento della scrittura manoscritta (es. Transkribus).
PARTE C: IA applicata e sviluppo del progetto
- Lezione ospite facoltativa su un progetto di dati culturali su larga scala (da confermare).
- Mini-proposte: ogni gruppo presenta l'idea di dataset, la domanda di ricerca e le etichette.
- Costruzione di un classificatore di base con PyTorch; semplici modifiche (augmentation, fine-tuning parziale).
- Strumenti di explainability: saliency maps, interpretazione del modello.
- Lavoro di gruppo sulla preparazione del dataset, addestramento del modello ed evaluation per collegare la pratica computazionale a una domanda di ricerca culturale o storica.
Prerequisiti
Non è richiesta alcuna precedente conoscenza di informatica; è invece auspicabile una familiarità con fonti culturali e storiche (testi, immagini, manufatti), poiché esse costituiranno l'ispirazione per i progetti applicativi. È utile una alfabetizzazione matematica di base, vale a dire percentuali, medie, lettura di grafici semplici e un minimo di algebra. È auspicabile una conoscenza generale dell'intelligenza artificiale derivata da notizie o dibattiti culturali (non sono richieste competenze tecniche). Pur non essendo obbligatoria, un'esperienza pregressa di programmazione, statistica o l'uso di strumenti digitali quotidiani (ad es. Excel, fotoritocco) può essere utile. Gli studenti dovranno essere disposti a lavorare in coppia, a seguire notebook guidati in Jupyter/Colab e a imparare a interpretare metriche di valutazione. Tutti gli elementi essenziali di Python saranno insegnati a partire da zero.
Metodi didattici
Il corso combina momenti a conduzione del docente, in cui vengono introdotti i concetti chiave di intelligenza artificiale e reti neurali, con un'ampia pratica guidata in Python e compiti di classificazione. Le lezioni e le dimostrazioni forniranno il necessario inquadramento teorico, mentre notebook in Jupyter/Colab e case study consentiranno agli studenti di applicare passo dopo passo le nozioni acquisite. Con il progredire del corso, gli studenti passeranno da esercizi strutturati a lavori di progetto collaborativi, applicando i metodi computazionali a materiali culturali e storici. È fortemente incoraggiata la partecipazione attiva a discussioni, lavori di coppia e sviluppo dei progetti, poiché il corso si basa sulla continua interazione tra spiegazione e pratica. La frequenza, sebbene non obbligatoria, è vivamente raccomandata per mantenere il passo sia con la parte concettuale che con quella applicativa. Gli studenti impossibilitati a frequentare sono invitati a contattare il docente.
Materiale di riferimento
- Slides, handouts, scholarly articles provided by the instructor.
- Brian Kokensparger, 2018, Guide to Prog
- Brian Kokensparger, 2018, Guide to Prog
Modalità di verifica dell’apprendimento e criteri di valutazione
Per gli studenti frequentanti e non frequentanti, la valutazione complessiva delle competenze teoriche e applicative acquisite si baserà su un esame orale finale relativo ai materiali didattici forniti (60%) e sulla preparazione di un lavoro individuale o collettivo (40%). Durante il corso potranno essere messi a disposizione degli studenti frequentanti strumenti di autovalutazione.
L'esame orale finale consiste in una discussione orale volta a valutare la comprensione da parte degli studenti dei principali concetti introdotti durante il corso, la loro capacità di esporli con chiarezza e di collegare i diversi temi e questioni affrontati, nonché la loro capacità di analizzare casi di studio mediante strumenti teorici appropriati e con consapevolezza critica.
L'esame orale finale consiste in una discussione orale volta a valutare la comprensione da parte degli studenti dei principali concetti introdotti durante il corso, la loro capacità di esporli con chiarezza e di collegare i diversi temi e questioni affrontati, nonché la loro capacità di analizzare casi di studio mediante strumenti teorici appropriati e con consapevolezza critica.
Moduli o unità didattiche
Part A and B
INFO-01/A - Informatica - CFU: 6
Lezioni: 40 ore
Part C
INFO-01/A - Informatica - CFU: 3
Lezioni: 20 ore
Docente/i