- Docente: Silvio Peroni
- Crediti formativi: 6
- SSD: INF/01
- Lingua di insegnamento: Inglese
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea Magistrale in Digital Humanities and Digital Knowledge (cod. 9224)
-
dal 29/01/2024 al 08/03/2024
Conoscenze e abilità da conseguire
At the end of the course, the student knows the theoretical and practical groundings for modelling, gathering and managing data using computational techniques. The student can (a) write and share data using standard formats for spreadsheet and Web consumption, (b) understand and create databases through database management systems, (c) retrieve data using appropriate query languages, (d) build and interpret graphs showing basic descriptive statistics computed from data, and (e) develop and integrate data-driven workflows into Python applications.
Contenuti
The course is organised in a series of theoretical lectures and hands-on sessions. In each lecture, I provide a theoretical introduction about the specific topic of the lecture. In each hands-on session to be held with a computer, I run a laboratory activity session based on existing tools that enable the experimentation with the topics introduced in the theoretical lectures.
List of lectures and hands-on sessions
- [Lecture] Introduction to the course and final project specifications
- [Lecture] What is a datum and how it can be represented computationally
- [Hands-on] Data formats and methods for storing data in Python
- [Lecture] Introduction to data modelling
- [Hands-on] Implementation of data models via Python classes
- [Lecture] Processing and querying the data
- [Hands-on] Introduction to Pandas
- [Lecture] Database Management Systems
- [Hands-on] Configuring and populating a relational database
- [Lecture] SQL, a query language for relational databases
- [Hands-on] Configuring and populating a graph database
- [Lecture] SPARQL, a query language for RDF databases
- [Hands-on] Interacting with databases using Pandas
- [Lecture] Describing and visualising data
- [Hands-on] Descriptive statistics and graphs about data using Pandas
The dates and times of all the lectures above are available in the section "Schedule" of the GitHub repository of the course.
Testi/Bibliografia
Lecture notes will be made freely available to students in the GitHub repository of the course before the beginning of each lecture. Slides and any additional material will be made also available a few days before each lecture in the same repository. No additional books or papers are needed for passing the final exam successfully.
Due to the practical focus of the course, preliminary knowledge and practice on computational thinking (e.g. algorithms, data structures, and algorithmic techniques) and Python is highly recommended.
A minimal bibliography on the two topics mentioned above is:
- Peroni, S. (2020). Computational Thinking and Programming book. https://comp-think.github.io
- Tagliaferri, L. (2018). How To Code in Python. ISBN: 978-0999773017. Full text available online.
Metodi didattici
Face-to-face classes for 30 hours.
Modalità di verifica e valutazione dell'apprendimento
The exam consists of:
- the implementation of a project - maximum score: 16 points;
- an oral colloquium on the project implemented, for assessing the skills gained by the student- maximum score: 16 points.
Students are mandatorily asked to organise themself in groups of 3-4 people for implementing the project. The personal contribution of each member of a group will be assessed during the oral colloquium.
The final evaluation of the student is the sum of the scores gained for each of the aforementioned points (any score greater than 30 will be registered as 30 cum laude). In particular:
- excellent evaluation (final score greater than 26): active involvement in the development of the project following all the theoretical principles and practical guidelines provided to the student during the lectures and the hands-on sessions;
- sufficient evaluation (final score between 18 and 26): providing a minor contribution to the development of the project;
- insufficient evaluation (final score lesser than 18): not providing any contribution to the project.
It is strongly suggested to attend the course in person since it would enable a collegial discussions with the professor and the other students, that are crucially important considering the topics introduced. However, even if discouraged, it is possible to follow the course as non attender. For non attenders, the topic of the project should be discussed with the professor in advance.
Strumenti a supporto della didattica
Classes are held in a classroom equipped with personal computers connected to the Intranet and Internet.
Theory lessons will always be accompanied by hands-on sessions. All the material of the course - including lecture notes and slides - will be made available in the GitHub repository of the course. A group in a free messaging application will be set up so as to allow all the students of the course to communicate directly with each other and with the professor.
Link ad altre eventuali informazioni
https://github.com/comp-data/2023-2024/
Orario di ricevimento
Consulta il sito web di Silvio Peroni
SDGs
L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.