This feature allows you to view your educational path, if you enrolled in previous years

Curriculum(s) for 2024 - Mathematical Sciences for Artificial Intelligence (31778)

Single curriculum

1st year

LessonSemesterCFUSSDLanguage
10616928 | Linear Algebra and Algebraic Structures1st12MAT/03, MAT/02, MAT/02ITA
ALGEBRAIC STRUCTURES1st3MAT/03ITA
Linear Algebra1st9MAT/02, MAT/02ITA
10599697 | ANALYSIS I1st9MAT/05ITA

Educational objectives

Educational goals.
The course aims to provide the foundations of mathematical analysis in a rigorous and at the same time concrete way. The student will have to familiarize himself with the elements of calculus, both from the point of view of practical exercises and in terms of abstract definitions and theorems. The proofs of the main theorems highlight some deep aspects of mathematical analysis, and offer the student the opportunity to develop a critical point of view towards computing tools, which will be fundamental during the entire degree course.

Specific objectives:

The course deals with the fundamentals of mathematical analysis. In particular:

The system of integer, rational and real numbers
The concepts of function and limit of a function
Sequences
Series
Continuity
Derivative
The fundamental theorems of differential calculus
Function studies
Polynomials and Taylor series
Integrals

Knowledge and understanding:
The student will acquire competence on the fundamental concepts of differential and integral calculus.

Application of knowledge and understanding:
The student will be able to understand the behavior of even non-simple functions, analyzing them with the methods of differential and integral calculus; he will be able to evaluate the convergence of numerical and Taylor series; he will be able to compute integrals of functions.

Autonomy of judgment:
The student will be able to evaluate the difficulties inherent in the rigorous definition of the foundations of mathematical analysis.

Communication skills:
The student will be able to communicate in a concise, effective and formally correct way the statements of mathematical analysis theorems, their proofs, as well as the solution of exercises.

10603314 | Programming Fundamentals with Laboratory1st9INF/01ITA

Educational objectives

General objectives:
Introduction to programming with the Python programing language.

Specific objectives:
Introduction to programming through the Python language.
Data types, variables, assignments, control structures, functions, classes, modules, and Input/Output.
Data structures: arrays, strings, lists, tuples, and dictionaries.
Design and development of programs through procedural programming and object-oriented programming.
Recursive and iterative algorithms.
Python libraries for graphics, file handling, text/html processing, and internet access.
Program debugging and testing with Spyder as IDE and ipython.

Problem Solving and Understanding of a problem:

Understand and define a problem's requirements.
Choose how to represent the input and what data structures to use for intermediate computations and output.
Define the algorithm solving the problem.
Code the algorithm as a Python program.
Modularize the program as small separate functions/methods.
Test that the program satisfies the requirements.

Apply knowledge and understanding:
Students will work at home on a series of programming tasks, throughout the whole course, to practice and to show what has been learned.
At the end of the course, the exam will be based on a lab test where they should solve and program various programming exercises.

Critical and judgmental skills:
At the end of the course, students should be able to autonomously choose how to solve a programming task (analysis, implementation, and test).

Communication skills:
Students must have good text comprehension abilities for the problem analysis and requirement definition phase.

Learning ability:
The ability to analyze a problem to define its requirements and design both the necessary data structures and the correct algorithm will apply to other programming languages and will be very useful for the following programming courses.

1011790 | PHYSICS2nd9FIS/01ITA

Educational objectives

GENERAL OBJECTIVES
- Learning the main concepts of Physics concerning
mechanics, termodynamics, electromagnetism and optics,
paying attention to observations of common live and
to the applications to real world situations.
- Developing problem-solving ability by using an approach
that describes physical phenomena, combining analytical,
numerical and IT methods, in particular learning to check
physical dimensions and the order of magnitude of the results.
- Developing a critical sense concerning the unavoidable
uncertainties, to be taken into acccount when solving problems
real life data are used in the calculations.

