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
Email: V.Spaiser@leeds.ac.uk
Taught: Semester 2 (Jan to Jun) View Timetable
Year running 2019/20
Pre-requisite qualifications
PIED2711 Analysing Data in Politics, Development and International RelationsOR
LUBS 2570 Introduction to Econometrics
Pre-requisites
LUBS2570 | Introduction to Econometrics |
PIED2711 | Analysing 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. data.parliament.uk) 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.Objectives
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.
Syllabus
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, data.parliament.uk) relevant for political scientists (lecture)
Practical: Using Python to access data through APIs (Twitter API, World Bank API and data.parliament.uk)
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 type | Number | Length hours | Student hours |
Lecture | 11 | 2.00 | 22.00 |
Practical | 11 | 2.00 | 22.00 |
Independent online learning hours | 148.00 | ||
Private study hours | 108.00 | ||
Total Contact hours | 44.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
Coursework
Assessment type | Notes | % of formal assessment |
Group Project | 1000 Words plus Appendix (code) | 30.00 |
Report | Project report 3000 words plus appendix | 50.00 |
Computer Exercise | In-class exam exercise | 20.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 websiteLast updated: 19/08/2019
Browse Other Catalogues
- Undergraduate module catalogue
- Taught Postgraduate module catalogue
- Undergraduate programme catalogue
- Taught Postgraduate programme catalogue
Errors, omissions, failed links etc should be notified to the Catalogue Team.PROD