B0064 - Introduction to Data Science and Computational Thinking

Academic Year 2026/2027

  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Digital Innovation Policies and Governance (cod. 6777)

Learning outcomes

At the end of this course, the students will have a good knowledge and understanding of the fundamental principles of algorithmics and of programming in Python, with specific focus on problems with large amount of data. The students will be able to apply the acquired knowledge to read, write, and test programs using the Python programming language. Moreover, the student will be able to understand prototypes and programs written by other people.

Thanks to the acquired knowledge, the student will be able to evaluate pros and cons of a prototype or of an implementation in the Python language of a program using typical algorithmic techniques to handle data structures coming from the web or from open repositories.

Course contents

  • Fundamentals of computer architecture and operating systems.
  • Principles of computational thinking: abstraction, problem decomposition, algorithms, and automation.
  • Tools for collaboration, version control, and the documentation of digital projects.
  • Production of structured scientific documents using LaTeX.
  • Fundamental concepts of Data Science, data types, and dataset structure.
  • Data quality, representativeness, and descriptive analysis.
  • Data visualization and analysis of relationships between variables.
  • Introduction to regression and classification models and their evaluation through practical exercises in Python.

Readings/Bibliography

There is no required textbook. The following readings are recommended:

  • Dirk Hovy, Text Analysis in Python for Social Scientists: Discovery and Exploration, Cambridge University Press, 2021, ISBN 978-1108873352.
  • Sofía De Jesús and Dayrene Martinez, Applied Computational Thinking with Python, Packt Publishing, 2020, ISBN 978-1839219436.
  • Various authors, The LaTeX Wikibook, Wikibooks Community, https://en.wikibooks.org/wiki/LaTeX .

Teaching methods

The course combines lectures, practical examples, and guided exercises carried out individually or in groups.

Theoretical concepts are explored through case studies, practical demonstrations, and activities involving data and code.

The slides, notebooks, and code examples used during the lectures are made available on the course website.

Assessment methods

Assessment is based on an individual written examination and the presentation of a group project.

The written examination consists of exercises and theoretical questions on the topics covered in the course.

The project presentation assesses the accuracy and completeness of the analysis, as well as each student’s understanding of the main technologies introduced during the course.

Teaching tools

This course is closely coordinated with the Programming Laboratory course.

The course website contains lecture slides, practical exercises, project details, useful information, and course announcements.

The instructor can be contacted by email at francesco.poggi@cnr.it .

Office hours are arranged on request, preferably by email.

For quick updates and communications, the course also uses a Telegram group, which students are expected to join as soon as possible: https://t.me/+oJosXYHuGFsyMzNk.

Office hours

See the website of Francesco Poggi