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
Develop and maintain software to analyze networks derived from a range of data sources, including real-world and simulated datasets.
Implement network algorithms to measure clustering, path lengths, spectra, community structure, and dynamics, demonstrating both theoretical understanding and computational proficiency.
Construct reproducible data analyses that integrate high-performance computing resources (e.g., the Explorer cluster at Northeastern University) for handling large-scale network data.
Design and code generative network models to simulate network growth, structure, and dynamics, and apply these models for inference from empirical data.
Collect network data online through web scraping, incorporating data collection ethics and norms.
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:
Bagrow & Ahn (2024). Working with Network Data: A Data Science Perspective. Cambridge University Press; 1st Edition; 978-1009212595. https://www.cambridge.org/network-data.
Additionally, we recommend engagement with other useful network science and/or Python materials:
Barabási (2016). Network Science. Cambridge University Press; 1st Edition; 978-1107076266. http://networksciencebook.com.
Newman (2018). Networks: An Introduction. Oxford University Press; 2nd Edition; 978-0198805090. https://global.oup.com/academic/product/networks-9780198805090.
VanderPlas (2019). Python Data Science Handbook. O'Reilly Media, Inc; 978-1491912058. https://github.com/jakevdp/PythonDataScienceHandbook.
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):
Motifs in Networks
Robustness / Resilience of Network Structure
Network Game Theory
Network Geometry
Continuous Models of Network Dynamics
Percolation in Networks
Signed Networks
Coarse Graining Networks
Mesoscale Structure in Networks (e.g. core-periphery)
Graph Isomorphism and Approximate Isomorphism
Higher-Order Networks
Introduction to Graph Neural Networks
Hopfield Networks and Boltzmann Machines
Graph Curvature or Topology
Reservoir Computing
Adaptive Networks
Multiplex/Multilayer Networks
Network Rewiring Dynamics
Fitting Distributions to Network Data
Hierarchical Networks
Ranking in Networks
Deeper Dive: Random Walks on Networks
Deeper Dive: Directed Networks
Deeper Dive: Network Null Models
Deeper Dive: Network Paths and their Statistics
Deeper Dive: Network Growth Models
Deeper Dive: Hypothesis Testing in Social Networks
Deeper Dive: Bipartite Networks
Many more possible ideas!
Schedule below.
This schedule is subject to change.
| Class | Date | Topic | Instructor |
|---|---|---|---|
| – | Mon, Sep 7, 26 | Labor Day (No Class) | |
| 0 | Wed, Sep 9, 26 | Introduction to the Course, GitHub, Computing Setup | Brennan Klein |
| – | Fri, Sep 11, 26 | ||
| 1 | Mon, Sep 14, 26 | Python Refresher (Data Structures, NumPy) | Brennan Klein |
| 2 | Wed, Sep 16, 26 | Introduction to NetworkX 1 — Loading Data, Basic Statistics | Brennan Klein |
| – | Fri, Sep 18, 26 | Assignment 1 announced | |
| 3 | Mon, Sep 21, 26 | Introduction to NetworkX 2 — Graph Algorithms | Brennan Klein |
| 4 | Wed, Sep 23, 26 | Distributions of Network Properties & Centralities | Brennan Klein |
| – | Fri, Sep 25, 26 | ||
| 5 | Mon, Sep 28, 26 | Scraping Web Data 1 — BeautifulSoup, HTML, Pandas | Brennan Klein |
| 6 | Wed, Sep 30, 26 | Data Science & SQL | Brennan Klein |
| – | Fri, Oct 2, 26 | Assignment 1 due | |
| 7 | Mon, Oct 5, 26 | Clustering & Community Detection 1 — Traditional | Brennan Klein |
| 8 | Wed, Oct 7, 26 | Clustering & Community Detection 2 — Contemporary | Brennan Klein |
| – | Fri, Oct 9, 26 | Assignment 2 announced | |
| – | Mon, Oct 12, 26 | Indigenous Peoples Day (No Class) | |
| 9 | Wed, Oct 14, 26 | Guest Speaker | TBD (Brennan out) |
| – | Fri, Oct 16, 26 | ||
| 10 | Mon, Oct 19, 26 | Project Update Presentations | Brennan Klein |
| 11 | Wed, Oct 21, 26 | Visualization — Python | Brennan Klein |
| – | Fri, Oct 23, 26 | Assignment 2 due | |
| 12 | Mon, Oct 26, 26 | Introduction to Machine Learning 1 — General | Brennan Klein |
| 13 | Wed, Oct 28, 26 | Introduction to Machine Learning 2 — Networks | Brennan Klein |
| – | Fri, Oct 30, 26 | Assignment 3 announced | |
| 14 | Mon, Nov 2, 26 | Dynamics on Networks 1 — Diffusion and Random Walks | Brennan Klein |
| 15 | Wed, Nov 4, 26 | Dynamics on Networks 2 — Compartmental Models | Brennan Klein |
| – | Fri, Nov 6, 26 | ||
| 16 | Mon, Nov 9, 26 | Dynamics on Networks 3 — Agent‑Based Models | Brennan Klein |
| – | Wed, Nov 11, 26 | Veterans Day (No Class) | |
| – | Fri, Nov 13, 26 | Assignment 3 due | |
| 17 | Mon, Nov 16, 26 | Network Sampling | Brennan Klein |
| 18 | Wed, Nov 18, 26 | Network Filtering / Thresholding | Brennan Klein |
| – | Fri, Nov 20, 26 | ||
| 19 | Mon, Nov 23, 26 | Dynamics of Networks — Temporal Networks | Brennan Klein |
| – | Wed, Nov 25, 26 | Thanksgiving Break (No Class) | |
| – | Fri, Nov 27, 26 | ||
| 20 | Mon, Nov 30, 26 | Network Comparison & Graph Distances | Brennan Klein |
| 21 | Wed, Dec 2, 26 | Network Reconstruction from Dynamics | Brennan Klein |
| – | Fri, Dec 4, 26 | ||
| 22 | Mon, Dec 7, 26 | Spatial Data, OSMNX, GeoPandas | Brennan Klein |
| 23 | Wed, Dec 9, 26 | Final Presentation — Office Hours | Brennan Klein |
| – | Fri, Dec 11, 26 | ||
| 24 | Mon, Dec 14, 26 | Final Presentations 1 | Brennan Klein |
| 25 | Wed, Dec 16, 26 | Final Presentations 2 | Brennan Klein |
| – | Fri, Dec 18, 26 | ||