SPECIFIC OBJECTIVES:
A – Knowledge and understanding
- To emonstrate knowledge and understanding at post secondary
instruction of the concepts taught during the course and
of the basic elements of the logic of uncertainty needed
to handle experimental data.
- To emonstrate to see and use, in the problem-solving process,
the analogies between different physical phenomena.
B – Application skills
- To ormalize a physics problem using the tools of algebra,
geometry and analysis.
- To Solve a problem using analytical, numeric or
computational methods, making also use of 'high level'
programming languages.
C – Autonomy of judgment
- To develop the ability to autonomously set up, analyze and
solve problems of physics.
D – Communication skills
- To develop the ability to autonomously set up, analyze and
solve problems of physics.
E – Ability to learn
- Develop the skills necessary to undertake further studies
with a high degree of autonomy.

10603331 | Programming Techniques with Laboratory2nd9ING-INF/05ITA

Educational objectives

General objectives:

Introduce the fundamentals of computational thinking and problem solving through Python programming.
Provide students with the skills necessary to profitably use the computational method for problem solving problems such as object-oriented programming, recursion, basic data structures, and dynamic programming.
The tools will be presented both with a rigorous mathematical treatment aimed at evaluating the correctness and efficiency of the proposed solutions and through programming and numerous examples of computational problem solving.
The course has a strong design connotation and therefore includes weekly laboratory exercises.

Specific objectives:

Knowledge and understanding:
Provide a broad overview of the analysis and design of Python programs that require a thorough understanding of computational thinking.
The various problems addressed are rigorously defined. The theoretical and technological concepts needed to understand the adopted solutions are provided.

Apply knowledge and understanding:
Solve specific programming problems by applying the techniques studied.
Conduct laboratory exercises that allow students to apply the knowledge acquired.

Critical and judgmental skills:
Being able to evaluate the correctness of a program and its adequacy with respect to the requirements.

Communication skills:
Be able to describe the choices made in the solutions adopted and explain the execution mechanism of the programs according to the model adopted.

Learning ability:
Autonomous study of topics presented in the course by carrying out exercises proposed in the laboratory and at home.

1031978 | 2nd9MAT/06ITA

Educational objectives

The course aims to introduce the basic concepts of probability and statistics, in particular in relation to the possibility of modelling some concrete problems with probabilistic methods. The course will then present various methods for computing the probability of relatively complex events, the definition and elementary properties of discrete and continuous random variables, detailing important examples and discussing a few limit theorems. At the end of the course the conscientious student should be able to tackle a concrete problem with stochastic elements, build a satisfactory probabilistic modelling, identify if he is able to find an explicit solution within the developed theory and introduce the relevant statistical estimators.

10603329 | Fundamentals of Neuroscience2nd6M-PSI/02, BIO/09ITA

Educational objectives

General skills
The course in Fundaments of Neuroscience is subdivided in two modules, which drive progressively the student to acquire basic knowledges on the nervous systems, starting from its functional unit (the neurons) up to complex circuits.

This module aims at guiding students to a deep knowledge of the morpho-functional characteristics of neurons (the functional unit of the nervous system), through the progressive analysis of the biophysical characteristics of neuronal membranes and their passive and active electrical properties, the generation of nerve signals and their propagation, and the transmission of these signals along neural circuits created by the integration of several functional units. This part of the course requires a brief introduction in cell biology, recapitulating the main basic notions (structure and function of cell organelles, nucleic acid, membranes; protein synthesis and degradation; chemical-physical characteristics of intracellular and extracellular environments).

Fundamentals of Neuroscience 12nd3M-PSI/02ITA

Educational objectives

General skills
The course in Fundaments of Neuroscience is subdivided in two modules, which drive progressively the student to acquire basic knowledges on the nervous systems, starting from its functional unit (the neurons) up to complex circuits.

In this module, students will learn fundamental notions on the anatomy and functioning of brain circuits. This module aims to make the student acquire knowledge useful to understand the relationship between structure and function in the nervous system, with particular reference to the regulation of behavior and mental processes.

Fundamentals of Neuroscience 22nd3BIO/09ITA

