This course is made of two different modules, namely, [netsci] and [dataviz], whose objectives are described below. [netsci]: This course introduces the fundamental concepts, principles and methods in the interdisciplinary field of network science, with a particular focus on analysis techniques, modeling, and applications for the World Wide Web and online social media. Topics covered include graphic structures of networks, mathematical models of networks, common networks topologies, structure of large scale graphs, community structures, epidemic spreading, PageRank and other centrality measures, dynamic processes in networks, graphs visualization. Additionally, students will learn how to apply the basic principles of network science to perform CNA (Complex Network Analysis) tasks on real data, with R and/or Python and many different packages/libraries such as networkx, igraph, networkx, and so on, as well as advanced graph visualization tools as GePhi. [dataviz]: Another learning objective of this class falls in the field of scientific data visualization. Students will learn basic visualization design and evaluation principles, and learn how to acquire, parse, and analyze large datasets. Students will also learn techniques for visualizing multivariate, temporal, text-based, geospatial, hierarchical, and (of coursel) network/graph-based data. Additionally, students will utilize GePhi, D3, Python, and many other tools to prototype many of these techniques on existing datasets. Full version of the course includes both modules. This is of interest for students of INF0007 "Analisi e Visualizzazione delle Reti Complesse" (Master's degree in "Computer Science", 9 credits) and FIS0127 "Analisi e Visualizzazione di Reti Complesse" (Master's degree in "Fisica dei Sistemi Complessi", 9 credits). Other students may have to consider only the [netsci] module. In particular this applies to students attending MAT0049 "Complex networks" (Master's degree in "Stocastics and Data Science", 6 credits), and MFN0954 "Reti Complesse" (Master's degree in "Computer Science", 6 credits).

In corso è suddiviso in due parti:

- Analisi di Fourier (prof. P. Boggiatto)

- Probabilità (prof.ssa L. Sacerdote)

Il corso introduce a principali modelli e strumenti per la programmazione parallela e distribuita, con maggiore enfasi sulla programmazione parallela. Obiettivo primario è fornire metodi e strumenti per dominare la complessità della progettazione di applicazioni parallele basate sui modelli di programmazione a memoria condivisa, a scambio di messaggi e SIMD.

Metodologicamente, il corso prima introduce le architetture ed i concetti fondamentali per la programmazione parallela e distribuita (attività, sincronizzazione, comunicazione), che poi vengono applicati ed esemplificati su esempi di interesse per per i curriculum dello studente (es. calcolo scientifico).