CS 7280
Network Science: Methods and Applications

Fall 2019

Instructor and classroom

Teaching assistant

Student Support Services

Lots of valuable information and links here. Please do not hesitate to ask for help if you ever feel helpless.

Course objectives

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.

Course prerequisites

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.

Other constraints

You cannot take this course for "Audit".


Together with several research papers, we will cover specific chapters from the following three textbooks:

The following books will be useful references in certain parts of the course:

Syllabus and course structure

The course will consist of three parts:

1. The first part will cover mostly static networks: concepts, metrics, algorithms, and analytical methods to study complex (not evolving) networks.

2. The second part will cover mostly dynamic networks and/or dynamic processes on networks. In this case the network either changes with time (through growth, rewiring, etc) and/or a dynamic process is taking place on the network, changing the state of each node as a function of its neighbors.

3. The third part will focus on applications of network science from neuroscience, biology, social networks, Internet, etc. We will choose topics and research papers based on the students' interests and background.

Student projects and milestones

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.

All projects will be presented as posters during Finals Week.

Project milestones

  1. October 11: project proposal
  2. November 8: progress report
  3. December 4: final paper due
  4. TBA: project presentations (poster session)


Network datasets

There are dozens of sites that provide pointers to network datasets. The following is just a small subset:

Network analysis and visualization tools

The following pointers provide network analysis tools that you can use in course projects: