Network Analysis
Introduction to the theory and empirical analysis of social and economic networks. Python/NetworkX course designed for students already familiar with programming.
Term: Second Semester
Course Overview
This course introduces the theory and empirical analysis of social and economic networks, at the crossroads of economics, sociology, mathematics, and computer science. The course is designed by Prof. Nicolas Carayol.
Part I — Network Theory
- Introduction and basic notation
- Random networks and small worlds
- Degree distributions and preferential attachment
- Clustering, communities and homophily
- Centrality: Bonacich, Katz, PageRank
Part II — Network Data (Python / NetworkX)
- Getting started with NetworkX
- Random and scale-free networks
- Algorithmic community detection
- Centrality measures and visualisation
Prerequisites
No prior knowledge of network theory required. Familiarity with Python and data analysis is assumed for this group.
Assessment
| Component | Weight |
|---|---|
| Individual applied data work | 40% |
| Mini project — data treatment | 20% |
| Mini project — reasoning | 20% |
| Mini project — presentation | 20% |
My Role
In 2023, 2024, and 2025 I was teaching assistant, running the practical lab sessions and exercise classes, under the main lecturer Prof. Nicolas Carayol. In 2026 I took on the role of main lecturer, delivering the full course independently.
Key References
- Matthew O. Jackson (2019). The Human Network. Pantheon Books.
- Matthew O. Jackson (2008). Social and Economic Networks. Princeton University Press.
- David Easley & Jon Kleinberg (2010). Networks, Crowds, and Markets. Cambridge University Press. Free PDF
- Mark E.J. Newman (2010). Networks: An Introduction. Oxford University Press.
Schedule
| Week | Date | Topic | Materials |
|---|---|---|---|
| 1 | Introduction — The Ubiquity of Social Networks Examples of social and economic networks. Basic graph notation. Why study networks? | ||
| 2 | Small Worlds and Random Networks The Milgram experiment. Poisson random networks. The small-world phenomenon. | ||
| 3 | Degree Distributions Degree distributions in real-world networks. Preferential attachment and scale-free networks. The configuration model. The friendship paradox. | ||
| 4 | Clustering, Communities and Homophily Clustering coefficients. Community detection. Small worlds à la Watts & Strogatz. Local search à la Kleinberg. Homophily in networks. | ||
| 5 | Centrality and Influence Centrality measures. Bonacich centrality, Katz centrality, PageRank, and prestige centrality. | ||
| 2 | Lab 1 — Getting Started with NetworkX Importing data, creating and manipulating graphs with Python and NetworkX. Computing first network statistics. | ||
| 3 | Lab 2 — Random Networks, Scale-Free Networks and Degree Distributions Generating random networks (Erdős–Rényi, Barabási–Albert). Analysing and visualising degree distributions. | ||
| 4 | Lab 3 — Clustering and Community Detection Computing clustering coefficients. Community detection algorithms (Louvain, Girvan-Newman). | ||
| 5 | Lab 4 — Centrality Measures Computing and comparing centrality measures (degree, Bonacich, Katz, PageRank) in NetworkX. Applied to an interbank transaction network: identifying systemically important institutions and interpreting results economically. |