Educational objectives

General skills
The course in Fundaments of Neuroscience is subdivided in two modules, which drive progressively the student to acquire basic knowledges on the nervous systems, starting from its functional unit (the neurons) up to complex circuits.

This module aims at guiding students to a deep knowledge of the morpho-functional characteristics of neurons (the functional unit of the nervous system), through the progressive analysis of the biophysical characteristics of neuronal membranes and their passive and active electrical properties, the generation of nerve signals and their propagation, and the transmission of these signals along neural circuits created by the integration of several functional units. This part of the course requires a brief introduction in cell biology, recapitulating the main basic notions (structure and function of cell organelles, nucleic acid, membranes; protein synthesis and degradation; chemical-physical characteristics of intracellular and extracellular environments).

2nd year

LessonSemesterCFUSSDLanguage
10603315 | Algorithms and Complexity1st6INF/01ITA

Educational objectives

The training objectives of the course are mainly two. The first is to provide an introduction to the design and analysis of algorithms resting on a solid conceptual and mathematical basis. The second is to provide an introduction to the fundamental phenomenon known as the computational complexity of algorithmic problems. Concerning the first objective, an introduction to the main design techniques will be provided through a series of notable algorithmic problems. For the second, the main focus will be on the notions of undecidability and NP-completeness.

10604473 | Mathematical Modelling for Physics1st12FIS/02, MAT/07ITA

Educational objectives

General targets: To acquire basic knowledge in classical mechanics and in dynamical systems.

Knowledge and understanding: Students who have passed the exam will be able to construct mathematical models not only for problems of mechanical nature, and to use analytic and qualitative methods of ordinary differential equations to deal with them.

Applying knowledge and understanding: Students who have passed the exam will be able: i) to perform the qualitative analysis on the phase space for one-dimensional conservative systems and to obtain quantitative estimates; ii) to study problems of stability of equilibrium points elementary methods of Liapunov; iii) to calculate frequencies of normal modes around stable equilibria; iv) to choose properly Lagrangian coordinates for particular configuration manifolds; iv) to recognize the variational nature of Lagrange equations and their implications; v) to use specific criteria for searching prime integrals in Lagrange equations and to perform the subsequent reduction to a smaller number of degrees of freedom; vi) to perform numerical simulations of simple ODEs

Making judgements: Students who have passed the exam will have the basis to analyze the similarities between the topics covered in the course and the already acquired knowledges in analysis and geometry; they will also acquire important tools and ideas that have historically led to the solution of fundamental problems of classical mechanics and dynamical systems.

Communication skills: Students who have passed the exam will have gained the ability to communicate concepts, ideas and methodologies of analytical mechanics and dynamical systems.

Learning skills: The acquired knowledge will allow students who have passed the exam to face the study, at an individual level or in a master's degree course, of specialized aspects of classical mechanics and, more generally, of the theory of dynamical systems.

Mathematical Modelling for Physics I1st6FIS/02ITA

Educational objectives

General targets: To acquire basic knowledge in probability theory and in classical statistical mechanics.

Knowledge and understanding: Students who have passed the exam will be able to construct mathematical models of systems with many degrees of freedom in the limit of non-interacting systems and in some instances of interacting systems with applications to selected problems.

Applying knowledge and understanding: Students who have passed the exam will be able to: i) conduct a quantitative analysis of non-interacting systems with many degrees of freedom using different alternative methodologies [microcanonical, canonical and grancanonical ensembles]; ii) handle the equivalence of the different alternative methodologies; iii) identify the elements of a statistical mechanics approach for the description of interacting systems typically encountered in Physics but also Inference and Machine Learning.

Critical skills: Students who have passed the exam will have developed the ability to think in probabilistic and statistical terms using the concepts of statistical mechanics as toolbox for “problem solving” in applications to problems of physical systems and more broadly in a number of disparate fields (inference, machine learning, AI in general, social-economic systems, biological systems, medical problems).

