CS 7280
Network Science: Methods and Applications

Fall 2017

Instructor and classroom

Teaching assistant

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 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 basic familiarity with calculus, probability, and programming will be necessary. 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:

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

Syllabus and course structure

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.

Student projects and milestones

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.

PhD-student projects: 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.

Project milestones

  1. October 13: project proposal
  2. November 10: progress report
  3. December 1: final paper due
  4. December 11: project presentations (exact time: TBD)


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: