This course deals with computer science (CS) aspects of social network analysis (SNA), and is open to all students in the master computer science programme at Leiden University.
In the Fall 2020 semester, Social Network Analysis for Computer Scientists is a hybrid on-site/online course.
Update 18-12-2020: Final grades have been submitted to the student administration.
Subscribe to the Online and Lab Session Live Room (one-time action):
https://video.leidenuniv.nl/channel/SNACS+2020/177222361/subscribe
Subscribe to the On-site Live Room (one-time action):
https://video.leidenuniv.nl/channel/SNACS+2020+-+On-site+room/185235803/subscribe
(most links require ULCN login)
Lectures: Fridays from 8:30 to 10:15
in Gorlaeus room 03 (online; presenters on-site: Snellius 174 or online)
Lab sessions: Fridays from 10:30 to 12:15
in Gorlaeus room 03 (online)
Prerequisites: a CS bachelor with courses on Algorithms, Data Structures and Data Mining
Literature: provided papers and book chapters (free and digitally available)
Examination: based on presentation, paper, programming, peer review and participation (no exam)
Brightspace link: 2021-WN Social Network Analysis for Computer Scientists
Study points: 6 ECTS
Lecturer: dr. Frank Takes - f.w.takes@liacs.leidenuniv.nl, room 157b
Assistant lecturer: Anna Latour MSc - a.l.d.latour@liacs.leidenuniv.nl, room 123
Assistants:
Antonio Barata MSc - a.p.pereira.barata@liacs.leidenuniv.nl, room 126
Hanjo Boekhout MSc - h.d.boekhout@liacs.leidenuniv.nl, room 126
Jingsen Chen - j.chen.22@umail.leidenuniv.nl
Network with 1458 nodes and 1948 edges.
Date | First slot (8:30-10:15) | Second slot (10:30-12:15) | |
---|---|---|---|
1. | Sep 4, 2020 |
Lecture 0: Course information (video,pdf) Lecture 1: Introduction and small world phenomenon (video,pdf) |
Introduction to Gephi (video) Work on Assignment 1 |
2. | Sep 11, 2020 | Lecture 2: Advanced network concepts and centrality (video,pdf) | Introduction to NetworkX Work on Assignment 1 |
3. | Sep 18, 2020 | Lecture 3: Network projection and community structure (video,pdf) Presentation 0: Example course project presentation (video,pdf) |
Project team formation Work on Assignment 1 |
4. | Sep 25, 2020 | Lecture 4: Network structure of the web (video,pdf) | Work on Assignment 1 |
Sep 28, 2020 | Deadline for Assignment 1 (hand in via Brightspace) | ||
Sep 30, 2020 | Deadline for having chosen a course project topic in Brightspace (and reserved a presentation slot) | ||
5. | Oct 2, 2020 | Lecture 5: Network dynamics and evolution (video,pdf) | Introduction to data science lab & Course project planning Work on Assignment 2 |
6. | Oct 9, 2020 | On-site presentation 1: Visualization algorithms 1
On-site presentation 2: Link prediction 2 Online presentation 1: Link prediction 1 Online presentation 2: Community detection 1 |
Work on Assignment 2 |
7. | Oct 16, 2020 | On-site presentation 3: Shortest paths 1
On-site presentation 4: Influence spread and virality 1 Online presentation 3: Diameter computation Online presentation 4: Anomaly detection 1 |
Work on Assignment 2 |
8. | Oct 23, 2020 | On-site presentation 5: Closeness centrality 2 (top-k)
On-site presentation 6: Local cluster detection Online presentation 5: Community detection 3 Online presentation 6: Triangle counting |
Work on Assignment 2 |
Oct 26, 2020 | Deadline for Assignment 2 (hand in via Brightspace) | ||
9. | Oct 30, 2020 | On-site presentation 7: Link prediction in signed networks
On-site presentation 8: Graph evolution rules Online presentation 7: Visualization algorithms 2 Online presentation 8: Sampling from networks 1 |
Work on course project paper |
10. | Nov 6, 2020 | On-site presentation 9: Betweenness centrality 2
On-site presentation 10: Community detection 4 Online presentation 9: Network embeddings 2 Online presentation 10: Influence spread and virality 2 |
Work on course project |
Nov 13, 2020, 10:30 CET |
Deadline for having a first version of the course project paper ready in PDF for peer review by fellow students | ||
11. | Nov 13, 2020 | On-site presentation 11: Sampling from networks 2
On-site presentation 12: Graph compression Online presentation 11: Betweenness centrality 1 Online presentation 12: Motifs in multilayer networks |
Peer review session |
12. | Nov 20, 2020 | On-site presentation 13: Network embeddings 1
On-site presentation 14: Motifs in temporal networks Online presentation 13: Community detection 2 Online presentation 14: Visualization algorithms 3 |
Work on course project |
Nov 23, 2020 | Optional deadline for preliminary course project paper for feedback (hand in via Brightspace) | ||
13. | Nov 27, 2020 | On-site presentation 15: Neighborhood approximation
On-site presentation 16: Data errors in networks 1 Online presentation 15: Closeness centrality 1 Online presentation 16: Personalized PageRank |
Code review session |
14. | Dec 4, 2020 | On-site presentation 17: Dense subgraph detection
On-site presentation 18: Privacy and anonymity in networks Online presentation 17: Shortest paths 2 Online presentation 18: n/a |
Work on course project |
Dec 9, 2020 | Deadline for final course project paper (hand in via Brightspace) | ||
Dec 16, 2020 | Retake deadline for assignments | ||
Dec 18, 2020 | Course end. Grades are sent to student administration. | ||
Jan 29, 2021 | Retake deadline for course project |
The main goal of this lab session is to ensure that everything is set for making serious progress writing the course project paper in the coming weeks.
Course project paper
Earlier, you have made a project planning.
One upcoming deadline is the first version of your paper for the peer review session (November 11).
As always: please ask course staff for help if you are still unsure about certain aspects of your project.
The main goal of this lab session is to get started with both the course project and with Assignment 2, and to get to know the data science lab.
Data Science Lab
The data science lab website provides necessary information and documentation.
Become familiar with the lab and how to run code on it, and how to place data within the lab. This may be handy for Assignment 2 and/or the course project. Remember:
Course project
Below are some topics you can discuss and investigate together with your project team partner.
Assignment 2
Get started with the practical part of Assignment 2.
The main goal of this lab session is to become familiar with NetworkX (a Python package to analyze networks for research purposes).
All relevant information on NetworkX can be found in the NetworkX online documentation.
For this lab session, you need a working python environment. For this, there are two options:
Setup and installation
Instructions for today: Lab session on NetworkX
Done? Proceed with Exercise 2 of Assignment 1.
Looking for a challenge? Check out these two alternatives (that you can also use instead of NetworkX throughout the course, if you prefer (but for which there is less help available)):
About social network analysis tools and packages. There exist different tools and package for social network analysis. In this course, we will introduce you to two of them, with complementary advantages:
Learning goals. The main goal of this lab session is to become familiar with Gephi (experimental beta-software to visualize networks for research purposes) and its input format. At the end of this session you should be able to:
There is no deliverable for this lab session, but you are assumed to know the tool afterwards. Practice more afterwards at home if needed.
Instructions for today: Lab session on Gephi.
The following steps and tutorials will help you get to know Gephi.
Done? Get started with the practical part of Assignment 1. You can download the smaller datafiles medium.tsv and large.tsv. If you want to analyze huge.tsv, you will have to get it from the shared folder stated in the assignment.
Teams work on a course project for 60% of the course grade. The project is about a certain topic related to social network analysis, and the project consists of:
Instructions for the course project paper are available.
This list of projects is shown below. Please choose a topic with your team (consisting of two students). Register your choice in Brightspace. The group registration on Brightspace opens September 18 at 11:30. First come, first serve. Please choose a topic from the category that you have earlier joined on Brightspace: on-site (A) or online (C), or from the category from which all students can choose (B).
Note: scientific papers (ACM, Elsevier, etc.) can often only be opened from within the university domain (or from home via SSH/VPN/etc.). IEEE Explore papers can often be opened by looking them up via computer.org. Alternative links and preprints of papers can often be found through Google Scholar by searching for "Title of the paper". Contact course staff if you have tried all of these options and are still not able to access the paper (do not pay!).
Some students have expressed interest in additional reading material to help freshen up on skills and knowledge required for this course.
See the e-Studyguide for a more general description.
Topics include: SNA from a CS perspective (graph representation, complexity issues, examples), Graph Structure (power law, small world phenomenon, clustering coefficient, hierarchies), Paths and Distances (neighborhoods, radius, diameter), Spidering and Sampling (BFS, forest fire, random walks), Graph Compression (graph grammars, bitwise tricks, encryption, hashing), Centrality (degree centrality, closeness centrality, betweenness centrality, rating and ranking), Centrality and Webgraphs (HITS, PageRank, structure of the web), Community Detection (spectral clustering, modularity), Visualization (force-based algorithms, Gephi, NodeXL), Graph Models (random graphs, preferential attachment), Link Prediction (structure, semantics, prediction algorithms, graph mining), Contagion (diffusion of information, spreading activation, gossipping) and Privacy and Anonymity ((de-)anonymizing graphs, ethical aspects, privacy issues) and various other topics that have been added over the years but are not yet in the list above.
The course was also given in 2014, 2015, 2016, 2017, 2018 and 2019.