Studying at the University of Verona

Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.

Study Plan

The Study Plan includes all modules, teaching and learning activities that each student will need to undertake during their time at the University.
Please select your Study Plan based on your enrollment year.

1° Year

ModulesCreditsTAFSSD

2° Year  activated in the A.Y. 2024/2025

ModulesCreditsTAFSSD
Training
6
F
-
Final exam
22
E
-
activated in the A.Y. 2024/2025
ModulesCreditsTAFSSD
Training
6
F
-
Final exam
22
E
-
Modules Credits TAF SSD
Between the years: 1°- 2°
Between the years: 1°- 2°
1 module among the following 
6
C
IUS/17
Between the years: 1°- 2°
2 courses among the following (a.a. 2023/24: Statistical methods for business intelligence not activated)
Between the years: 1°- 2°
2 courses among the following
Between the years: 1°- 2°

Legend | Type of training activity (TTA)

TAF (Type of Educational Activity) All courses and activities are classified into different types of educational activities, indicated by a letter.




S Placements in companies, public or private institutions and professional associations

Teaching code

4S009064

Credits

12

Language

English en

Scientific Disciplinary Sector (SSD)

INF/01 - INFORMATICS

Courses Single

Authorized

The teaching is organized as follows:

Programming

Credits

6

Period

Semester 1

Academic staff

Niccolo' Marastoni

Database
The activity is given by Data warehouse and integration of the course: Master's degree in Computer Engineering for Robotics and Smart Industry

Credits

6

Period

Semester 2

Academic staff

Elisa Quintarelli

Learning objectives

The course is structured as follows [Programming Module] The purpose of the module is to provide skills and knowledge in programming in Python and R, giving the basic concepts of algorithm with particular reference to the use of the Python language (syntax, data structures, data import / export in Python, data visualization in Python) and its applications in data science [Database form] The course aims to provide the skills necessary for the design of data according to the requirements with reference to different application contexts and within the production process of software systems; for the management and effective and efficient use of data and for the study of a system for the management of relational databases in order to create, manage and query databases.

At the end of the course the student has to show to have acquired the following skills:
- ability to develop Python code to solve concrete examples
- ability to evaluate algorithms in terms of complexity in time and space
- knowledge of the syntax and semantics of the language used
- knowledge of the bases of: database management; architecture and functionality of a database management system; concepts of physical independence, logical independence, persistence, competition, reliability, query and updating of a database; advantages of a database management system compared to an operating system file system
- ability to conceptually design databases, e.g., conceptual models for data design; the Entity-Relationship (E-R) model; elements of the E-R model: entities, attributes, relationships, generalization hierarchies and cardinality constraints; the conceptual scheme of a database
- knowledge of the basics of the logical design of a database: data models for database management systems; the relational model; relationship definitions, integrity constraints and relationship scheme; the logical scheme of a database; rules for the translation of conceptual schemes into relationship schemes
- understanding of the mechanisms of interaction with a database: introduction to languages for the definition, modification and query of a database; relational algebra; optimization of algebra expressions; the SQL language; the selection construct (Select-From-Where), nested queries, sorting and grouping of data in SQL; the concept of sight.

Prerequisites and basic notions

Basic concepts of logic and of the notion of algorithm

Program

The course is structured in two parts:
------------------------
Programming
------------------------
1. Introduction to Software Development
- Procedural programming recap
- Jupyter Notebooks, Python
- Software product requirements analysis

2. Data analysis
- Loading structured and unstructured data
- Data manipulation with Numpy and Pandas
- Data visualization with Matplotlib

3. Scientific computing
- NumPy and overall Python open-source ecosystem
- Introduction to Sklearn

4. Object-oriented programming
- OOP fundamentals
- OOP in open-source products
- Redesign of procedural programming

5. Operationalization
- Operationalization with Notebooks
- Operationalization with Streamlit

------------------------
Database
------------------------
1. Introduction to database management systems (DBMS): architectures and functionalities of a DBMS. Physical and logical data independence. Data models. Concepts of model, schema and instance of a database. Languages for database systems. DBMS vs. file system. Information Systems and Data Science.
2. The relational theory: the model and the algebra.
3. Interacting with a database system: languages for the definition, querying and update of a database. SQL: select-from-where statement, join in SQL, the GROUP BY and ORDER BY clauses, using subqueries. Views.
4. Conceptual database design: conceptual data models. The Entity-Relationship model (ER). Elements of the ER model: entities, attributes, relationships, ISA hierarchies and cardinality constraints. Logical database design: logical data models, the relational data model. Elements of the relational data models: relations and integrity constraints. Mapping between conceptual schemas in ER model and logical schema in the relational model.
5. Decision support systems.
1. Datawarehouse systems
2. Designing Data Warehouse on integrated data (GAV and LAV approaches)
3. OLAP queries
6. Beyond the Relation Model: main differences with NO-SQL Models

Bibliography

Visualizza la bibliografia con Leganto, strumento che il Sistema Bibliotecario mette a disposizione per recuperare i testi in programma d'esame in modo semplice e innovativo.

Didactic methods

In-person classes and practical sessions

Learning assessment procedures

To pass the Programming exam, the students must:
- complete a Python project that showcases the fundamentals of Data Science taught during the first semester
- pass an oral exam which will test the knowledge of the aforementioned project and general programming skills
- [OPTIONAL] undertake a written midterm test which will grant at most 6 points
The combination of a successful project, oral exam, and midterm will be evaluated with a grade between 18 and 33.

The Database exam consists of a written test (2 hours), possibly supplemented by an oral, containing some open questions about theory concepts, an exercise about conceptual modeling (using the E-R model or DFM schema), and the logical modeling (using the relational model) of a database, and some exercises about the specification of queries in SQL on a given database.

Students with disabilities or specific learning disorders (SLD), who intend to request the adaptation of the exam, must follow the instructions given HERE

Evaluation criteria

To pass the exam, the students must show that:
- they can write a Python program to analyze datasets and provide relevant data analysis, following the Data Science techniques investigated during the course lessons;
- they have understood the concepts related to the theory of relational databases and data warehouses and their design;
- they are able to describe the concepts in a clear and exhaustive way;
- they are able to apply the acquired knowledge to solve application scenarios described by means of questions and exercises.
The exam will be evaluated with at most 33 points (30 cum Laude).

Criteria for the composition of the final grade

The final mark will be the average of the marks obtained in the Programming and Database parts.

Exam language

Inglese