Skip to content

Freie Universität Bozen

Programming and Visualisation for Data Science

Semester 1 · 73081 · Master in Computing for Data Science · 12KP · EN


• Introduction to Python and programming environment
• Python data structures and programming primitives
• Object-oriented programming in Python
• Writing structured/reusable code in Python: functions, classes, libraries
• Code documentation, testing, version-control, and distribution
• Advanced Python programming
• The data science pipeline: from raw data to advanced analytics and visualization
• Data ingestion, exploration, cleaning, and pre-processing
• Feature analysis and engineering
• Machine learning for data modelling: clustering, classification and regression
• Model tuning, validation, and testing
• Advanced data visualization

Lehrende: Antonio Liotta, Ozan Kahramanogullari

Vorlesungsstunden: 80
Laboratoriumsstunden: 40
Anwesenheitpflicht: Not compulsory. Non attending students have to agree with the lecturer on the modalities of independent study at the beginning of the course.

Themen der Lehrveranstaltung
Module 1: Programming in Python The course 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: Data Analysis and Visualization The course 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.

Unterrichtsform
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.

Bildungsziele
The course belongs to the type "caratterizzanti – discipline informatiche". The course is designed to provide specific professional skills for advanced programming in Python and professional skills and knowledge useful when dealing with large-scale datasets. Knowledge and understanding: • D1.1 - Knowledge of the key concepts and technologies of data science disciplines • D1.2 - Understanding of the skills, tools and techniques required for an effective use of data science • D1.3 - Knowledge of principles, methods and techniques for processing data in order to make them usable for practical purposes, and understanding of the challenges in this field • D1.9 - Knowledge of the challenges in the field of man-machine interface and of the methods and techniques for overcoming these challenges • D1.12 - Basic knowledge of the main ethical and social implications of data science Applying knowledge and understanding: • D2.1 - Practical application and evaluation of tools and techniques in the field of data science • D2.4 - Ability to develop programmes and use tools for the analysis and management of data and related infrastructures • D2.8 - Practical application and evaluation of tools and techniques for data analysis • D2.9 - Design, application and evaluation of technologies and tools for human-machine interaction, data exploration and data visualization Making judgments • D3.2 - Ability to autonomously select the documentation (in the form of books, web, magazines, etc.) needed to keep up to date in a given sector. Communication skills • D4.1 - Ability to use English at an advanced level with particular reference to disciplinary terminology • D4.2 - Ability to present one's work in a clear and comprehensible way in front of an audience, including non-specialists • D4.3 - Ability to structure and draft scientific and technical documentation Learning skills • D5.3 – Ability to deal with problems in a systematic and creative way and to appropriate problem solving techniques.

Art der Prüfung
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.

Bewertungskriterien
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.

Pflichtliteratur

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



Weiterführende Literatur

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/



Weitere Informationen
Software used: Jupyter Notebook (for Python programming)


Als PDF herunterladen

Ziele für nachhaltige Entwicklung
Diese Lehrtätigkeit trägt zur Erreichung der folgenden Ziele für nachhaltige Entwicklung bei.

4 9

Modules

Semester 1 · 73081A · Master in Computing for Data Science · 6KP · EN

Module A — Programming in Python

• Introduction to Python and programming environment
• Python data structures and programming primitives
• Object-oriented programming in Python
• Writing structured/reusable code in Python: functions, classes, libraries
• Code documentation, testing, version-control, and distribution
• Advanced Python programming

Vorlesungsstunden: 40
Laboratoriumsstunden: 20

Themen der Lehrveranstaltung
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.

Unterrichtsform
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.

Pflichtliteratur

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



Weiterführende Literatur

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



Semester 1 · 73081B · Master in Computing for Data Science · 6KP · EN

Module B — Data Analysis and Visualization

• The data science pipeline: from raw data to advanced analytics and visualization
• Data ingestion, exploration, cleaning, and pre-processing
• Feature analysis and engineering
• Machine learning for data modelling: clustering, classification and regression
• Model tuning, validation, and testing
• Advanced data visualization

Lehrende: Antonio Liotta

Vorlesungsstunden: 40
Laboratoriumsstunden: 20

Infoanfrage