GESIS Training Courses

Scientific Coordination

Sebastian E. Wenz
Tel: +49 221 47694-159

Administrative Coordination

Loretta Langendörfer M.A.
Tel: +49 221 47694-143

Introduction to Social Network Science with Python

Dr. Haiko Lietz, Lisette Elizabeth Espín-Noboa, Olga Zagovora

Date: 21.09 - 25.09.2020 ics-file

Location: Online via Zoom

About the lecturer - Dr. Haiko Lietz

About the lecturer - Lisette Elizabeth Espín-Noboa

About the lecturer - Olga Zagovora

Course description

[This is a 24 hour class.]
In the wake of the digital revolution, masses of digital behavioral data are becoming available for social research. This data resembles transactions or events that typically consist of both social relations and their communicative content. As such, it can facilitate understanding not only how networks emerge from actions, but also how actors are formed by networks. In this course, we convey basic network analysis skills and how relational methods and coding in Python can be deployed in practical application scenarios. Following an introduction to relational data structures, the first day covers how to construct networks from data. The second day deals with network visualization and how to characterize the centrality of nodes in networks. The third day is dedicated to brokerage and closure, two main concepts to describe the positions of nodes in networks. The fourth day aims at identifying groups (community detection) and introduces a statistical procedure for relational hypothesis testing. The last day is reserved for individual or group projects. Throughout the course, NetworkX will be used as the Python package for network analysis because it provides a wide range of tools. Thematic blocks start with an introductory lecture in which network analytical tools and their social network theoretic contexts are presented. Then the instructors demonstrate how to apply them, using classic, bibliometric, and Twitter networks. Finally, in exercises, the participants apply acquired knowledge in their own code. Participants are encouraged to prepare their own network datasets and research questions to work on in the exercises and projects. The course is adapted to an online teaching environment, that means, instructors and participants will have time to individually exchange in breakout rooms.


Target group

The course targets scientists who are seeking an introduction to relational methods for the purpose of analyzing social networks in Python. While the combination of introductory-level coding and network theory may be most attractive to social scientists, scientists from other disciplines may benefit from learning how networks are conceptualized in the social sciences.

Learning objectives

Participants can expect to learn how to load network data, how to visualize networks, and how social network theoretic concepts can be operationalized to analyze social networks using Python's NetworkX package. On one day, participants will learn how to test hypotheses using network data.


Participants are required to have at least initial experience with coding in Python or another programming language (like R or Java). To ensure a common starting ground among all participants, they are expected to familiarize themselves with the basic concepts of Python via learning materials that will be provided beforehand. Options for additional preparations include taking the "Introduction to the Python Data Science Stack" (14. - 15.09.2020) or learning Python online via the Python Data Science Handbook ( Previous knowledge on network theory or analysis is helpful but not required. All utilized software is available without cost as open source under Windows, MacOS, and Linux systems. Detailed installation instructions for the suggested development environments will be provided before the start of the course.


Recommended readings

More Information