Network Science: Methods and Applications
Instructor: Constantine Dovrolis
Lectures: Tuesday and Thursday 12:30-13:45
Classroom: Klaus 1447 (but most sessions will be online)
Instructor's Office: CODA S1215 (but please email me first before visiting my office)
Office hours: Wednesday 11:00-12:00 (BlueJeans) or by appointment
Instructor's email: firstname.lastname@example.org
Teaching mode during Fall'20
During the last few months the instructor has developed an online version of this course.
The course consists of 14 Lectures (see below for the list of topics).
Each week, we will cover one of these lectures.
Students will first watch (online) the video of the lecture on their own -- and they will read the assigned chapters or research papers.
This will count as attending Tuesday's class.
Then, on Thursday at 12:30-13:45pm EST of each week, we will have a BlueJeans session to go through exercises, additional derivations, and to
answer your questions in a live, interactive manner.
The course will also include two in-person interactions between the instructor and each student. These interactions will focus on the course project. The first such meeting will take place sometime in late September or October, to discuss your proposed project. The second meeting will be sometime in November to discuss what you have accomplished and to review your final project presentation.
When it is not possible to have these interactions in-person (because of illness or other COVID-related reasons) we will have them online.
Teaching assistant: (cannot be disclosed here -- see announcement on Canvas)
Office hours: (cannot be disclosed here -- see Canvas)
TA's email: (cannot be disclosed here -- see Canvas)
Lots of valuable information and links
Please do not hesitate to ask for help if you ever feel helpless.
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 relatively 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 knowledge (at the level of a good undergrad course) with calculus, probability, linear algebra, and programming is necessary.
Additionally, students will be free to
choose course projects that are closer to their background.
You cannot take this course for "Audit". Doing the homeworks and project is essential.
Together with several 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 ,
- Lesson One: What is Network Science?
- What is (not) network science?
- The main premise of network science
- History and relation to graph theory, physics, sociology, and other disciplines
- Examples of networks from different application domains
- Lesson Two: Relevant Concepts From Graph Theory
- Undirected, directed, signed, weighted and spatial networks
- Paths, connected components, random walks, etc
- Directed Acyclic Graphs
- Bipartite graphs
- Lesson Three: Degree Distribution and ER Graphs
- Degree distribution
- Friendship paradox
- ER graphs and their degree distribution
- Giant component size in ER graphs
- Assortative vs disassortative networks
- Lesson Four: Random vs. Real Graphs and "Scale Free" Networks
- The degree distribution of real-world networks
- Power-law degree distributions
- Preferential attachment model
- How to detect a power-law and estimate the exponent
- Configuration model and degree-preserving randomization
- Lesson Five: Network Paths, Clustering and The “Small World” Property
- Clustering and transitivity in networks
- Diameter and characteristic path length
- Small-world networks and the Watts-Strogatz model
- Network motifs
- Lesson Six: Centrality and Netork-core Metrics and Algorithms
- Link-based centrality metrics
- Path-based centrality metrics
- k-core decomposition
- Core-periphery structure
- Rich-club set of nodes
- Lesson Seven: Community Detection and Hierarchical Modularity
- Hierarchical clustering in networks
- Modularity metric
- Algorithms for modularity maximization
- Limitations of modularity
- Hiearchical modularity
- Lesson Eight: Advanced Topics in Community Detection
- Overlapping communities
- Dynamic communities
- Comparing community structures
- The role of nodes within and between communities
- Applications of community detection
- Lesson Nine: Network Contagion and Epidemics
- Epidemics on networks
- Epidemic modeling (SI, SIS, SIR, etc) under homogeneous mixing
- Epidemic modeling under arbitrary degree distributions
- Basic reproductive number and superspreaders
- Lesson Ten: Influence Phenomena On Networks
- The linear threshold model and the Independent cascades model
- Empirical studies in information and behavior spreading
- Seeding strategies on how to maximize influence
- Cascades and community structure
- Lesson Eleven: Other Dynamic Processes Of/On Networks
- Percolation, random failures, and targeted attacks on networks
- Search on networks
- Synchronization on networks
- Coevolutionary networks
- Lesson Twelve: Models of Static and Dynamic Networks
- Stochastic network models that generate power-law degree distributions
- Optimization-based network models
- Stochastic block models
- Hierarchical Random Graphs
- Lesson Thirteen: Statistical Analysis of Network Data
- Network sampling methods
- Estimation of network metrics
- Association networks
- Network tomography
- Lesson Fourteen: Machine Learning meets Network Science
- Node embeddings
- Graph neural networks
- Deep generative network models
- Limitations and applications of graph neural networks
Course projects can be of different types:
One option is that you select a research paper that you are very interested in and try to reproduce certain resulst in that paper -- using either the same dataset or with a different dataset.
Another option is that you attempt to study an original research question. In this case you will need to be careful not to propose something that would normally take much longer than 4-5 weeks.
A third option is to implement one or more network analysis algorithms proposed in the literature and evaluate them in a new context.
What kind of project would not be acceptable? Anything that does not really relate to this course. Anything that is too similar to other projects done by the student in his/her research or other courses. Anything that seems too easy or too hard (to the instructor at least).
Groups of two students are ideal but individual projects are also acceptable. Larger teams will
need instructor approval.
- September 18: project proposal
- October 16: progress report
- November 20: final paper due
- TBA: project presentations
- Weekly quizzes : 20%
- Homeworks (five of them): 50%
- Project (paper and 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: