I will teach how to organize, transform, analyse and visualize data, as well as how to effectively communicate the outcomes of the workflow, with a strong focus on network data.

The course will be multi-task (learn, make, use, watch, glance, read, dig, listen; see more below) and multi-teacher (I will be assisted by other real and virtual teachers). Some basics in programming, linear algebra and matrix theory, and statistics are desirable.

**Getting started**`watch`

The Joy of Stats by Hans Rosling trailer / documentary`watch`

The power of networks

**Data science in a nutshell**- Introduction to R
`use`

R`use`

RStudio`watch`

Getting started with R and RStudio`watch`

R tutorial`learn`

A hasty tour inside R (markup, markdown)`make`

Applications`watch`

A focus on data frames Part 1 / Part 2`learn`

Data frames vs. Tibbles`read`

Style`make`

DataCamp introduction to R`glance`

Cheatsheet. Base R`glance`

Cheatsheet. RStudio

- Data import and tidy
`watch`

Data import in base R`learn`

Data import in base R. Read chapter 4 (in particular chapter 4.12) in book T11`learn`

Data import with readr`dig`

Tidy data

- Data transformation
`learn`

Relational model and relational algebra`learn`

Data transformation in base R. Read chapters from 5.18 to 5.31 in book T11 as well as documentation of functions: subset, order, transform, aggregate, and merge`learn`

Data transformation with dplyr`learn`

Joins with dplyr`read`

DBI, RSQLite, and dbplyr

`make`

SQL vs. R`make`

nycflights13 with SQL, DBI and RSQLite`read`

Choosing R or Python for data analysis? An infographic`glance`

Cheatsheet. Data transformation: dplyr

- Data visualization
`read`

The Great Wave off Kanagawa`watch`

Plotting with Base R. Part 1 / Part 2 / Part 3`learn`

Data visualization in base R. Read chapter 10 in book T11`watch`

Plotting with ggplot`learn`

Data visualization with ggplot`learn`

Perfection is in the details`glance`

The R Graph Gallery`glance`

Cheatsheet. Data visualization: ggplot2

- Exploratory data analysis
`watch`

Correlation and covariance in R

`glance`

The corplot package`watch`

EDA with base R`learn`

EDA with dplyr and ggplot`dig`

Linear regression in R

- Introduction to R
**Essential linear algebra**`listen`

Notes on linear algebra and matrix theory Invited teacher: Enrico Bozzo.

**Essential graph theory****Network science**- Introduction
`watch`

A visual history of human knowledge`glance`

Gallery: Gorgeous networks that help us understand the world`glance`

Visual complexity`glance`

Networkism`watch`

From trees to rhizomes. Picture show and caption text`learn`

Technological networks`learn`

Social networks`learn`

Information networks`learn`

Biological networks

- Centrality
`learn`

Degree`learn`

Eigenvector, Katz, and PageRank centralities`dig`

PageRank: Standing on the shoulders of giants`learn`

Closeness`learn`

Betweenness`dig`

Current-flow centralities

- Power
`learn`

A measure of power in networks`dig`

A theory on power in networks`dig`

Bargaining and power in networks. Chapter 12 in EK10

- Similarity and heterogeneity
`learn`

Similarity`learn`

Heterogeneity

- Community detection
`learn`

Modularity`learn`

Spectral comunity detection`learn`

Hierarchical clustering`learn`

Other methods

- Structure
`learn`

Network models`learn`

Components and resiliance`make`

Components and resiliance in R (markup, markdown)`watch`

The science of six degrees of separation`read`

Chains, by Frigyes Karinthy`read`

Erdös number`read`

The strength of week ties`learn`

Small-world networks`make`

Small-world networks in R (markup, markdown)`learn`

Degree distribution`make`

Degree distribution in R (markup, markdown)`read`

Power-law distribution`learn`

Transitivity and reciprocity`learn`

Assortative mixing

- Introduction
**Communication**- R Markdown
`learn`

R Markdown`learn`

R Markdown formats`glance`

Cheatsheet. R Markdown

- Interactivity
`glance`

HTML widgets`glance`

Shiny`glance`

Dashboards

- Processing
`use`

Processing`watch`

Hello Processing`learn`

Attractors and dynamic data structures

- R Markdown

You will go through different tasks: learn, make, use, watch, glance, read, dig, listen. A legend is below:

`learn`

: I teach, you listen (and hopefully learn).`make`

: I give you an assignment, you make it during the class. We discuss the solutions during the next class.`use`

: you use a software: download, install and run it for the first time. I give you a brief practical introduction to it.`watch`

: We watch a video together. By and large, the video acts as a teaser, introducing the next topic in an informal and attractive way.`glance`

: You give a brief and fast look at something, generally an informative website. I steer you towards the most important sections.`read`

: You read a story, typically at home. We discuss it together during the following class.`dig`

: You read a theoretical deepening of the current topic, normally at home. We talk about it during one of the next classes.`listen`

: The class is given by an invited speaker, an expert in the field.

- N10
**Networks**. Mark Newman. Oxford University Press, 2010. - EK10
**Networks, crowds and markets**. David Easley and Jon Kleinberg. Cambridge University Press, 2010. - WG17
**R for Data Science**. Hadley Wickham and Garrett Grolemund. O’Reilly. 2017. - T11
**R Cookbook**. Paul Teetor. O’Reilly Media. 2011. - W14
**Advanced R**. Hadley Wickham. Chapman and Hall/CRC. 2014.

Download the bibliography

Data challenges have 3 components:

**Input**, which consists of:- a dataset of raw data. No data model is assumed. The data should be open so it can be freely distributed.
- a set of data questions and challenges, formulated in natural language, whose answers might be (but not necessarily are) hidden behind the raw data. Questions should be sufficiently general and compelling to tease the attention and curiosity of scholars.

**Analysis notebook**: a stream of analyses and visualizations aimed at approaching the given data questions and challenges. Ideally, the notebook is written in some popular, free language (like R or Python) and it is self-containing so that it can be easily distributed, executed and modified by other scholars. Issues like readability, conciseness, elegance, efficiency of the notebook are relevant, although not crucial.**Output**: these are the suggested answers to the given data questions and challenges. Answers might be partial (not definitive). The same question can be answered with different notebooks. A (modest) degree of subjectivity in the interpretation of the data answers is expected.

The following are examples of data challenges you are invited to try:

- Are female dolphins more social than male dolphins? (markup, markdown)
- Which are the most powerful countries in the European natural gas market? (markup, markdown)
- Detect the most dangerous terrorists involved in Madrid train bombing attack of 2011 (markup, markdown)
- Discover the most interdisciplinary and autarchic disciplines in science (markup, markdown)
- Detect communities in a Katate club friendship network (markup, markdown)