Communication skills: Students who have passed the exam will have gained the ability to communicate concepts, ideas and methodologies of classical statistical mechanics and its application to systems with many degrees of freedom.

Learning skills: The acquired knowledge will allow students who have passed the exam to face the study, at an individual level or in a master's degree course, of specialized aspects of classical statistical mechanics and, more generally, of the theory of complex systems.

Mathematical Modelling for Physics II1st6MAT/07ITA

Educational objectives

General targets: To acquire basic knowledge in classical mechanics and in dynamical systems.

Knowledge and understanding: Students who have passed the exam will be able to construct mathematical models not only for problems of mechanical nature, and to use analytic and qualitative methods of ordinary differential equations to deal with them.

Applying knowledge and understanding: Students who have passed the exam will be able: i) to perform the qualitative analysis on the phase space for one-dimensional conservative systems and to obtain quantitative estimates; ii) to study problems of stability of equilibrium points elementary methods of Liapunov; iii) to calculate frequencies of normal modes around stable equilibria; iv) to choose properly Lagrangian coordinates for particular configuration manifolds; iv) to recognize the variational nature of Lagrange equations and their implications; v) to use specific criteria for searching prime integrals in Lagrange equations and to perform the subsequent reduction to a smaller number of degrees of freedom; vi) to perform numerical simulations of simple ODEs

Making judgements: Students who have passed the exam will have the basis to analyze the similarities between the topics covered in the course and the already acquired knowledges in analysis and geometry; they will also acquire important tools and ideas that have historically led to the solution of fundamental problems of classical mechanics and dynamical systems.

Communication skills: Students who have passed the exam will have gained the ability to communicate concepts, ideas and methodologies of analytical mechanics and dynamical systems.

Learning skills: The acquired knowledge will allow students who have passed the exam to face the study, at an individual level or in a master's degree course, of specialized aspects of classical mechanics and, more generally, of the theory of dynamical systems.

10599698 | ANALYSIS II1st9MAT/05ITA

Educational objectives

General objectives:
Acquire some advanced knowledge of Mathematical Analysis in spaces of several variables.

Specific objectives:
Knowledge and understanding: at the end of the course the student will have acquired basic notions and results relating to the geometry and metric properties of some Hilbert spaces and of some operators acting on them.

1031979 | Numerical Methods2nd9MAT/08ITA

Educational objectives

Aims
The aim of the course is to teach the main numerical techniques to implement algorithms for solving mathematical problems on the computer.
In addition, the student will be able to implement these algorithms on the computer, verify their quality, reliability and efficiency.

Specific goals
At the end of the course, the student will know classical algorithms to solve linear systems, with direct and iterative methods and will know simple approximation methods and quadrature techniques

Knowledge and understanding:
Understanding the tools needed to approximate the solution of a mathematical problem with an algorithm and knowledge of some algorithms and the related analysis techniques

Application of knowledge and understanding
The knowledge learned is applied in the writing of codes implementing the algorithms studied, and in the construction of test problems to evaluate the quality of the proposed solutions.

Autonomy of judgment
The student learns to observe the results of the codes to diagnose problems in the algorithms and programs obtained.

Communication skills
The student learns to communicate in a technical and unambiguous way through the writing of codes and in the writing of the documentation of his work.

10603316 | Fundamentals of Artificial Intelligence and Data Management2nd12ING-INF/05ITA

Educational objectives

General goals:
--------------
To present the fundamental methods of artificial intelligence that are based on high-level symbolic representations. To introduce the main techniques for searching, the main languages for the representation of knowledge and the associated reasoning mechanisms.
To study of the fundamental aspects of data management systems and database design methodologies. More precisely, the goal is to provide the student with the notions regarding techniques and methods to address database design problems, with emphasis on modeling languages and their formal properties.

Specific goals:
---------------
To address search problems, use languages for knowledge representation, apply the main techniques of symbolic reasoning.
To conduct projects for the creation of databases using the appropriate methodologies and the appropriate languages for data modeling and manipulation

