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
| Modules | Credits | TAF | SSD |
|---|
2° Year It will be activated in the A.Y. 2026/2027
| Modules | Credits | TAF | SSD |
|---|
3° Year It will be activated in the A.Y. 2027/2028
| Modules | Credits | TAF | SSD |
|---|
| Modules | Credits | TAF | SSD |
|---|
| Modules | Credits | TAF | SSD |
|---|
| Modules | Credits | TAF | SSD |
|---|
| 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.
Computer Programming with Laboratory (2025/2026)
Teaching code
4S02751
Credits
12
Language
Italian
Scientific Disciplinary Sector (SSD)
INF/01 - INFORMATICS
Courses Single
Authorized
The teaching is organized as follows:
Teoria
Laboratorio
Learning objectives
This course proposes providing the fundamentals skills in order to analyze and resolve problems by means of developing programs. The general objectives of this module are - the knowledge of the principles of programming and of programming languages, - the mastery of fundamental techniques for analyzing problems and developing their algorithmic solutions, - the introduction to the methods for the evaluation of correctness and efficiency of algorithms. In the laboratory, we will practice the above principles by means of a programming activity.
Prerequisites and basic notions
The mathematical and scientific knowledge and skills typically acquired in secondary school.
In particular: sets, functions, relations, and graphs; the numerical sets and their fundamental properties; plane geometry and Cartesian representation of geometric elements; representation of data, relations, and functions.
Program
Part I - Programming
Imperative Programming.
- Problems, algorithms, and programs.
- Principles of structured programming: constants, variables, expressions; fundamental statements: assignment, sequential composition, conditional and iteration, grouping; structure of a simple program.
- Data types: general notion of type; data representation; characterization of data types; abstract data types.
- Primitive data types: characteristics, use, and problems; numeric and non-numeric data types; enumerative types.
- Structured data types: arrays and records, files, pointers, strings; abstract and concrete definition of a type.
- Subprograms: functions, procedures, and methods; structure of a subprogram; parameter passing; locality and visibility rules; recursion.
Introduction to Object-Oriented Programming
- Objects and classes; class and instance components; constructors, fields, and methods.
- Advanced data structures: representation of sequences, vectors, and matrices; concrete implementation.
- Introduction to advanced object-oriented programming: class extensions; inheritance and polymorphism; interfaces and abstract classes: an introduction.
Part II - Algorithms and Data Structures: Introduction to the Analysis of Algorithms.
- Algorithms' Correctness: Termination; Logical Properties; Partial and Total Correctness with Respect to Specifications.
- Algorithms' Efficiency: Introduction to the Evaluation of Algorithms' Efficiency; Performance and Complexity.
- Time and Space Measures; Computational Cost in Time and Space; Asymptotic Estimates of Computational Cost; Worst Case and Average Case; Amortized Cost.
- Relevant Case Studies.
- Searching and Sorting Algorithms.
Abstract and Concrete Data Types.
- Static and Dynamic Sequences: Abstract Definition; Implementation; Basic Operations.
- Sequences, Vectors, Matrices, Sets: Implementation, Operations, and Algorithms.
- Dynamic and Recursive Structures.
- Lists: Abstract Definition and Implementation; Basic Operations.
- Introductory notes on other dynamic structures: Stacks, Queues, Trees, Graphs.
Bibliography
Didactic methods
Teaching consists of lectures and exercises in the classroom and in the laboratory, with the use of a computer where necessary. Independent activities will also be assigned outside of class time. Tutoring is available.
Learning assessment procedures
The exam is divided into three parts:
- written test: questions and exercises;
- practical test: development of a laboratory project;
- final exam: discussion of the papers and questions on the program covered during the lessons.
The written and practical tests may be replaced in whole or in part by passing the mid-term tests.
Evaluation criteria
The exams are designed to assess:
- general knowledge of the fundamental constructs of imperative and object-oriented programming;
- the ability to use a programming language effectively and correctly;
- the ability to manage the problem-solving process: rigorous problem description and characterization, data representation design, solution code design and development, and solution efficiency and correctness analysis.
Criteria for the composition of the final grade
The final grade is the average of the scores from the three tests: written, practical, and oral.
Note: To pass the final exam, a passing grade is required in each of the three tests.
Exam language
Italiano
