Network science is an exciting new field that studies large and complex networks, such as social, biological, and computer networks.
We will study, formalize, and quantify (social) network phenomena such as "the small world", "rich get richer", "birds of a feather flock together", "strength of weak ties" and others.
The class will address topics from network structure and growth to the spread of epidemics.
We also consider the diverse algorithmic techniques and mathematical models that are used to analyze such large networks, and give an indepth description of the theoretical results that underlie them.
Some topics are centralities, pagerank algorithms, assortativity, random graphs, giant components, power laws, diffusion, percolation, spreading phenomena, community detection, basic algorithms for network science, lower bounds and advanced algorithms for polynomialtime problems, streaming algorithms, temporal networks, graph databases, and graph partitioning algorithms.
Course form
Lectures, tutorials, term paper, peer feedback.
A major component of the class is for students to perform their own experimental study on algorithms for the community detection problem.
The results of this study will be presented in the term paper. This term paper will be reviewed by your student peers.
Literature
Recommended:
 A. Barabasi, "Network Science", for free online
 D. Easley, J. Kleinberg, “ Networks, Crowds, and Markets: Reasoning About a Highly Connected World”, for free online
 M.E.J. Newman, "Networks", 2nd edition (2018).
The class is based on parts of all three books. The Newman book is the most comprehensive reference to the material of the class.
