This course deals with the computer science aspects of social network analysis. With topics such as big data and data science becoming increasingly popular, the study of large datasets of networks (or graphs), is becoming increasingly important. Examples of such networks include webgraphs, communication and collaboration networks and perhaps most notably (online) social networks (such as Facebook and Twitter). With millions of nodes and possible billions of links, traditional graph algorithms are often too complex and unable to solve trivial algorithmic and data mining related problems. Typical tasks in this field include clustering, outlier detection, link prediction but also more fundamental problems such as efficient retrieval, storage, and compression of graph data and computational problems such as computing shortest paths and other descriptive graph properties.
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 graphs 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.
Knowledge of Algorithms, Data Structures and Data Mining (for example, Algoritmiek, Datastructuren and Data Mining from the Leiden Informatica BSc programme)
The most recent timetable can be found at the students' website
Provided papers (no book)
Table of contents:
Individual and in teams.
Homework assignments and course project.