Knowledge and understanding:
----------------------------
Learning the notion of intelligent agent, automatic search techniques in the space of solutions, mechanisms for knowledge representation, forms of reasoning, logic programming.
Knowledge of data representation models, database management systems, languages to interact with databases, and relational data base design methodologies.

Apply knowledge and understanding:
----------------------------------
Being able to make searches in the space of solutions, define knowledge bases and use automatic reasoning mechanisms over them.
Being able to design relational databases using appropriate methodologies that guarantee correctness and efficiency of the design product.

Critical and judgment skills:
------------------------------
Knowing how to evaluate the quality of symbolic representation, in terms of expressiveness and computational complexity.
Being able to evaluate the correctness of a data base schema, and the efficiency of a data base against information on the application load that will weigh on the data.

Communication skills:
---------------------
Being able to describe the choices made and the design and development methodologies adopted as part of a knowledge base or database project.

Learning ability
--------------------------
The design activities carried out during the course will stimulate the student to autonomously study some topics presented in the course.

10603317 | Machine Learning2nd9INF/01ITA

Educational objectives

General goals:
Familiarity with fundamental machine learning techniques, both supervised and unsupervised; modeling skills of complex problems using machine learning techniques, and their application to diverse applicative settings.

Specific goals:
Topics include: clustering algorithms; ensemble methods, decision trees and decision forests; deep neural networks, their training and the interpretation of results; convolutional networks and prominent architectures; theory of deep learning and convergence; programming frameworks for implementing fundamental machine learning techniques; principal component analysis and autoencoders; adversarial attacks.

Knowledge and understanding:
How the principal learning models work and their mathematical interpretation (including universal approximation theory). Understanding the limits and potentials of fundamental machine learning models.

Applying knowledge and understanding:
Design, implementation, deployment and analysis of decision forests, clustering algorithms, PCA, and deep learning architectures addressing complex problems in several applicative areas.

Critical and judgmental abilities:
To be able to evaluate the performance of different models, and to assess their generalization capabilities.

Communication skills:
To be able to communicate clearly how to formulate an advanced machine learning problem as well as its implementation, its applicability in realistic settings, and specific architectural and regularization choices.

Ability to learn:
Understanding alternative and more complex techniques such as graph deep learning models, generative models, scattering transforms and the energetic profile of neural networks. To be able to implement existing techniques efficiently, robustly and reliably.

1017662 | OPTIMIZATION2nd6MAT/09ITA

Educational objectives

To provide methodologies and algorithmic tools for the formulation, analysis and solution of several optimization problems,
with particular reference to those concerning artificial intelligence.

The mathematical programming topics and the optimization algorithms characterizing
the course will be useful to deeply understand the mathematical models and optimization methods underlying
artificial intelligence tools.
The students of the course will be able to design and implement algorithms
for complex optimization problems and, in particular, for machine learning.

3rd year

LessonSemesterCFUSSDLanguage
10603328 | Computational Biology1st6BIO/10, BIO/11ITA

Educational objectives

The course aims to illustrate the main computational approaches used in Biology for analyzing complex regulatory circuits and elaborating simulation models.

This part of the course will describe the state of art on the main cell regulatory systems at molecular level and the high-throughput techniques applied in genomics, epigenomics, transcriptomics, proteomics and metabolomics.

Introduction to Molecular Biology1st3BIO/10ITA

Educational objectives

The course aims to illustrate the main computational approaches used in Biology for analyzing complex regulatory circuits and elaborating simulation models.

In this part of the course bioinformatic and computational approaches for data mining, meta-analysis and modelization will be introduced. The final goal is to give the student a preliminary view of possible applications of computational methods to Biology and Biomedicine.

Computational Biology1st3BIO/11ITA

Educational objectives

The course aims to illustrate the main computational approaches used in Biology for analyzing complex regulatory circuits and elaborating simulation models.

This part of the course will describe the state of art on the main cell regulatory systems at molecular level and the high-throughput techniques applied in genomics, epigenomics, transcriptomics, proteomics and metabolomics.

1031451 | STOCHASTIC PROCESSES1st6MAT/06ITA

