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

4S02727

Credits

6

Language

Italian

Scientific Disciplinary Sector (SSD)

INF/01 - INFORMATICS

Courses Single

Authorized

The teaching is organized as follows:

Teoria

Credits

5

Period

2nd semester

Academic staff

Isabella Mastroeni

Laboratorio

Credits

1

Period

2nd semester

Academic staff

Michele Pasqua

Learning objectives

The course provide specific capabilities in the context of programming languages. In particular, it provides the necessary knowledge for operating in design, development and maintenance of software systems, starting form the right choice of the programming language dependent on the specific tasks and features of what should be developed. At the end of the course, the student will have to show: to know and to be able to study and understand new programming languages; to be able to apply the acquired capabilities and knowledge for choosing the programming language depending on what he/she has to develop; to be able to develop necessary expertise for affording the following studies with a sufficient degree of autonomy.

Prerequisites and basic notions

Knowledge of mathematical logic and programming.

Program

------------------------
UL: Teoria
------------------------
Virtual machines: interpreters and compilers. Syntactical descriptions of programming languages: context free grammars. Structured operational semantics.
Memory management: scoping rules, functions, procedures, parameter passing, stack of activation records, heap.
Control: structuring of statements, abstraction, exceptions.
Data and types: data types, base types, structured types, type systems, type inference and polymorphism.
Examples of programming paradigms.
------------------------
UL: Laboratorio
------------------------
Introduction of tools for making exercise on the techniques of interpretation of programming languages.

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

------------------------
UL: Theory
------------------------
Lectures
------------------------
UL: Laboratory
------------------------
Lectures

Learning assessment procedures

------------------------ UL: Theory ------------------------
Written exam with exercises and questions covering the entire course syllabus (with oral exam, also covering the entire syllabus, possible only for those who pass the written exam with a grade higher than 26/30, but mandatory to obtain a grade higher than 26/30).
------------------------ UL: Laboratory ------------------------
The laboratory will consist of a project that will be evaluated separately with a grade out of 30.

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

------------------------
UL: Teoria
------------------------
The objective of the written test is to ascertain an adequate understanding of the contents and the ability to re-elaborate such contents. A sufficient capacity for formal reasoning on the semantics of programming languages is also ascertained through the resolution of exercises. The objective of the oral exam is to ascertain an advanced understanding of the contents that allows a critical analysis and a reworking of the concepts and results studied, also by ascertaining the knowledge of theorems and proofs.
------------------------
UL: Laboratorio
------------------------
It will be verified the quality and the effective understanding of the structures implemented and delivered.

Criteria for the composition of the final grade

The final grade consists of the sum of the marks out of thirtieths obtained in the individual modules weighted according to the respective CFU: 5/6 of the grade of the written test relating to the theory only (possibly (if above 26) averaged with the grade of the oral exam) added to 1/6 of the grade of the laboratory project (which therefore remains optional).

Exam language

Italiano