NETS/PHYS 7052
Computational Methods for Network Science - Fall 2026

Mondays & Wednesdays: 11:45am – 1:25pm
September 9 – December 16, 2026
101 Belvidere, 3rd fl, 140A/B

Summary

Introduces computational methods for analyzing and modeling complex networks across scientific domains. Emphasizes programming-based workflows for working with network data, including data collection, cleaning, representation, and visualization. Covers foundational concepts in network analysis; random graph models; community detection; machine learning for network data; network dynamics such as diffusion, contagion, and random walks; network sampling and sparsification; temporal and spatial networks; and network comparison and reconstruction. Provides structured opportunities to implement algorithms with feedback, interpret results, and communicate network-based insights in technical and interdisciplinary contexts.

Course Website: ______________

Github Repository: ______________

Instructor

Brennan Klein is core faculty at the Network Science Institute and Assistant Teaching Professor in the Department of Physics. He is the program director of the MS in Complex Network Analysis at Northeastern University. Prof. Klein is also the director of the Complexity & Society Lab, which is focused on two broad research areas: 1) Information, emergence, and inference in complex systems: developing tools and theory for characterizing dynamics, structure, and scale in networks, and 2) Public health and public safety: drawing on complex systems science to document—and fight against—emergent or systemic disparities in society, especially as they relate to public health and public safety. As of 2025, he is also the director of NetSI Sport, an interdisciplinary research group focusing on complex systems-inspired approaches to sports analytics. In 2023, Prof. Klein was awarded the René Thom Young Researcher Award, given to a researcher to recognize substantial early career contributions and leadership in research in Complex Systems-related fields. Prof. Klein is the Data for Justice Fellow at the Institute on Policing, Incarceration & Public Safety at Harvard University’s Hutchins Center for African & African American Research. He received a PhD in Network Science in 2020 from Northeastern University and earned his BA in Cognitive Science & Psychology from Swarthmore College in 2014.

Course Learning Outcomes

  1. Develop and maintain software to analyze networks derived from a range of data sources, including real-world and simulated datasets.

  2. Implement network algorithms to measure clustering, path lengths, spectra, community structure, and dynamics, demonstrating both theoretical understanding and computational proficiency.

  3. Construct reproducible data analyses that integrate high-performance computing resources (e.g., the Explorer cluster at Northeastern University) for handling large-scale network data.

  4. Design and code generative network models to simulate network growth, structure, and dynamics, and apply these models for inference from empirical data.

  5. Collect network data online through web scraping, incorporating data collection ethics and norms.

  6. Create and present pedagogical materials (e.g., a Jupyter Book chapter) on an advanced network analysis topic not covered in lectures, communicating technical ideas clearly to both specialist and non-specialist audiences.

Course Materials

Our main resource for the course is the ever-growing Jupyter Book, where we will host the Python notebooks used in this class https://computational-methods-network-science.github.io/phys7052_fa26/. Beyond that, there are no required materials for this course, but we will periodically draw from:

Additionally, we recommend engagement with other useful network science and/or Python materials:

Coursework, Class Structure, Grading

Logistics. This is a twice-weekly hands-on class that emphasizes building experience with coding. This does not necessarily mean every second of every class will be live-coding, but it will inevitably come up in how the class is taught. We are often on the lookout for improving the pedagogical approach to this material, and we would welcome feedback on class structure. This course assumes prior experience with Python and basic linear algebra/probability; a short Python refresher is provided in Week 1.

Cluster workflows. This course is delivered primarily on Northeastern's high-performance computing cluster. We will (a) provide a course baseline environment (conda) for interactive work (via Open OnDemand/SSH), (b) demonstrate how to clone and customize per-student environments reproducibly, and (c) run heavy jobs on compute nodes as needed. If an environment breaks, students can revert to the baseline. Guidance will be provided in Week 1.

Grading. This course is graded as follows:

  • Class Attendance & Participation: 10%

  • Problem Sets: 45%

  • Mid-Semester Project Presentation: 15%

  • Final Project — Presentation & Report: 30%

Final Project

The final project for this course is a chance for students to synthesize their knowledge of network analysis into pedagogical materials around a topic of their choosing. Modeled after chapters in the Jupyter book for this course, students will be required to make a new “chapter” for our class's textbook; this requires creating a thoroughly documented Python notebook that explains an advanced topic that was not deeply explored in the course. Students are required to conduct their own research into the background of the technique, the original paper(s) introducing the topic, and how/if it is currently used in today's network analysis literature. These chapters should contain informative data visualizations that build on one another, section-by-section. The purpose of this assignment is to demonstrate the coding skills gained in this course, doing so by learning a new network analysis technique and sharing it with members of the class. Halfway through the semester, there will be project update presentations where students receive class and instructor feedback on their project topics.

