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:
Laurea in Matematica applicata - 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 |
---|
2° Year activated in the A.Y. 2016/2017
Modules | Credits | TAF | SSD |
---|
One course to be chosen among the following
3° Year activated in the A.Y. 2017/2018
Modules | Credits | TAF | SSD |
---|
One/two courses to be chosen among the following
Modules | Credits | TAF | SSD |
---|
Modules | Credits | TAF | SSD |
---|
One course to be chosen among the following
Modules | Credits | TAF | SSD |
---|
One/two courses to be chosen 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.
Computer Programming with Laboratory (2015/2016)
Teaching code
4S02751
Teacher
Coordinator
Credits
12
Language
Italian
Scientific Disciplinary Sector (SSD)
INF/01 - INFORMATICS
Period
II semestre, I semestre
Learning outcomes
Module: theory.
-------
This course intends to provide the fundamentals skills in order to analyze and resolve problems by means of developing programs.
The objective of this module is to provide the knowledge of
- the basic principle of programming and of programming languages,
- the fundamental techniques for analyzing problems and developing their algorithmic solutions,
- the introduction to the methods for the evaluation of correctness and efficiency of algorithms.
Module: laboratory.
-------
The targets of the laboratory module are the essential knowledge of the operating environment, the learning of a programming language, the developing of projects of small and medium size and, finally, the application of the methods for evaluating the algorithms and the programs.
Program
Module: theory.
-------
Introduction to Computing Science.
Part I - problems, algorithms and programs.
- Basics: problem, specifics, algorithm; abstract machine, compiler and interpreter; programming languages.
- Introduction to the programming language.
- Elementary programming: basic instructions and development of simple programs.
- Data types. The general concept of data type: characterization and data representation. Variables, expressions and assignment. Abstract Data Types.
- Primitive data types: characterization, usage and related problems.
- Program structure. Fundamental instructions.
- Sub-programs: structure, parameters and visibility.
- Structured data types. Arrays, pointers, strings and other data structures.
- Basics of objects.
- Dynamic data structures.
- Introduction to graphs and other subjects.
Part II - Analysis of Algorithms
- Correctness: termination, logic properties; methods for the correctness verification.
- 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.
- Amortized analysis.
- Static sequences: implementation and algorithms.
- 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.
The styles of programming.
- Imperative Programming and basics of Object Oriented Programming
-------------------
Module: laboratory.
-------
In the laboratory we familiarize with the programming language developing projects based on the ideas presented in the lessons.
We study the fundamental elements of the language and we deal with the problems that arise in the development of the solution; in particular we acquire skill in editing, compiling, debugging and basic project management.
Author | Title | Publishing house | Year | ISBN | Notes |
---|---|---|---|---|---|
Bertossi, Alan e Montresor, Alberto | Algoritmi e strutture di dati (Edizione 3) | Città Studi Edizioni, De Agostini Scuola | 2014 | 978-8-825-17395-6 | Testo di riferimento per lo studio e l'analisi degli algoritmi. Sarà adoperato nel II semestre. |
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 solamente di consultazione. È disponibile in biblioteca. |
Walter Savitch | Programmazione con Java (Edizione 2) | Pearson Italia | 2013 | 9-788871-929613 | Testo di riferimento per la programmazione e il linguaggio Java |
Examination Methods
The final exam is about all the contents of the course.
It consists of two parts: a written test and an oral exam.
The written test includes general questions and exercises
The final oral exam is a discussion on the examination papers, the laboratory activity and about the subject matter of the course.
The admission to the oral exam is subject to the approval of the test.
The final written exam can be replaced by tests that can take place also during the teaching periods.