Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

University of Michigan

Applied Social Network Analysis in Python

University of Michigan via Coursera


This course will introduce the learner to network analysis through tutorials using the NetworkX library. The course begins with an understanding of what network analysis is and motivations for why we might model phenomena as networks. The second week introduces the concept of connectivity and network robustness. The third week will explore ways of measuring the importance or centrality of a node in a network. The final week will explore the evolution of networks over time and cover models of network generation and the link prediction problem. This course should be taken after: Introduction to Data Science in Python, Applied Plotting, Charting & Data Representation in Python, and Applied Machine Learning in Python.


  • Why Study Networks and Basics on NetworkX
    • Module One introduces you to different types of networks in the real world and why we study them. You'll learn about the basic elements of networks, as well as different types of networks. You'll also learn how to represent and manipulate networked data using the NetworkX library. The assignment will give you an opportunity to use NetworkX to analyze a networked dataset of employees in a small company.
  • Network Connectivity
    • In Module Two you'll learn how to analyze the connectivity of a network based on measures of distance, reachability, and redundancy of paths between nodes. In the assignment, you will practice using NetworkX to compute measures of connectivity of a network of email communication among the employees of a mid-size manufacturing company.
  • Influence Measures and Network Centralization
    • In Module Three, you'll explore ways of measuring the importance or centrality of a node in a network, using measures such as Degree, Closeness, and Betweenness centrality, Page Rank, and Hubs and Authorities. You'll learn about the assumptions each measure makes, the algorithms we can use to compute them, and the different functions available on NetworkX to measure centrality. In the assignment, you'll practice choosing the most appropriate centrality measure on a real-world setting.
  • Network Evolution
    • In Module Four, you'll explore the evolution of networks over time, including the different models that generate networks with realistic features, such as the Preferential Attachment Model and Small World Networks. You will also explore the link prediction problem, where you will learn useful features that can predict whether a pair of disconnected nodes will be connected in the future. In the assignment, you will be challenged to identify which model generated a given network. Additionally, you will have the opportunity to combine different concepts of the course by predicting the salary, position, and future connections of the employees of a company using their logs of email exchanges.

Taught by

Christopher Brooks, Kevyn Collins-Thompson, Daniel Romero and V. G. Vinod Vydiswaran


4.3 rating, based on 3 Class Central reviews

4.6 rating at Coursera based on 2688 ratings

Start your review of Applied Social Network Analysis in Python

  • Well structured course covering social network concepts, explaining the main features of networks and its nodes and edges. The algorithms are well explained, nicely illustrated and demoed with jupyter notebooks. Weekly quizzes check your understanding of the concepts and the assignments let you apply the material on practical examples, from basic network properties to link prediction using machine learning.
    After finishing this course you are familiar with the python networkx library and ready to explore and analyze social networks on your own.
    This is the final course of a specialization, ensure you have the necessary prerequisite skills or follow the earlier courses in the specialization first.
  • Profile image for Raivis Joksts
    Raivis Joksts
    Interesting topic, but quizzes again suffer from too much theoretical questions. Final programming assignment was very easy, you can re-use the code written in the final assignment of Machine Learning course in this specialisation (but that does not mean it's a bad thing).
  • Anonymous
    Even Observe and watch all videos in examination part of view too tough to solve sir .. could you give any reference tutorial.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.