Lo studente, in coerenza con gli obiettivi del corso di studio, svilupperà competenze relative alla progettazione e allo sviluppo di sistemi di supporto alle decisioni basati (DSS) su tecniche di machine learning. Tali DSS saranno principalmente calati nell’ambito dello sviluppo di sistemi software complessi. 

Conoscenza e capacità di comprensione 

Lo studente conoscerà gli aspetti teorici e pratici relativi alla progettazione e all’implementazione delle più comuni tecniche di machine learning. 

Conoscenza e capacità di comprensione applicate

Lo studente sarà in grado di progettare e sviluppare sistemi di supporto alle decisioni basati su tecniche di machine learning. 

Autonomia di giudizio 

Lo studente sarà in grado di analizzare i requisiti di un sistema di supporto alle decisioni e di adottare una strategia implementativa del DSS anche diversa da quelle apprese a lezione. 

Abilità comunicative 

Lo studente sarà in grado di descrivere con sufficiente livello di formalismo e appropriato linguaggio le strategie adottate per la progettazione e lo sviluppo di un sistema di supporto alle decisioni.

Capacità di apprendere

Lo studente sarà in grado, dato un problema, di valutare le diverse strategie risolutive e scegliere la più adatta in specifiche circostanze, consapevole delle limitazioni e dei punti di forza della strategia adottata.

Operational research provides tools to solve problems of process optimization and decision problems with limited resources. The main objective of the course is to acquire the tools necessary to formulate real problems as linear mathematical models. For the resolution of mathematical models with continuous variables, the simplex method is described in detail and, after having identified the optimal solution, sensitivity analysis is performed on these models. The course also provides the basic knowledge for the solution of optimization models using Excel.


Knowledge and ability to understand
Know the main foundations of mathematical modeling of optimization problems and decision problems. Know the basic methodologies for the representation of optimization problems through linear models. Know basic tools and algorithms for solving linear optimization problems. Know the basic elements of network theory and graph theory. Know the basic optimization problems on the network. Know the elementary algorithms for solving network optimization problems.


Knowledge and understanding skills applied
Knowing how to represent a simple optimization or decision problem through a linear mathematical model with continuous variables. Knowing how to solve simple problems of continuous linear mathematical programming. Know how to distinguish the tools for solving continuous linear optimization problems. To know how to model simple problems through graphs and flow networks. Know how to solve simple optimization problems on the network.


Autonomy of judgment 
Ability to evaluate and compare autonomously the mathematical solutions of a problem of limited complexity.

Communication skills  
Ability to organize in work groups. Ability to communicate effectively in written and / or oral form even in English. 

Ability to learn 
Ability to catalog, schematize and rework the knowledge acquired. 


The course introduces students to basic and advanced concepts related to the implementation of applications for mobile devices. An overview will be carried out on the creation of web services and communication between mobile devices and web services. The set of technologies underlying the development of applications for Android-based devices will be presented. Finally, frameworks for the development of hybrid applications will be presented.

Knowledge and ability to understand 
At the end of the didactic activity, the student will know the theoretical and practical aspects related to the technologies used for the realization of native and hybrid applications for mobile devices.

Knowledge and understanding skills applied
The student can put into practice the knowledge learned within a software project assigned by the teacher.

Autonomy of judgment 
The student will achieve the necessary skills to understand and analyze applications already implemented. Will learn to evaluate the differences between the many available technologies and will be able to choose those that best lend themselves to the solution of a specific problem.

Communication skills 
Communication and organization within a software project are essential elements for a successful project. Therefore, students will be encouraged to organize frequent meetings, both with other students and with the teacher. The opportunities to support the project activities provided by the numerous communication and collaboration tools that make use of information technologies such as wikis, blogs, social networks, mailing lists, chat and cloud services will also be explored.

Ability to learn
The student will deepen transversal skills related to the application of technological, methodological, organizational and communicative knowledge to the realization of a real software project, will have full autonomy on the choice of tools and technologies that will be necessary for the realization of the project and will be encouraged to experiment new technologies that can improve the success of the project and specialize the baggage of both individual and group knowledge.

The course represents a complete course in statistics for students attending a first degree in Informatics or Engineering and it introduces basic methodological tools in probability and statistical inference, oriented to applications in technology, systems analysis and quality control. The goal of the course is to offer basic skills in explorative data analysis, statistical inference, point estimation, credibility intervals and hypothesis testing, with respect to the sampling designs with one sample and two or several samples. Moreover, the student will be introduced to the statistical methods for dependent data: analysis of variance, simple linear regression. In order to improve applicative skills, computer sessions in data analysis are planned with R.

Knowledge and ability to understand
At the end of the course the student will have learned the basic statistical methodologies (estimation, hypothesis control, application of models, validation, prediction), exploring conceptual and mathematical aspects.

Knowledge and understanding skills applied
The student will experience from the application point of view the methodologies studied in relation to the various problems of statistical analysis (estimation, hypothesis control, application of models, validation, forecast) all developed in an operative and decisional context.

Autonomy of judgment
The student will achieve the necessary skills to distinguish the different methods studied and above all will be able to decide when to use them in relation to the different application issues that may arise.

Communication skills

The student will be able to express complex concepts concerning the methodologies studied through a language based on synthesis and clarity. It will also be able to represent the same techniques through the rigor of mathematical language.

Ability to learn
The student will be able to understand all the phases of the statistical analysis of data, considering management, methodological and implementation aspects. In the laboratory sessions of data analysis will have the opportunity to improve its application and operational skills.

The goal of the course is the teaching of basic concepts underlying AI from a computational perspective point of view rather than a cognitive point view. Such a perspective is more appropriate to the context of an undergraduate degree in Computer Science. The student will move from a basic concept of rational and computational agent, able to take autonomous decisions in a variety of contexts. The course will then introduce some general techniques for finding solutions and making decisions, based on non-informed comprehensive research methodologies, heuristic search and local search methods. Then, specific domains of application and specialization of these methods, such as natural language understanding, planning and robotics will be discussed.

The student, at the end of the course, will have a real understanding of what is “artificial intelligence” and what are its applications, and develop criteria for choosing the most appropriate learned methodologies to the characteristics of the application domain.

The student, according to the objectives of the bachelor’s course, will develop specific skills by integrating knowledge from other modules, practise management of digital geographic data, and apply appropriate methodologies and analysis based on project-work and GIS applications.

The student will be able to gain the theoretical and practical knowledge on the fundamentals of cartography, the use of vector and raster data, models of spatial analysis and open source GIS geo-database.