Coding for Computational Social Science
A.Y. 2024/2025
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 data processing tasks that underpin quantitative research and analysis 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.
Background readings, in-class presentations, their order and the study materials are constantly reviewed, updated and amended to adjust to the pace of the class.
Background readings, in-class presentations, their order and the study materials are constantly reviewed, updated and amended to adjust to the pace of the class.
Assessment methods and Criteria
A take-home, personal data analytics project, to be submitted online.
Details of the project will be published ahead of the exam date.
Details of the project will be published ahead of the exam date.
INF/01 - INFORMATICS - University credits: 6
Lessons: 40 hours
Professor:
Provetti Alessandro
Shifts:
Turno
Professor:
Provetti AlessandroEducational website(s)
Professor(s)
Reception:
by email appointment
MS Teams platform