Module and Programme Catalogue

Search site

Find information on

This module is inactive in the selected year. The information shown below is for the academic year that the module was last running in, prior to the year selected.

2019/20 Undergraduate Module Catalogue

PIED3702 Introduction to Programming for Social Science

20 creditsClass Size: 15

Module manager: Dr Viktoria Spaiser

Taught: Semester 2 (Jan to Jun) View Timetable

Year running 2019/20

Pre-requisite qualifications

PIED2711 Analysing Data in Politics, Development and International Relations
LUBS 2570 Introduction to Econometrics


LUBS2570Introduction to Econometrics
PIED2711Analysing Data in Politics, Development and International Re

This module is approved as a discovery module

Module summary

The world is increasingly digitally organised, economic, social and political processes are increasingly digitally recorded and digitally managed. International organisations such as UN, World Bank, but also national governments (e.g. are expected to and do provide open data through the Internet. Debates are increasingly taking place on the Internet and grassroots groups build increasingly online networks of collaboration and mobilisation. Thus, the study of contemporary political, social and economic processes requires increasingly to make use of the rich digitalised data sources that give as unprecedented detailed insights into political, economic and social processes. There are many challenges involved with these new data sources and they require adopting new strategies in processing and analysing the data, but to keep pace with the technological, societal and political development, social scientists will need to acquire the necessary skills to make use of new data and data analytics techniques. Moreover, it is important to understand these data and algorithms that are increasingly structuring processes based on data analyses to preserve room for political, social, judicial and/or economic actions and decisions. This module aims to respond to these necessities by offering social science students a hands-on introduction to programming, algorithms and Big Data.


The module is designed with the goal of introducing students to programming in Python and its applications in social science. Specifically, the goal is to teach students the basics of programming and algorithms, how to program web scrapers to collect public data from the Internet, how to use APIs for accessing Internet data such as Twitter data etc. through designated interfaces, how to process and manage “Big Data” and how to visualise and analyse the data to obtain insights on contemporary political, social or economic processes and dynamics.

Learning outcomes
The students will get and understanding of how algorithms work, they will learn what "Big Data" is, how to get access to Big Data and how to make sense of it. This course is an introduction that will bring students in the position of understanding debates and studies involving Big Data. They will be able to collaborate with computer scientists in projects where Big Data is collected and analysed. They will also be also to perform simple analyses with Big Data themselves and will be able to build on the fundamentals taught in the course if they wish to continue expanding their programming and data analytics skills.


Outline syllabus:
1) Introduction, Computer science and programming language basics (lecture)
Practical: First programming steps in Python
2) Programming Basics (lecture)
Practical: Simple programming tasks in Python
3) Algorithms and their political significance (lecture)
Practical: Programming a simple algorithm in Python
4) Collecting Data I: APIs (e.g. World Bank, Twitter, relevant for political scientists (lecture)
Practical: Using Python to access data through APIs (Twitter API, World Bank API and
5) Collecting Data II: Scraping public online data relevant for political scientists (e.g. district-level electoral results, NGOs) (lecture)
Practical: Using Python to scrape data from the Internet
6) Processing Data I: Political numerical and geo-coded data (lecture)
Practical: Processing numerical and geo-coded data with Python
7) Processing Data II: Political natural language data (lecture)
Practical: Processing natural language data with Python
8) Basic Text Mining: Analysing political natural language data (lecture)
Practical: Text mining with Python of Twitter data
9) Simple analyses of political numerical and geo-coded data (lecture)
Practical: Analysing numerical and geo-coded data with Python
10) Visualising political numerical, geocoded and natural language data (lecture)
Practical: Visualising data with Python I
11) Machine Learning and its political significance (lecture)
Practical: Visualising data with Python II & Recapitulation

Teaching methods

Delivery typeNumberLength hoursStudent hours
Independent online learning hours148.00
Private study hours108.00
Total Contact hours44.00
Total hours (100hr per 10 credits)300.00

Private study

Private study:
Weekly reading in preparation to lectures (2 hours per week) and practicals (2 hours per week)
Weekly optional assignments (programming exercises)

Opportunities for Formative Feedback

Group project and computer exercise set in week 4 to monitor student progress during the semester.

Methods of assessment

Assessment typeNotes% of formal assessment
Group Project1000 Words plus Appendix (code)30.00
ReportProject report 3000 words plus appendix50.00
Computer ExerciseIn-class exam exercise20.00
Total percentage (Assessment Coursework)100.00

Normally resits will be assessed by the same methodology as the first attempt, unless otherwise stated

Reading list

The reading list is available from the Library website

Last updated: 19/08/2019


Browse Other Catalogues

Errors, omissions, failed links etc should be notified to the Catalogue Team.PROD

© Copyright Leeds 2019