The most important outcomes for the audience will be:

1. A general understanding of the main research problems and most relevant findings in the new ‘science of fake news’ multidisciplinary sub-field, focusing on a selection and unavoidably biased list of some of the most influential and related scientific papers that have been published so far, especially in the last 8 years;
2. An introduction of the underlying mechanisms that make fake news propagation fast and difficult to stop (such as homophily, segregation and polarization in social networks, belief reinforcements, simple vs. complex social contagion, and so on);
3. The main methodologies used for understanding the phenomenon, as well as some of the techniques adopted so far to try to limit the spreading of low-quality information (and why they basically fail in the short term). These methodologies are based on deterministic as well as not deterministic modeling that allows what-if analyses as well as on data-driven approaches based on empirical observations;

Although the set of problems and methodologies is naturally multidisciplinary, the main field
category is computer science; nevertheless, anyone willing to make data science their own
field of expertise would be potentially interested in this topic.

See https://dott-informatica.campusnet.unito.it/do/corsi.pl/Show?_id=gu2e

With the ongoing explosion of data production and availability of devices with computational capabilities, traditional centralized data-processing techniques start to suffer from the increasing costs of data transfer, infrastructure, security and privacy needs. The edge/fog computing paradigm has emerged to meet these challenges, particularly for Internet of Things and open Cyber-Physical Systems. It processes data where it is generated in order to address the shortcomings of centralized techniques. However, decentralized architectures have their own challenges: handling device unreliability, data volatility, and coping with conficting goals. Aggregate Programming is a recent abstraction allowing one to program large-scale networks in a simple way, while providing strong guarantees on the resilience of the resulting behaviour under changes and unreliability. This abstraction shifts the local viewpoint of single device behaviour, to the global viewpoint of overall system behaviour; leaving the (automated) global-to-local translation to language implementation. This short course presents the Aggregate Programming abstraction, together with its commonly used distributed algorithms that have strong resilience guarantees, and its toolkit (programming language and simulator).