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.

This information is intended exclusively for students already enrolled in this course.
If you are a new student interested in enrolling, you can find information about the course of study on the course page:

Bachelor's degree in Computer Science - Enrollment from 2025/2026

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.

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

ModulesCreditsTAFSSD
12
B
INF/01
6
C
FIS/01
6
B
ING-INF/05
6
C
ING-INF/04
12
B
ING-INF/05

3° Year  activated in the A.Y. 2025/2026

ModulesCreditsTAFSSD
12
B
ING-INF/05
Final exam
6
E
-
activated in the A.Y. 2024/2025
ModulesCreditsTAFSSD
12
B
INF/01
6
C
FIS/01
6
B
ING-INF/05
6
C
ING-INF/04
12
B
ING-INF/05
activated in the A.Y. 2025/2026
ModulesCreditsTAFSSD
12
B
ING-INF/05
Final exam
6
E
-
Modules Credits TAF SSD
Between the years: 2°- 3°
Between the years: 2°- 3°
Training
6
F
-

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

4S00037

Credits

12

Coordinator

Sara Migliorini

Language

Italian

Scientific Disciplinary Sector (SSD)

ING-INF/05 - INFORMATION PROCESSING SYSTEMS

Courses Single

Authorized

The teaching is organized as follows:

Teoria

Credits

6

Period

1st semester

Academic staff

Alberto Belussi

Tecnologie per le basi di dati

Credits

4

Period

2nd semester

Academic staff

Sara Migliorini

Laboratorio

Credits

2

Period

2nd semester

Academic staff

Beatrice Amico

Learning objectives

The course aims to provide the necessary skills for: (i) the design of data according to the requirements with reference to different application contexts and within the production process of software systems; (ii) effective and efficient management and use of data; (iii) the use of a system for the management of relational databases in order to create, manage and query databases; (iv) the development of applications that interact with relational databases. At the end of the course the student must demonstrate knowledge and understanding of data models and query languages that characterize systems for data management and knowledge of the fundamental mechanisms to develop applications that interact with a database; have the ability to apply the acquired knowledge and understanding skills for the design of a data collection in an effective way compared to a set of application requirements, the ability to query and efficiently use the data managed by a system, the ability to design and implement an application that interacts with a data- base; know how to develop the skills necessary to continue the studies independently in the field of data management systems and software solutions development.

Prerequisites and basic notions

Basic knowledge of linear algebra, logic, programming and operating systems (secondary memory and file system)

Program

The program is specified for each module as follows.

Module of Theory
--------------------------
- 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.
- Conceptual database design: definition of information system, conceptual data models. The Entity-Relationship model (ER). Elements of the ER model: entities, attributes, relationships, ISA hierarchies and cardinality constraints.
- Logical database design: the relational data model adn the data model of the document-based systems. Elements of the relational data models: relations and integrity constraints. Mapping between conceptual schemas in ER model and logical schema in the relational model. Mapping between conceptual schemas in ER model and logical schema in the document-based systems: labelling of ER schema and translation into JSON document schema.
- Interacting with a database system: languages for the definition, querying and update of a database. The relational algebra. Optimization of algebraic expressions. Tuple relational calculus and MongoDB query language.

LAB
---------------------
- Introduction to the Relational DataBase Management System (RDBMS) PostgreSQL.
- Introduction to using SQL in PostgreSQL.
- Query optimization. - Introduction to transactions.
- Access to databases from Python programs.
- Introduction to the use of the NoSQL DBMS of MongoDB

Database Technology
----------------------------------------------
- The internal architecture of a DBMS. Transactions. Transactions properties. The concurrency control: schedules, the two-phase locking. Access methods (indexes): primary and secondary indexes, B-+tree, hashing based access methods. Query execution and optimization.
- The architecture of a document-based NoSQL system: the case of MongoDB.

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

Theory Module
-------------------------
Teaching delivery methods: face-to-face lectures (also available in recorded streaming; recordings will be made available on request for students unable to attend in person or in streaming), classroom exercises with the teacher, teaching material (slides) and further exercises available on the eLearning platform, reception at the times indicated on the teacher's web page.
Laboratory Module
--------------------------------
Teaching delivery methods: classroom lectures and exercises in the computer lab , didactic material (slides) and further exercises on the eLearning platform, individual reception at the times agreed with the teacher.
Database Technologies Module
---------------------------------------------------------
Teaching methods: lectures, classroom exercises with the teacher, teaching material (slides) and further exercises available on the eLearning platform, reception at the times indicated on the page web site of the teacher.

Learning assessment procedures

The exam consists of two parts: a theory test, an integrated technology test, and a laboratory test.
Theory Modules
--------------------------------------------------------------------
For the "Theory" module, there is a written exam lasting approximately two hours. This exam consists of an exercise on the conceptual (ER model) and logical (relational and/or JSON model) design of a database, exercises on queries in relational algebra and relational calculus on an assigned database, and questions on the theory portion. Exam topics from previous years are available in the EXAM TOPICS AND OTHER SUMMARY EXERCISES section of the eLearning platform.
Students can also take ongoing tests during the year: these tests are set by the instructor in consultation with the students. There are two tests: (i) the first test on database design, including conceptual (ER model) and logical (relational and/or JSON model) design; (ii) the second part on querying a relational database using relational algebra and relational calculus. The overall exam, or the combination of the two midterm exams, accounts for 6 out of 12 credits.
Technologies and Laboratory Module
--------------------------------
For the "Technologies" and "Laboratory" modules, there is a two-hour written exam that includes:
(i) LAB - theory questions and exercises on optimizing SQL queries in PostgreSQL and writing code in Python to access a relational database.
(ii) TECH - theory questions and exercises on SQL and NoSQL queries, transactional systems, the concept and properties of a transaction, concurrency control (VSR, CSR, and two-phase locking), data access methods (B-tree indexes and hashing), and MongoDB architecture.
The technology exam accounts for 6 out of 12 credits of the overall grade.

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 have understood the concepts related to the theory of relational databases and their design and implementation on database management systems
- they are able to describe the concepts in a clear and exhaustive way without digressions
- they are able to apply the acquired knowledge to solve application scenarios described by means of exercises, questions and projects.

Criteria for the composition of the final grade

The final grade out of thirty is obtained by taking the weighted average of the grade obtained in the theory test (6/12) and the grade obtained in the integrated Technology and Laboratory test (6/12).

Exam language

italiano