The course introduces the main concepts in information theory and algorithmic information theory.
The program in Data Science and Scientific Computing is organized in three curricula:
- Artificial Intelligence and Machine Learning
- Data Science and Applications
- Computational Science and Engineering
Each curriculum is further organized in several study plans, each corresponding to a specific application area, proposing a choice of specialization courses.
Check out the Study Plan page for more information.
Objective: introducing to the main techniques for the design of algorithms and data structures to manipulate strings, trees and large graphs, in particular to compression techniques and randomization.
Objective: introducing the student to state of the art methods for the numerical simulation of partial differential equation.
Objective: providing advanced knowledge of both theoretical and practical programming in C / C ++ and Python, with particular regard to the principles of object oriented programming and best practices of software development (advanced use of version control systems, continuous integration, unit testing), and introducing the modern technology of algorithms development.
Objective: providing an overview, in the context of modern astronomy, to the various cosmic objects and give the basic principles necessary for the determination of their fundamental physical quantities.
Objective: introducing techniques of analysis and statistical Bayesian inference.
Objective: introduce the main algorithmic methods for the storage, compression, and analysis of large amounts of biological data, with particular emphasis on the treatment of sequencing data produced with the latest generation sequencing technologies.
Objective: providing fundamental tools and numerical algorithms for solving problems of classical physics and simple problems of quantum physics.
Objective: providing knowledge of the most important theoretical formalism used in quantum chemistry, and of the main computational methods, numerical algorithms, and software tools in the field of quantum chemistry.
Objective: introducing machine learning techniques for artificial vision and pattern recognition in sequential data.
Notes: Begins on Octorber 9th.
Objective: providing advanced notions of the theory of dynamical systems both in continuous and in discrete time. Introduce to modern techniques for the design of complex control systems with particular reference to application contexts of engineering interest in the industrial field.
Objective: introduces the students to the design and analysis of Cyber-Physical Systems, we will see how to model such systems, how to specify and monitor their behaviors using formal languages as temporal logics, and how to use monitoring techniques for different applications as parameter synthesis and falsification test
Objective: introducing students to computational management of data, in particular the characterization of an information system, data modeling, design and management of databases, including non-traditional ones (eg, unstructured documents, spatial data, biological data , multimedia data), to the fundamentals of distributed data and to methodologies and techniques for the management and analysis of big data.
The course will introduce the student to data sources, problems, main concepts and models in Earth Science, with a focus on analytics using these data.
Objective: introducing the physical and mathematical principles of fluid dynamics.
Objective: providing a thorough and updated knowledge of cosmology issues related to the study of the formation of galaxies, clusters of galaxies and the structure of large-scale Universe in current cosmological models, through analytical, numerical, and statistical techniques for the evolution of disturbances in linear and nonlinear regime.
Objective: introducing students to modern architectures for high performance computing. Students will learn how to properly test such architectures (computing power, bandwidth, latency, energy efficiency). Leveraging these skills, students will be introduced to the parallel programming based on MPI protocols (Message Passing Interface) and multi-threading with OpenMP.
The course will introduce the student to the main problems, data sources, and models in Geophysics.
Objective: introducing advanced computational and statistical techniques for the analysis of clinical data.
Objective: presenting the most important conceptual aspects of information retrieval systems and both principles and techniques for data visualization.
Objective: introducing to the foundations of modern cosmological theories.
Objective: Introduce the students to the machine learning fundamentals, to the main techniques on supervised learning, and to the principal application domains. Present evolutionary calculation. The course explains how to design, develop and evaluate simple ML-based end-to-end systems and, at the same time, how to describe their operations.
The course introduces the main concepts and effects of quantum correlation on information theory, computation and machine learning.
Introducing to main concepts in quantum mechanics and quantum computing
Objective: providing expertise for the management of clinical and biomedical data from computerized medical records, through the methods of health information technology and of process modeling.
Objective: introducing the computational techniques used in molecular modeling and simulation, and illustrating how these techniques can be employed to describe and/ or predict chemical, physical and biological phenomena.
Objective: introduce modern computational techniques and machine learning techniques for the analysis of natural language.
Objective: You will learn how to organize, transform, analyse and visualize data, with a focus on the relational data model, and a detour to semistructured data. You will learn the fundamentals of data science using R environment.
Objective: providing numerical analysis tools for scientific computing, with particular attention to linear algebra, polynomial approximation, numerical integration, numerical solution of ordinary differential equations and partial differential equations, approximation of eigenvalues and eigenvectors.
Objective: providing an introduction to numerical methods and techniques for the numerical solution of quantum mechanical problems, especially in atomic physics and condensed matter, with a practical approach.
Objective: providing students with practical information on how to design data models and data structures, to manage metadata to optimize access and research, and to become familiar with interoperability standards. The course will focus on the concept of open data, with efficiency for big data projects, and the concept of cloud as an infrastructure for data management and their processes.
Objective: introducing to the dynamics of highly non-linear processes (turbulence) in fluid dynamics, and to the computational techniques used to solve such models.
Objective: presenting advanced machine learning techniques, with a focus on Bayesian methods.
Introduce the student to the physics of the inner stars and on radiative processes fundamental in astrophysics.
Objective: providing the ability to understand the functioning and the internal structure of a molecular dynamics program. Being able to write code for molecular dynamics simulations and to analyze the output.
Objective: introducing concepts and techniques for collaborative development of large and complex software systems for industrial applications, including Java, software development lifecycle, best practices in software development as code testing, versioning, and design patterns.
Objective: presenting statistical analysis techniques for social networks and other social and economic networks.
Objective: providing methods and results of the elementary statistics mechanics in equilibrium.
Objective: introducing students to the fundamentals and practice of stochastic modeling, simulation of stochastic models and inference of parameters starting from observations, with a focus on scalability for large models.