Educational objectives

General objectives: The objective of the course is to give students an overview of the main stochastic processes such as Markov chains and Brownian motion, explaining its fundamental dynamic-probabilistic properties and various relevant applications such as the Monte Carlo method and the probabilistic representation of solutions of differential equations. Entropic concepts of information theory for Markov chains will also be introduced.

Specific objectives: The course mainly deals with the following topics: discrete and continuous time Markov chains (stationarity, reversibility, convergence to equilibrium, ergodic theorem); Monte Carlo method; relative entropy for Markov chains (entropy of a random variable, conditional entropy, relative entropy for a succession of random variables); Brownian motion and heat equation; approximation of Brownian motion by means of random walks.

Knowledge and understanding:
The student will acquire knowledge on stochastic processes and some of their applications in information theory and applied mathematics.

Application of knowledge and understanding:
The student will be able to model random evolutions through stochastic processes, study their qualitative and quantitative behavior. He/she will also become familiar with the probabilistic foundations of important simulation and approximation techniques based on stochastic processes.

Autonomy of judgment:
The student will be able to understand the problems related to random dynamics.

Communication skills:
The student must acquire an appropriate scientific language to explain in a clear and linear way the concepts underlying the stochastic processes.

Learning ability:
The course allows the student to fully understand the use of stochastic processes in various applications, including IT.

Elective course1st6ITA
AAF2227 | English1st4, ITA

Educational objectives

The course aims to improve the command of the English language, starting from the knowledge that students have already acquired in high school, with particular attention to technical-scientific English.

Elective course2nd6ITA
AAF1006 | FINAL TEST2nd8ITA

Educational objectives

The objectives of the final exam are manifold
- Preparation of a paper in which the student faces a problem or a topic close to those that have been dealt with during the degree course, under the supervision of a professor
- Preparation of a presentation for the final oral exam, in front of a committee of professors.
- Through the preparation of the paper and the presentation, the student learns to work independently and to apply the knowledge and tools acquired to tackle a problem or topic that has not already been covered in the planned courses
- The student must also present the result of his work in front of a commission, thereby developing his technical communication skills.

AAF2229 | Ethics of Artificial Intelligence2nd3ITA

Educational objectives

The course aims to provide an overview of the numerous ethical and social issues raised by Artificial Intelligence and its impact on society and individuals.
Students will learn about the main social and ethical challenges posed by AI, their development and their application in daily life. The conceptual analysis will be supported by the discussion of practical case studies that will allow them to critically address the ethical issues of AI

AAF2228 | Scientific Communication2nd3ITA

Educational objectives

Aims
The first educational objective of the course is to prepare young people for the scientific debate on the media with a focus on artificial intelligence issues. The student will have the opportunity to know the tools and skills required for correct communication. Identification of users and sources. Writing for different textual genres, conducting interviews. Use of the web and "social" communication. The second objective of the course is the optimization of the ability to present one's scientific curriculum to an audience of experts with the ultimate aim of improving the job placement performance of students. The course will be complemented by practical exercises.

Knowledge and understanding
The languages ​​of communication

Ability to apply knowledge and understanding
Communication of scientific data

Critical and judgmental skills
Evaluation of the critical issues of scientific communication relating to the correctness of sources and the identification of the appropriate language for different users.

Ability to communicate what has been learned
Group discussion of the topics of the course, simulation of editorial meetings, simulation of professional interviews.

Ability to continue studying independently throughout life
Maturation of critical skills as well as the understanding of the cultural strength of communication.

Group A
Group B

Optional groups

The student must acquire 6 CFU from the following exams
LessonYearSemesterCFUSSDLanguage
10603321 | Earthquake Physics and Machine Learning3rd1st6GEO/10ENG

Educational objectives

