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.

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.

CURRICULUM TIPO:

2° Year   activated in the A.Y. 2021/2022

ModulesCreditsTAFSSD
6
A
MAT/02
6
B
MAT/03
6
C
SECS-P/01
6
C
SECS-P/01
English language B1 level
6
E
-

3° Year   activated in the A.Y. 2022/2023

ModulesCreditsTAFSSD
6
C
SECS-P/05
Final exam
6
E
-
activated in the A.Y. 2021/2022
ModulesCreditsTAFSSD
6
A
MAT/02
6
B
MAT/03
6
C
SECS-P/01
6
C
SECS-P/01
English language B1 level
6
E
-
activated in the A.Y. 2022/2023
ModulesCreditsTAFSSD
6
C
SECS-P/05
Final exam
6
E
-
Modules Credits TAF SSD
Between the years: 1°- 2°- 3°
Between the years: 1°- 2°- 3°
Other activities
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

4S02751

Credits

12

Coordinator

Ugo Solitro

Language

Italian

Scientific Disciplinary Sector (SSD)

INF/01 - INFORMATICS

The teaching is organized as follows:

Teoria

Credits

9

Period

I semestre, II semestre

Academic staff

Ugo Solitro

Laboratorio

Credits

3

Period

I semestre, II semestre

Academic staff

Luca Marchetti

Learning outcomes

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.

Program

------------------------
MM: Teoria
------------------------
CONTENTS INTRODUCTION - Problems and Solutions. - Models of Computations: abstract machine, compiler and interpreter. - Programming languages: formal languages, compiler, interpreter. - Laboratory: introduction to linux and to the developing environment. PART I - Problems, algorithms and programs. - Imperative programming - Elementary of programming: basic instructions and development of simple programs; variables, expressions and assignment. - Data types. The general concept of data type: characterisation and data representation. Abstract Data Types. - Primitive data types: characterisation, use and related problems. - Structured data types: array, record, file, pointer, string and other data structures. - Program structure. Fundamental instructions. Sub-programs: structure, parameters and visibility. Recursion. - Object Oriented Programming. - Basics of objects: classes, objects, attributes, constructors, modifiers. - Advanced data structures: representation of sequences, vector and matrices; inductive and dynamic data structures; introduction to lists, trees and graphs. PART II - Analysis of Algorithms - Correctness: termination, logic properties; methods for the correctness verification. - Efficiency of algorithms. - Introduction to the complexity. Performance of algorithms. Evaluation of efficiency. Computational costs. - Asymptotic estimation of the complexity in time and space. The worst and medium case. - Amortised analysis. - Study of fundamental examples. - Sequences: static and dynamic implementation and algorithms. - Research and Sorting Algorithms: basic search, binary search, insertion and selection sort, merge sort, quick sort. - Matrices and Vectors: implementation, operations and algorithms. - Dynamic sequences: abstract definition and implementation; basic operations. - Trees. Abstract definition and implementation. Basic operation. Binary research trees. - Introduction to algorithms on graphs.

------------------------
MM: Laboratorio
------------------------
This teaching module shares the same content of the theoretical module.



-----------------------------
Distance teaching activities
-----------------------------

In case of difficulty in personally attending the lessons, the student can still participate in the didactic activities remotely.


Bibliography

Reference texts
Activity Author Title Publishing house Year ISBN Notes
Teoria Bertossi, Alan e Montresor, Alberto Algoritmi e strutture di dati (Edizione 3) Città Studi Edizioni, De Agostini Scuola 2014 978-8-825-17395-6
Teoria Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms (Edizione 3) MIT Press 2009 978-0-262-53305-8 Testo di sola consultazione
Teoria Walter Savitch Programmazione di base e avanzata con Java (Edizione 2) Pearson 2018 978-8-891-90457-7
Laboratorio Walter Savitch Programmazione di base e avanzata con Java (Edizione 2) Pearson 2018 978-8-891-90457-7

Examination Methods

------------------------
MM: Teoria
------------------------
The final exam consists of an oral exam: in order to be admitted to the final exam, the student must pass a preliminary written test. The written test can be partially replaced by ongoing tests and activities. The assessment methods could change according to the evolution of the general health situation and the academic rules.
------------------------
MM: Laboratorio
------------------------
Students will be evaluated on the basis of a group activity submitted in the form of a project. The projects will be presented by the students during a short oral exam. The assessment methods could change according to the academic rules.

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