Computational Methods for Cultural Studies

A.Y. 2026/2027
9
Max ECTS
60
Overall hours
SSD
INFO-01/A
Language
English
Learning objectives
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.
Expected learning outcomes
-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.
Single course

This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.

Course syllabus and organization

Single session

Responsible
Lesson period
Second semester
Course syllabus
This course conveys a practical introduction to computational approaches for cultural, intellectual, and visual history, centered on an automated image classification task. The course is organized into 3 main modules of roughly 20 hours each. The structure is designed to first provide the necessary programming skills, then build conceptual understanding, and finally apply this knowledge to practical, hands-on applications. Students will be encouraged to connect their computational projects to questions or themes from other courses in the programme, according to their own backgrounds and interests.

PART A: Python Foundations
- Introduction to Jupyter and first programs.
- Core Python programming: variables, conditionals, loops, strings, lists, dictionaries.
- Functions and file operations.
- Using libraries for data handling and visualization (NumPy, Matplotlib).

PART B: Principles of AI and Computer Vision
- Introduction to AI and machine learning in cultural research.
- Image data and datasets: pixels, features, collecting and organizing images.
- Machine learning paradigms: supervised vs. unsupervised.
- From perceptron to artificial neural networks.
- How neural networks learn at a basic level: forward/backward propagation, gradient descent.
- Convolutional Neural Networks (CNNs) and transfer learning.
- Reading accuracy and confusion matrices; case examples in art, history, photography.
- Transfer learning
- Practical experience with user-friendly off-the-shelf AI tools for object classification (e.g., Teachable Machine) and handwritten text recognition (e.g., Transkribus)

PART C: Applied AI and Project Development
- Optional guest lecture on a large-scale cultural data project (TBC).
- Mini proposals: each group presents dataset idea, research question, and labels.
- Building a baseline classifier with PyTorch; simple modifications (augmentation, partial fine-tuning).
- Explainability tools: saliency maps, model interpretation.
- Group work on dataset preparation, model training, evaluation to connect computational practice with a cultural or historical research question.
Prerequisites for admission
No prior background in computer science is required; familiarity with cultural and historical sources (texts, images, artifacts) is expected, since these will inspire the applied projects. Basic mathematical literacy, ie., percentages, averages, reading simple charts, a touch of algebra, is helpful. A general awareness of AI from news or cultural debates is desirable (no technical knowledge assumed). While not mandatory, prior programming, statistics, or everyday digital tools (e.g., Excel, image editing) are welcome. Students should be willing to work in pairs, run guided Jupyter/Colab notebooks, and learn to interpret evaluation metrics. All essential Python will be taught from scratch.
Teaching methods
The course combines instructor-led sessions, where key concepts of artificial intelligence and neural networks are introduced, with guided practice in Python and classification tasks. Lectures and demonstrations will provide the necessary theoretical grounding, while Jupyter/Colab notebooks and case studies will allow students to apply these ideas step by step. As the course progresses, students move from structured exercises to collaborative project work, applying computational methods to cultural and historical materials. Active participation in discussions, pair work, and project development is strongly encouraged, since the course relies on continuous interaction between explanation and practice. Attendance, although not mandatory, is highly recommended to keep pace with both the conceptual and applied components. Students unable to attend are advised to contact the lecturer.
Teaching Resources
- Slides, handouts, scholarly articles provided by the instructor.
- Brian Kokensparger, 2018, Guide to Programming for the Digital Humanities: Lessons for Introductory Python
- Think Python: How to Think Like a Computer Scientist by Allen B. Downey (Second Edition, 2015), covering the key topics discussed in lectures. https://open.umn.edu/opentextbooks/textbooks/43, https://greenteapress.com/wp/think-python-2e/
- A Beginner's Guide to Python 3 Programming by J. Hunt (https://minerva.unimi.it/permalink/39UMI_INST/i9q3jt/alma991017213265306031)
- NumPy (https://numpy.org/) and pandas (https://pandas.pydata.org/) have excellent documentation online.
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning (Adaptive Computation and Machine Learning series), online: https://www.deeplearningbook.org/
- David G. Stork, 2023, Pixels & Paintings: Foundations of Computer-assisted Connoisseurship
Assessment methods and Criteria
For both attending and non-attending students, the overall assessment of the theoretical and applied skills acquired will be based on a final oral examination focusing on learning materials provided (60%), and on the preparation of individual or collective work (40%). Self-assessment tools may be provided to attending students during the course.

The final oral exam consists of an oral discussion, designed to assess the students' understanding of the main concepts introduced during the course, their ability to explain with clarity and to link the different topics and issues addressed, their capacity to analyse case studies with appropriate theoretical tools and critical awareness.
Modules or teaching units
Part A and B
INFO-01/A - Informatics - University credits: 6
Lessons: 40 hours

Part C
INFO-01/A - Informatics - University credits: 3
Lessons: 20 hours

Professor(s)