nl en

Social Network Analysis for Computer Scientists


Admission requirements

Recommended prior knowledge

It is highly recommended that students have adequate knowledge of algorithms, data structures and data mining (see for example the content of the Algorithms, Data Structures and Data Mining courses in the Leiden Bachelor Informatica programme).


This course deals with the computer science aspects of social network analysis, or more broadly, the field of network science. This field, with strong roots in computer science, aims to understand the real-world by analyzing interactions between the individuals in it. Examples of such networks include webgraphs, communication (telephone, email) and collaboration networks, but perhaps most notably (online) social networks, such as Facebook, Instagram and Twitter. With millions of nodes (users) and possible billions of links (interacttion between users), traditional graph algorithms are often too complex and unable to solve trivial algorithmic and data mining related problems.
Typical topics and research problems in this field include fundamental problems such as efficient retrieval, storage, anonymization and compression of graph data and computational problems such as computing shortest paths, diameter and other descriptive graph properties. Other topics include community detection, outlier detection, link prediction, information diffusion and epidemic spread.

Course objectives

At the end of this course, students should:

  • Have a clear understanding of the state of the art of computer science aspects of social network analysis (“the field”).

  • Be sufficiently skilled to understand, implement and run algorithms for large network data using self-written code or existing open source software packages.

  • Be able to perform experiments on large graphs in order to verify the performance of techniques for solving typical computer science related problems from the field.

  • Have the skills to compare different types of algorithms using quantitative measures common in the field.

  • Be able to write a scientific paper in which one or more algorithms from the field are described, analyzed and compared.


The most recent timetable can be found at the Computer Science (MSc) student website.

You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudyMap will automatically be displayed in MyTimeTable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.

MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).

For more information, watch the video or go the the 'help-page' in MyTimetable. Please note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.

Mode of instruction

  • Lectures

  • Seminars

  • Individual assignments

  • Group project

Course load

Total hours of study: 168 hrs. (= 6 EC)
Lectures: 28:00 hrs.
Assignments: 56:00 hrs.
Project (presentation, programming, paper): 84:00 hrs.

Assessment method

Homework assignments and course project.

The teacher will inform the students how the inspection of and follow-up discussion of the exams (i.e., the assignments and project) will take place.

Reading list

Provided papers (no book).


From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudyMap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.

Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.

Extensive FAQ's on MyStudymap can be found here.


Lecturer: dr. Frank Takes
Website: SNACS


For a table of contents and all other course information, see course website: SNACS.