Coding for Computational Social Science
A.Y. 2025/2026
Learning objectives
Undefined
Expected learning outcomes
Undefined
Lesson period: First trimester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course can be attended as a single course.
Course syllabus and organization
Single session
Responsible
Lesson period
First trimester
Course syllabus
This module introduces students to coding in Python, with a focus on the data-processing tasks that underpin quantitative research in the social and political sciences.
The first part of the module presents a standard introduction to the Python programming language.
Algorithms and data structures are introduced as we go along and we also look at the practical aspects of coding such as working with the file system, with IDE/debuggers and with versioning systems.
The second part of module focuses on specific Python modules, e.g., Numpy, Pandas, SpaCy and Networkx and on topics such accessing web data sources, data cleaning/preparation and text processing.
In particular, the SQL language for querying relational database sources will be briefly introduced.
If time allows, we will also work on a simple Machine Learning scenario with Scikit-learn.
The first part of the module presents a standard introduction to the Python programming language.
Algorithms and data structures are introduced as we go along and we also look at the practical aspects of coding such as working with the file system, with IDE/debuggers and with versioning systems.
The second part of module focuses on specific Python modules, e.g., Numpy, Pandas, SpaCy and Networkx and on topics such accessing web data sources, data cleaning/preparation and text processing.
In particular, the SQL language for querying relational database sources will be briefly introduced.
If time allows, we will also work on a simple Machine Learning scenario with Scikit-learn.
Prerequisites for admission
None beyond basic computer literacy as taught in most BA/BSc courses.
Familiarity with any Linux/MacOs/Win filesystem and with Spreadsheet operations is preferable.
Familiarity with any Linux/MacOs/Win filesystem and with Spreadsheet operations is preferable.
Teaching methods
Lectures and lab experiences will be interleaved with units of about 30 minutes each.
Most lab experiences will entail solving simple data processing tasks in Python, normally by working on a baseline Python source code or a Jupyter notebook.
To maximise learning and enable groupwork, HighFlex attendance will be offered whenever possible.
Most lab experiences will entail solving simple data processing tasks in Python, normally by working on a baseline Python source code or a Jupyter notebook.
To maximise learning and enable groupwork, HighFlex attendance will be offered whenever possible.
Teaching Resources
Contents, resources and study materials will be made available weekly from the class repository and linked from the relevant MyAriel page.
Materials seen in class are kept in a Github repository maintained by the instructor: https://github.com/ale66/learn-coding
Materials seen in class are kept in a Github repository maintained by the instructor: https://github.com/ale66/learn-coding
Assessment methods and Criteria
A take-home personal project (no AI) focussing on data analytics; the project will be submitted online and students must be able to explain the code in detail.
Details of the project and the needed datasets will be published ahead of the exam date.
Details of the project and the needed datasets will be published ahead of the exam date.
Educational website(s)
Professor(s)
Reception:
by email appointment
MS Teams platform