This course will cover aspects of earthquake physics in connection with data science and artificial intelligence methods to forecast and predict brittle failure using machine learning (ML) and deep learning (DL). We will develop the theory of friction constitutive laws for tectonic faulting and show how fault zone acoustic emissions (laboratory foreshocks) can be used to predict lab earthquakes. The physics of frictional failure and the resulting spectrum of slip modes will be connected to machine learning methods used to auto-recognize failure events in elastic wave (seismic, acoustic) data. The physics of precursory changes in fault zone elastic properties will be developed in the context of ML and DL methods to predict fault zone stress state and the timing and magnitude of lab earthquakes. Topics will include elasticity, faulting, rate and state friction laws, the state of stress in Earth's crust, frequency magnitude relations for failure events, earthquake scaling laws, the seismic cycle, and earthquake prediction.

10605218 | Computer architectures for artificial intelligence3rd1st6INF/01ITA

Educational objectives

General objectives:
The goal of Computer Architectures for AI is to give an overview of the available hardware solutions used for the execution of the main AI algorithms. The course starts from the description of general-purpose computing architecture, highlighting its main characteristics and performance limits.
After, various hardware solutions for AI useful to overcome the limitations of general-purpose architectures are presented. The related programming paradigms of the different architectures for AI will also be introduced.

Specific objectives:
The course deals with the main hardware architectures used for AI. In particular, the following architectures will be presented:
- Multicore processors and parallel programming paradigm via OpenMP.
- GPU and massively parallel programming paradigm via CUDA.
- TPU and programming with TensorFlow
- FPGA and programming with OpenCL / HLS

Knowledge and understanding:
The student will acquire knowledge on the organization of the various hardware architectures used for AI.
Furthermore, the student will learn how to program such architectures to execute algorithms for AI.

Application of knowledge and understanding:
The student will be able to develop AI algorithms on different hardware architectures and to evaluate the performances achievable on different architectures.

Autonomy of judgment:
The student will be able to understand the issues related to programming AI algorithms and to estimate the achievable performance on different hardware architectures.

Communication skills:
The course does not have explicit objectives on communication skills, except to train in the rigorous exposition of technical topics.

Learning ability:
The course allows the students to understand the differences between the various hardware architectures for AI and offers the tools to choose the most suitable architecture according to the application scenario.

10603320 | Logic and Probabilistic Methods for Computer Science3rd2nd6ING-INF/05ITA

Educational objectives

General objectives

To provide the student with the fundamental formal notions of two basic aspects of the preparation of an artificial intelligence scientist, mathematical logic and probabilistic methods in computer science. The two sections of the course are dedicated to these two aspects. The first part of the course aims to introduce mathematical logic as a powerful tool for modeling and formally reasoning on different aspects of artificial intelligence, in particular data management, knowledge representation, querying and data review. and knowledge. The second part of the course aims to illustrate some fundamental aspects of the
probabilistic methods in computer science such as the design and analysis of probabilistic algorithms, sampling and probabilistic allocation methods, stochastic processes and some of their applications to data analysis and machine learning.

Specific goals

Knowledge and understanding
For to the first part of the course, the student learns the fundamental notions of mathematical logic, the principles according to which the validity of arguments is judged, the relationships between arguments are analyzed and inferential relationships are evaluated, such as deduction, induction and abduction, among them. Compared to the second part of the course, the student learns the basic notions of the design of probabilistic algorithms and their analysis and acquires the basics to apply these notions to the design of fundamental algorithms in Artificial Intelligence, including search and sorting algorithms, algorithms on networks and graphs, classification algorithms, clustering and machine learning.

Apply knowledge and understanding
The student gains a deep understanding of the role of logic in various aspects of artificial intelligence and basic knowledge to formalize a problem in logic, analyze logical theories and reason on related inferences, build logical theories for modeling knowledge bases of medium complexity, specify logic queries of databases and knowledge base and translate the specification of simple computations into logic programs.
The student acquires a deep understanding of the role of probability in the design of algorithms and in data analysis and acquires basic knowledge to carry out analysis of probabilistic algorithms, define probabilistic algorithms for problems of medium complexity, apply fundamental methods such as Monte Carlo method, Markov chains, dynamic programming and Bayesian models in different contexts, such as sequences, graphs, networks, machine learning, classification and clustering.

