Network Science: Methods and Applications
Instructor and classroom
Instructor: Constantine Dovrolis
Lectures: Tuesday and Thursday 1:30-2:45
Classroom: KACB 2447
Office: KACB 3346
Office hours: Tuesday and Thursday, 3:00-3:30 (or by appointment)
Instructor's email: firstname.lastname@example.org
Teaching assistant: (cannot be disclosed here -- see T-square)
Office hours: Monday and Wednesday, 12-1.
TA's email: (cannot be disclosed here -- see T-square)
It is often the case that complex systems, both living and man-made,
can be represented as static or dynamic networks of many interacting
components. These components are typically much simpler in terms of behavior
or function than the overall system, implying that the additional complexity
of the latter is an emergent network property.
Network science is a new discipline that investigates the
topology and dynamics of such complex networks, aiming to better
understand the behavior, function and properties of the underlying systems.
The applications of network science cover physical, informational,
biological, cognitive, and social systems.
In this course, we will study algorithmic,
computational, and statistical methods of network science, as well as
applications in communications, biology, ecology, brain science,
sociology and economics.
The course will go beyond the strictly structural concepts of
small-world and scale-free networks, focusing on dynamic network processes
such as epidemics, synchronization, or adaptive network formation.
The course hopes to attract students from different
academic backgrounds and research interests (including
math, physics, engineering, biology, neuroscience or sociology). Consequently, the
instructor will try to keep the course as ``self-contained'' as possible.
However, some basic familiarity with calculus, probability, and programming will
Additionally, students will be free to
choose course projects that are closer to their background.
Together with some research papers, we will cover specific chapters from the following three textbooks:
- A-L. Barabási ,
Network Science ,
available online, 2015.
- M.E.J. Newman,
Networks - An introduction ,
Oxford Univ Press, 2010.
- D. Easley and J. Kleinberg,
Networks, Crowds and Markets ,
Cambridge Univ Press, 2010 (also available online).
The following books will be useful references in certain parts of the course:
- R. Cohen and S. Havlin,
Complex Networks - Structure, Robustness and Function ,
Cambridge Univ Press, 2010.
- M.O. Jackson,
Social and Economic Networks ,
Princeton Univ Press, 2008.
- A. Barrat, M. Barthelemy and A. Vespignani,
Dynamical Processes on Complex Networks,
Cambridge Univ Press, 2008.
- E. Kolaczyk,
Statistical analysis of network data,
- S. Wasserman, K. Faust,
Social Network Analysis: Methods and Applications,
Cambridge Univ Press, 1994.
- P. Van Mieghem,
Graph Spectra for Complex Networks,
Cambridge Univ Press, 2011.
- R. Diestel,
Graph Theory (4th edition),
- R.K.Ahuja and T.L.Magnanti,
Network Flows: Theory, Algorithms, and Application ,
The course will consist of two parts:
1. The first part (roughly two thirds of the semester) will cover some fundamental concepts, metrics, algorithms,
and analytical results. This
material is described in several textbooks and we will not need to rely on research papers.
2. The second part of the course will focus on recent research developments, and in particular
on applications in neuroscience, biology, social networks, etc. During that part, we will rely on research papers
that will be added (each week) at this course website.
- Graph concepts and metrics
- Paths, components, degree distribution, degree correlations, clustering
- Various centrality metrics
- Metrics for signed, weighted and spatial networks
- Spectral metrics
- Properties of many real networks
- Small-world property
- Scale-free property and heavy-tailed degree distributions
- Hierarchy - Modularity
- Core-periphery structure and bow-tie (or hourglass) networks
- Network motifs
- Network models
- Random networks
- Watts-Strogatz model
- Preferential attachment and its many variants
- Kleinberg's duplication-based model
- Optimization-based network formation models (e.g., HOT)
- Statistical (or machine learning) methods in network science - network inference methods
- Network sampling methods
- Learning a network model from data
- Network inference based on cross-correlations
- Inferring causal interactions
- Community detection methods
- Graph partitioning
- Modularity maximization methods
- Hierarchical divisive and agglomerative methods
- Overlapping communities, dynamic communities, and other variations
- Properties of communities in real-world networks
- Dynamics of networks
- Percolation and network resilience to random and targeted attacks
- Dynamics on networks: epidemics and other spreading phenomena
- Network epidemics and epidemic threshold (SI, SIS, SIR models)
- Immunization strategies
- Identification of major spreaders
- Computational network epidemiology
- Dynamics on networks: social influence and cascades
- Social networks and influence/contagion
- The Linear threshold model and the Independent cascades model
- Empirical studies in information and behavior spreading
- Seeding strategies on how to maximize influence
- Dynamics on networks: (mostly) search and synchronization
- Decentralized search on networks
- Synchronization on networks
- Networks with capacity constraints and overload-based failures
- Robust network design
- Dynamics on networks: controlling networks and co-evolutionary processes
- Controling networks
- Coevolutionary dynamics in opinion/consensus formation
- Coevolutionary dynamics in epidemics
- Coevolutionary effects in population dynamics
- Advanced topics (if time allows)
- Interdependent and layered networks
- Temporal networks
- Games on networks
- Network formation games
Course projects will be of the following different types:
Projects for Computer Science MS students:
Since this course is an elective for MS students taking the Systems Specialization,
the MS-student projects will be oriented towards design and implementation. The student(s) will
develop software that can perform some form of network analysis or modeling, able to handle very
large networks. For example, a good course project of this type may be the implementation and
application of a previously published algorithm for community detection in very large networks.
MS-student projects will be evaluated based on their functionality and efficiency.
Every project of this type will be based on an individual research paper, in the broader
area of network science, chosen by the student(s). The goal of the project will be to
reproduce some of the qualitative results in that paper based on different data,
a different method (that the student develops for this course or that is already published).
In other words, the course projects will not try to solve an original research problem -- instead,
the goal is to reproduce published research results but under different conditions, inputs
or methods. Please note: the selected research paper cannot be something that was previously published
by the student or the student's group.
Projects for students from other academic programs (e.g., MS in Analytics):
These projects will need to be relevant to the student's academic program. For example,
a student pursuing an MS in Analytics will need to design and perform the analysis of a network
dataset from a certain perspective that the student has chosen. This exercise may not require software
development but it will certainly require significant work with R, Matlab or other related
data analysis tools.
Groups of two students are ideal but individual projects are also acceptable. Larger teams will
need instructor approval.
All projects will be presented in class during Finals Week.
- October 13: project proposal
- November 10: progress report
- December 1: final paper due
- December 11: project presentations (exact time: TBD)
- Midterm exam on OCT 24 (covers Part-1): 25%
- In-class quizzes : 5%
- Homeworks (four of them, equal-weight): 40%
- Project paper and final presentation: 30%
There are dozens of sites that provide pointers to network datasets.
The following is just a small subset:
The following pointers provide network analysis tools
that you can use in course projects: