Skip to content

Libera Università di Bolzano

Programming and Visualisation for Data Science

Semestre 1 · 27500 · Corso di laurea magistrale in Data Analytics for Economics and Management · 12CFU · EN


Module 1 provides a comprehensive introduction to Python programming, starting with the setup of the development environment and core programming constructs. Students will explore Python’s data structures and programming primitives, progressing to object-oriented programming and the development of structured, reusable code using functions, classes, and libraries. Emphasis is placed on best practices in software development, including code documentation, testing, version control, and distribution. The module concludes with advanced Python programming techniques, preparing students to build robust and maintainable applications.

Module 2 guides students through the complete data science pipeline, from raw data acquisition to advanced analytics and visualization. Students will gain hands-on experience in data ingestion, exploration, cleaning, and feature engineering, building a strong foundation for effective data modeling. The course covers key machine learning techniques—including clustering, classification, and regression—alongside model tuning, validation, and testing. Emphasis is placed on producing insightful and reproducible visualizations using specialized Python libraries, enabling students to communicate data-driven findings with clarity and impact.

Docenti: Antonio Liotta

Ore didattica frontale: M1: 40 hours M2: - 24 hours of in-person lectures - 12 hours of video lectures (counted as 24 hours to account for re-watching)
Ore di laboratorio: 40 (20 + 20)
Obbligo di frequenza: Not compulsory. Non attending students have to agree with the lecturer on the modalities of independent study at the beginning of the course.

Argomenti dell'insegnamento
Module 1 is designed to provide specific professional skills for advanced programming in Python. The students will learn how to develop a Python program, starting from designing it, and going through coding, testing and validation. They will master Python in its full object-oriented features, learning how to develop complex programs that are well structured, and make use of techniques for code re-use, pipelining, maintenance, and deployment. Module 2 is designed to acquire professional skills and knowledge useful when dealing with large-scale datasets. In particular, the students will master data collection, exploration, transformation, curation, analysis, and visualization, choosing the most appropriate technique for the data at hand. They will make insights from the data, supported by a rigorous data science pipeline, which starts with raw data, produces machine learning models, and ends with advanced visualizations. This module, addresses common pitfalls that can mislead the analysis and makes extensive use of specialized Python libraries, acquiring the best practices of reproducible, data-driven analysis and research.

Modalità di insegnamento
The course adopts a blended, student-centered approach that emphasizes problem-based learning and active engagement. Selected lecture content is made available online in advance, enabling students to explore key concepts independently and at their own pace. This preparatory work allows in-person sessions to focus on applying knowledge through problem-solving, collaborative activities, and guided discussions—fostering critical thinking and deeper understanding. The teaching format combines frontal lectures, hands-on lab assignments, and project work, ensuring that students develop both theoretical knowledge and practical skills in python programming, and in data analysis, modelling, and visualization. The course is aligned with the principles of the EDUNEXT initiative (https://edunext.eu), promoted by Italian universities, which supports the integration of digital resources and active learning strategies in higher education.

Modalità d'esame
The exam modalities are the same for both the attending and the non-attending students. Project work (70% of the final grade) and oral exam (30% of the final grade). All project works must have been submitted, at the very latest, 15 days ahead of the oral exam. In case of a positive mark, the projects will count for all 3 regular exam sessions.

Criteri di valutazione
70% project work, 30% oral exam. • Relevant for project work: clarity of presentation, ability to gain useful and novel insights from data, creativity, critical thinking, ability to adhere to reproducible research best practices • Ability to use Python to write, evaluate and deploy advanced, object-oriented computer programs • Ability to use Python to employ (understand, recall and use) data analytics methods in practical settings, from data collection and curation, to data analysis, modelling and visualization.

Bibliografia obbligatoria

Data Visualization. A practical introduction. Haley. Available online

A layered grammar of graphics. Wickham. Available online

Python Data Science Handbook, by Jake VanderPlas. O'Reilly Media (1st Edition, 2016).

Subject Librarian: David Gebhardi, David.Gebhardi@unibz.it



Bibliografia facoltativa

Fundamentals of Data Visualization. Wilke. Available online

Visualization Analysis and Design. Munzer. Amazon

Data Visualization: Charts, Maps, and Interactive Graphics. Grant. Amazon

Doing Data Science. Cathy O'Neil, Rachel Schutt. O’Reilly, 2013, https://www.oreilly.com/library/view/doing-data-science/9781449363871/

Python for Data Analysis. By Wes McKinney. O’Reilly, 2nd Edition, 2017, https://www.oreilly.com/library/view/python-for-data/9781491957653/




Scarica come PDF

Obiettivi di sviluppo sostenibile
Questa attività didattica contribuisce al raggiungimento dei seguenti Obiettivi di Sviluppo sostenibile.

4 9

Modules

Semestre 1 · 27500A · Corso di laurea magistrale in Data Analytics for Economics and Management · 6CFU · EN

Module A — M1 - Introduction to programming for data science

This module provides a comprehensive introduction to Python programming, starting with the setup of the development environment and core programming constructs. Students will explore Python’s data structures and programming primitives, progressing to object-oriented programming and the development of structured, reusable code using functions, classes, and libraries. Emphasis is placed on best practices in software development, including code documentation, testing, version control, and distribution. The module concludes with advanced Python programming techniques, preparing students to build robust and maintainable applications.

Ore didattica frontale: 40
Ore di laboratorio: 20

Argomenti dell'insegnamento
This course provides students with advanced professional skills for developing robust and maintainable Python applications. It covers the full development lifecycle—from program design to implementation, testing, and validation. Students will master Python’s object-oriented programming features and learn how to build well-structured, reusable, and modular code using functions, classes, and libraries. The course also introduces essential tools and techniques for code documentation, testing, version control, and distribution, preparing students for collaborative and production-level development environments.

Modalità di insegnamento
The course adopts a blended, student-centered approach that emphasizes problem-based learning and active engagement. Selected lecture content is made available online in advance, enabling students to explore key concepts independently and at their own pace. This preparatory work allows in-person sessions to focus on applying knowledge through problem-solving, collaborative activities, and guided discussions—fostering critical thinking and deeper understanding. The teaching format combines frontal lectures, hands-on lab assignments, and project work, ensuring that students develop both theoretical knowledge and practical programming skills. The course is aligned with the principles of the EDUNEXT initiative (https://edunext.eu), promoted by Italian universities, which supports the integration of digital resources and active learning strategies in higher education.

Bibliografia obbligatoria

Python for Data Analysis. By Wes McKinney. O’Reilly, 3nd Edition, 2022, https://www.oreilly.com/library/view/python-for-data/9781098104023/



Bibliografia facoltativa

Jupyter Notebook Documentation. https://jupyter-notebook.readthedocs.io/en/stable/



Semestre 1 · 27500B · Corso di laurea magistrale in Data Analytics for Economics and Management · 6CFU · EN

Module B — M2 - Data visualization and exploration

This module guides students through the complete data science pipeline, from raw data acquisition to advanced analytics and visualization. Students will gain hands-on experience in data ingestion, exploration, cleaning, and feature engineering, building a strong foundation for effective data modeling. The course covers key machine learning techniques—including clustering, classification, and regression—alongside model tuning, validation, and testing. Emphasis is placed on producing insightful and reproducible visualizations using specialized Python libraries, enabling students to communicate data-driven findings with clarity and impact.

Docenti: Antonio Liotta

Ore didattica frontale: - 24 hours of in-person lectures - 12 hours of video lectures (counted as 24 hours to account for re-watching)
Ore di laboratorio: 20

Richiesta info