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
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/2026The 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
| Modules | Credits | TAF | SSD |
|---|
Mathematical analysis 1
Computer Architecture
2° Year activated in the A.Y. 2024/2025
| Modules | Credits | TAF | SSD |
|---|
Mathematical analysis 2
3° Year activated in the A.Y. 2025/2026
| Modules | Credits | TAF | SSD |
|---|
1 module among the following| Modules | Credits | TAF | SSD |
|---|
Mathematical analysis 1
Computer Architecture
| Modules | Credits | TAF | SSD |
|---|
Mathematical analysis 2
| Modules | Credits | TAF | SSD |
|---|
1 module among the following| Modules | Credits | TAF | SSD |
|---|
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.
Programming languages (2025/2026)
Teaching code
4S02727
Credits
6
Language
Italian
Scientific Disciplinary Sector (SSD)
INF/01 - INFORMATICS
Courses Single
Authorized
The teaching is organized as follows:
Teoria
Laboratorio
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
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.
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
