Install the app

Install this application on your home screen for quick and easy access when you’re on the go.

Just tap Share then “Add to Home Screen”


Install the app

Install this application on your home screen for quick and easy access when you’re on the go.

Just tap Share then “Add to Home Screen”

Back to Panel Details
Back to Panel Details

Python Programming for Social Scientists

Orsolya Vasarhelyi

University of Warwick

Orsolya is a postdoctoral fellow at the University of Warwick, Center for Interdisciplinary Research.

Her research focuses on the gender differences in career development in project-based environments.

She is a Python enthusiast!

Twitter @Orsi_Vasarhelyi

Course Dates and Times

Monday 15 ꟷ Friday 19 March 2021
2 hours of live teaching per day

Prerequisite Knowledge

Basic statistical knowledge, no programming experience needed.

Short Outline

This course provides a highly interactive online teaching and learning environment, using state of the art online pedagogical tools. It is designed for a demanding audience (researchers, professional analysts, advanced students) and capped at a maximum of 16 participants so that the teaching team (the Instructor plus one highly qualified Teaching Assistant) can cater to the specific needs of each individual.

Purpose of the course

Python is the most popular programming language of data science, used in natural language processing, machine learning, and artificial intelligence. This five-day Python programming course is designed for social scientists who would like to conduct data collection, analysis and modelling with Python. 

The course focuses on hands-on exercises and practical tips to help you start your journey in the world of Python. Since this course covers a wide variety of topics, you are required to complete homework after class from Monday to Thursday.

ECTS Credits

3 credits Engage fully with class activities
4 credits Complete a post-class assignment

Long Course Outline

Day 1

Introduction to Python and Jupyter Notebook
Learn how to operate Jupyter Notebooks, through Google Colab. We also cover different data types in Python, loops, and conditions.
Homework: Set of programming games

Day 2

Data collection I – Web scraping
Python is a popular language to extract data from the internet. Learn how to extract data from semi-structured websites and save the results into .xlsx and .csv files.
Homework: Scraper for a pre-defined website

Day 3

Data collection II – API
Most social media sites such as Facebook and Twitter, and Wikipedia, allow scientists to collect publicly available data from their services through Application Programming Interfaces: APIs. Learn how to use APIs, (understanding the documentation, parsing json files), and collect and save data from Spotify.
Homework: Collecting data with the Wikipedia API

Day 4

Data Analysis I – Data analysis with pandas and introduction to data visualisation
We introduce the basic data analysis toolkit of Python (Pandas, Matpotlib, Seaborn). You will work in groups to analyse a pre-defined database, then present your findings to the class.
Homework: Exploratory Data Analysis with visualisations on a pre-defined data set

Day 5

Data Analysis II – Statistical modelling
How to conduct statistical modelling in Python focusing on the two most popular libraries: Statsmodels (great for regressions, and statistical tests), Scipy (performs machine learning).

How the course will work online

Introductory pre-recorded videos and required readings (mainly documentation of the libraries) will help you prepare for classes. The first half of each class will focus on introducing new materials, then you will code, either alone or in groups, with live support from the instructor and Teaching Assistant. 

Homework assignments on Days 1–4 will deepen your knowledge of each topic. Your homework will be checked by the Instructor and TA, and you can book one-to-one meetings with the Instructor to discuss it.

Additional Information


This course description may be subject to subsequent adaptations (e.g. taking into account new developments in the field, participant demands, group size, etc). Registered participants will be informed in due time.

Note from the Academic Convenors

By registering for this course, you confirm that you possess the knowledge required to follow it. The instructor will not teach these prerequisite items. If in doubt, contact the instructor before registering.