Ideas for Final Project Chapters (non-exhaustive):

  1. Motifs in Networks

  2. Robustness / Resilience of Network Structure

  3. Network Game Theory

  4. Network Geometry

  5. Continuous Models of Network Dynamics

  6. Percolation in Networks

  7. Signed Networks

  8. Coarse Graining Networks

  9. Mesoscale Structure in Networks (e.g. core-periphery)

  10. Graph Isomorphism and Approximate Isomorphism

  11. Higher-Order Networks

  12. Introduction to Graph Neural Networks

  13. Hopfield Networks and Boltzmann Machines

  14. Graph Curvature or Topology

  15. Reservoir Computing

  16. Adaptive Networks

  17. Multiplex/Multilayer Networks

  18. Network Rewiring Dynamics

  19. Fitting Distributions to Network Data

  20. Hierarchical Networks

  21. Ranking in Networks

  22. Deeper Dive: Random Walks on Networks

  23. Deeper Dive: Directed Networks

  24. Deeper Dive: Network Null Models

  25. Deeper Dive: Network Paths and their Statistics

  26. Deeper Dive: Network Growth Models

  27. Deeper Dive: Hypothesis Testing in Social Networks

  28. Deeper Dive: Bipartite Networks

  29. Many more possible ideas!

Schedule below.


This schedule is subject to change.

Class Date Topic Instructor
Mon, Sep 7, 26Labor Day (No Class)
0Wed, Sep 9, 26Introduction to the Course, GitHub, Computing SetupBrennan Klein
Fri, Sep 11, 26
1Mon, Sep 14, 26Python Refresher (Data Structures, NumPy)Brennan Klein
2Wed, Sep 16, 26Introduction to NetworkX 1 — Loading Data, Basic StatisticsBrennan Klein
Fri, Sep 18, 26Assignment 1 announced
3Mon, Sep 21, 26Introduction to NetworkX 2 — Graph AlgorithmsBrennan Klein
4Wed, Sep 23, 26Distributions of Network Properties & CentralitiesBrennan Klein
Fri, Sep 25, 26
5Mon, Sep 28, 26Scraping Web Data 1 — BeautifulSoup, HTML, PandasBrennan Klein
6Wed, Sep 30, 26Data Science & SQLBrennan Klein
Fri, Oct 2, 26Assignment 1 due
7Mon, Oct 5, 26Clustering & Community Detection 1 — TraditionalBrennan Klein
8Wed, Oct 7, 26Clustering & Community Detection 2 — ContemporaryBrennan Klein
Fri, Oct 9, 26Assignment 2 announced
Mon, Oct 12, 26Indigenous Peoples Day (No Class)
9Wed, Oct 14, 26Guest SpeakerTBD (Brennan out)
Fri, Oct 16, 26
10Mon, Oct 19, 26Project Update PresentationsBrennan Klein
11Wed, Oct 21, 26Visualization — PythonBrennan Klein
Fri, Oct 23, 26Assignment 2 due
12Mon, Oct 26, 26Introduction to Machine Learning 1 — GeneralBrennan Klein
13Wed, Oct 28, 26Introduction to Machine Learning 2 — NetworksBrennan Klein
Fri, Oct 30, 26Assignment 3 announced
14Mon, Nov 2, 26Dynamics on Networks 1 — Diffusion and Random WalksBrennan Klein
15Wed, Nov 4, 26Dynamics on Networks 2 — Compartmental ModelsBrennan Klein
Fri, Nov 6, 26
16Mon, Nov 9, 26Dynamics on Networks 3 — Agent‑Based ModelsBrennan Klein
Wed, Nov 11, 26Veterans Day (No Class)
Fri, Nov 13, 26Assignment 3 due
17Mon, Nov 16, 26Network SamplingBrennan Klein
18Wed, Nov 18, 26Network Filtering / ThresholdingBrennan Klein
Fri, Nov 20, 26
19Mon, Nov 23, 26Dynamics of Networks — Temporal NetworksBrennan Klein
Wed, Nov 25, 26Thanksgiving Break (No Class)
Fri, Nov 27, 26
20Mon, Nov 30, 26Network Comparison & Graph DistancesBrennan Klein
21Wed, Dec 2, 26Network Reconstruction from DynamicsBrennan Klein
Fri, Dec 4, 26
22Mon, Dec 7, 26Spatial Data, OSMNX, GeoPandasBrennan Klein
23Wed, Dec 9, 26Final Presentation — Office HoursBrennan Klein
Fri, Dec 11, 26
24Mon, Dec 14, 26Final Presentations 1Brennan Klein
25Wed, Dec 16, 26Final Presentations 2Brennan Klein
Fri, Dec 18, 26