Critical and judgmental skills
The student is able to evaluate the validity of statements and arguments, the coherence of a set of axioms in a knowledge base, the adequacy of the formulation of a computation that extracts data from a data and knowledge base, the correctness of a logic program with respect to the specification of certain properties. The student is able to analyze probabilistic algorithms, to evaluate the effectiveness of probabilistic and dynamic optimization methods for algorithmic and Artificial Intelligence problems and to judge the quality of the application of machine learning, classification and clustering algorithms.

Communication skills
The practical activities and exercises of the course allow the student to acquire crucial tools to communicate and share the critical evaluation of logical tools and languages and their role in artificial intelligence and algorithmic methods and their role in different important contexts of Artificial Intelligence.

Learning ability
In addition to the classic learning skills provided by the theoretical study of the basic topics covered in the course, the methods used for the course, in particular the programming activities, stimulate the student to autonomously study some topics, to work in groups and to develop concrete applications of the concepts and techniques learned during the course.

10603357 | Scientific Computing3rd2nd6MAT/08ITA

Educational objectives

General goals: to acquire the basic skills for the numerical treatment of ordinary and partial differential equations related to the study of mathematical models for some applications such as traffic, image processing and vision.

Specific goals
Knowledge and understanding: Students who have passed the exam will have a good basic knowledge of the numerical methods studied both from a theoretical point of view and from the implementation side and will be able to understand how to structure basic algorithms for the simulation of mathematical differential models.

Applying knowledge and understanding: at the end of the course the student will be able to perform simulations on stationary and evolutionary differential problems obtaining quantitative results for the problems treated. He will also be able to design and implement codes that interact appropriately with a potential user through graphics.

Critical and judgment skills: the student will have the theoretical basis to analyze the mathematical algorithms treated from the point of view of computational efficiency, stability and accuracy. On the one hand, he will be able to apply the skills acquired in the courses of Linear Algebra, Mathematical Analysis to analyze elementary numerical methods and on the other hand he will be able to solve numerically problems proposed in several application fields.

Communication skills: ability to explain and motivate the proposed solution for some problems chosen during the term, in classroom / laboratory practice sessions and in the oral exam scheduled at the end of the course.

Learning skills: the acquired knowledge will allow individual or guided study in an advanced course of numerical analysis for differential problems, related to more specialized aspects that require further mathematical knowledge. Furthermore, the student will be familiar with different IT elements such as the programming language, libraries, compilers, the different software available on the net offering an integrated development environment under different operating systems. These skills will certainly allow him to learn more easily the use of other software of interest for scientific computing and on the job.

The student must acquire 6 CFU from the following exams
LessonYearSemesterCFUSSDLanguage
10603323 | Applications of Machine Learning in Computer Science3rd1st6ING-INF/05ITA

Educational objectives

The course aims to provide the student with the skills regarding the most common applications of machine learning (better known as machine learning). The student will be able to recognize, given a problem, the most correct type of solution.
The theoretical and practical bases will be provided that will allow measuring the performance of a system based on machine learning.
The main application areas will be:
i) natural language processing;
ii) artificial vision;
iii) recommendation systems

10603322 | Mathematics for Machine Learning3rd2nd6MAT/07ITA

Educational objectives

The course aims to give an introduction to the mathematical theory of machine learning, including learning algorithms and big data analysis.
The main goal is to provide the student with the basic language and tools of machine learning, from the point of view of statistical learning theory.

At the end of the course the student will be acquainted with the best known algorithms and, in particular, she/he will be able to:

- Formulate a machine-learning problem as an inverse stochastic problem and master the basic mathematical notions and tools connected to it
- Identify the most suitable model and/or algorithm among those discussed during the course for a given machine learning problem
- Implement simple algorithms and apply them to synthetic and/or real data
- Analyze the performance of various algorithms from the point of view of computational complexity and statistical accuracy

10616786 | Artificial Intelligence Methods for Physics3rd2nd6FIS/01ITA