Please note: This course will be taught online only.

Marco Steenbergen has been a professor of political methodology at the University of Zurich since 2011. Prior to that, he held appointments at the University of Bern, the University of North Carolina at Chapel Hill, and Carnegie Melon University. Marco’s research covers methodology, as well as political psychology. He has published several books and articles in these areas. His current research focuses on electoral consideration sets, cleavages and identities, and new forms of political participation.

Catarina is a doctoral candidate at the Chair for Political Methodology under Prof. Dr. Marco Steenbergen’s supervision and is working on the project “Large-Scale Political Participation: Issue Identification, Deliberation, and Co-creation”. She received a master’s degree in International Studies, with a focus on political polarization in text-as-data, from ISCTE (Portugal) in 2022. She has an engineering background with a bachelor’s and master’s degree in Biomedical Engineering from IST (Portugal) and the University of Twente (Netherlands). In addition to her studies, she worked as a Data Scientist in the industry and as an assistant professor of data mining, machine learning, and deep learning at ISEG University (Portugal). Her main interests are in the areas of political representation, deliberative democracy, and computational social science.

Course Content

Are you curious about how tools like ChatGPT, BERT, and image recognition apps actually work?
This course is your invitation to pull back the curtain on deep learning—and learn how to use it yourself.

Designed for social scientists and beginners in AI, this hands-on course introduces you to the powerful world of deep learning for text and image data, with a strong focus on practical understanding and application. No advanced math or computer science background required—just curiosity and a willingness to experiment.

You’ll start by learning the basics of Python programming and the key ideas behind deep learning. From there, we’ll dive into the two biggest breakthroughs in the field:

  • Convolutional Neural Networks (CNNs) – the workhorses of image classification
  • Transformers and Embeddings – the foundation of tools like ChatGPT and BERT

Throughout the course, you’ll:

  • Build your own text and image classifiers from scratch
  • Apply powerful pre-trained models through transfer learning
  • Learn how to fine-tune models for your own data
  • Understand what’s going on “under the hood” so you can adapt models—not just run them

You’ll work in small groups and get personalized guidance from expert instructors as you write code, experiment with real data, and explore what deep learning can do in the social sciences.

Whether you’re interested in political speech analysis, survey text, protest photos, or video content, this course will give you both the skills and confidence to make deep learning part of your research toolkit.

Course Objectives

    1. To learn the basic principles of Python programming.
    2. To learn the foundations of deep learning, including activation functions, network topologies, computational graphs, and optimization.
    3. To learn the most common deep learning algorithms for text analysis.
    4. To learn the most common deep learning algorithms for vision.
    5. To lay a solid foundation in deep learning that allows you to keep up in a rapidly changing field.

Course Prerequisites

Prior knowledge of Python is not required; the course will teach the basic essential skills. However, prior familiarity with analyzing data (preferably using R) is a must. Additionally, having had prior exposure to machine learning and its validation strategies is highly recommended.

Required textbook

Chollet, François. 2021. Deep Learning with Python. Shelter Island, NY: Manning Publications. 2nd edition. ISBN: 978-1-61729-686-4. (This booked will be provided by ESS.)

Software

This course will be taught using Python. We will be working in the cloud using the Google Colab. In that way, there is less risk of over-burdening your own computer.

Background knowledge required:

Maths:

Calculus – Elementary

Linear Regression – Elementary

Statistics:

OLS – Elementary

Maximum Likelihood – Elementary

Software:

Python  – Elementary

R – Moderate

 

 

 

SOFTWARE

This course will be taught using Python. We will be working in the cloud using the Google Colab. In that way, there is less risk of over-burdening your own computer.

DAILY SCHEDULE

Monday

10.00-10.45          Theory: Introduction to deep learning.

10.45-13 .00          Practice: Setting up Google Colab; basic Python skills.

13.00.-14.00         Lunch.

14.00-16.00          Practice: Advanced Python skills.

16.00-17.45          Practice: Data wrangling with Python.

Tuesday

10.00-13.00          Theory: Multi-layer perceptrons (MLPs); tensors; computational graphs.

13.00-14.00          Lunch.

14.00-15.30          Theory: Optimization and backpropagation.

15.30-17.45          Practice: MLPs.

Wednesday

10.00-11.00          Theory: Visual data.

11.00:13.00          Convolutional neural networks (CNNs) I.

13.00-14.00          Lunch.

14.00-15.00          CNNs II.

15.00-17.45          Practice: CNNs with image data, including data preparation.

Thursday

10.00-11.00          Theory: Text data.

11.00-13.00          Theory: Embeddings (Glove).

13.00-14.00          Lunch.

14.00-16.00          Practice: Embeddings (Glove).

16.00-17.45          Theory: Transformers I.

Friday

10.00-11.30          Theory: Transformers II.

11.30-13.00          Practice: Transformers I.

13.00-14.00          Lunch.

14.00-16.00          Practice: Transformers II.

16.00-17.45          Recent developments.