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.
Lectures: Fridays from 9:00 to 10:45 in Gorlaeus room BM1.33
Lab sessions: Fridays from 11:00 to 12:45 in Gorlaeus room DM0.09 an DM0.13
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: 2425-S1 Social Network Analysis for Computer Scientists
Study guide link: Social Network Analysis for Computer Scientists
Study points: 6 ECTS
Course staff: dr. Frank Takes (f.w.takes@liacs.leidenuniv.nl, room BE 3.07), dr. Vincent Traag (v.a.traag@cwts.leidenuniv.nl), Rachel de Jong MSc (room BE 3.03)
Assistants:
dr. Francesco Bariatti (room BE 3.09),
Hanjo Boekhout MSc (room BE 2.23),
Tiago Cumetti, Jakob Lindscheid and Jan Żuromski
Network with 1458 nodes and 1948 edges.
Date | Lecture (9:00-10:45) | Lab session (11:00-12:45) | |||||
1. | Fri Sep 6, 2024 |
Lecture 0: Course information Lecture 1: Introduction and small world phenomenon |
Introduction to Gephi Work on Assignment 1 |
||||
2. | Fri Sep 13, 2024 | Lecture 2: Advanced concepts and centrality | Introduction to NetworkX Work on Assignment 1 |
||||
3. | Fri Sep 20, 2024 | Lecture 3: Network projection and propagation-based centrality Example presentation |
Work on Assignment 1 | ||||
4. | Fri Sep 27, 2024 | Lecture 4: Community detection | Work on Assignment 1 | ||||
Mon Sep 30, 2024 |
Deadline for Assignment 1 (AoE; hand in via Brightspace) |
Fri Oct 4, 2024 | No lecture (university closed) | No lab session | 5. | Fri Oct 11, 2024 | Lecture 5: Network dynamics and evolution | Course project planning Work on Assignment 2 |
6. | Fri Oct 18, 2024 | Lecture 6: Dynamics on networks | Work on Assignment 2 | 7. | Fri Oct 25, 2024 |
|
Work on Assignment 2 |
Mon Oct 28, 2024 |
Deadline for Assignment 2 (AoE; hand in via Brightspace) |
||||||
8. | Fri Nov 1, 2024 |
|
Course Project Paper Planning Work on Course Project |
||||
9. | Fri Nov 8, 2024 |
|
Work on Course Project | ||||
Thu Nov 14, 2024 |
"Deadline" for a draft of the first half of the Course Project paper (bring 2 printed copies to tomorrow's peer review session) |
||||||
10. | Fri Nov 15, 2024 | Peer review session (in team pairs) | Work on Course Project | ||||
11. | Fri Nov 22, 2024 |
|
Work on Course Project | ||||
12. | Fri Nov 29, 2024 |
|
Work on Course Project | ||||
Wed Nov 27, 2024 |
(Optional) Deadline for a preliminary version of the Course Project paper for course staff feedback (AoE; hand in via Brightspace) |
||||||
Thu Dec 5, 2024 |
"Deadline" for a substantial part of the Course Project code and experimental pipeline (have it available for review tomorrow) |
||||||
13. | Fri Dec 6, 2024 | Code review session (in team pairs) | Work on Course Project | ||||
Dec 13, 2024 | Reserve slot for student presentations (in principle not used) | ||||||
Dec 15, 2024 |
Deadline for final Course Project paper and accompanying code (AoE; hand in via Brightspace) |
||||||
Dec 17, 2024 | Deadline for retake assignment to replace failed assignment(s) (AoE; hand in via email) | ||||||
Dec 20, 2024 | Course end. Grades are sent to student administration. | ||||||
Jan 31, 2025 | Course Project retake deadline |
The main goal of this lab session is to ensure that your team is all 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 in 2 weeks.
As always: please ask course staff for help if you are still unsure about certain aspects of your project.
Need to freshen up or improve academic writing skills? See Academic writing: a practical guide and the The academic phrasebank. There is also the Leiden Science Skills platform.
The main goal of this lab session is to get started with both the course project and with Assignment 2.
Course project
Below are some topics you can discuss and investigate together with your project team partner.
Done? Get started with 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.
Your Python environment
For this lab session, you need a working Python environment. For this, there are two options:
Instructions for today: Lab session on NetworkX
Done? Proceed with Exercise 2 of Assignment 1.
Looking for a challenge? Check out these three alternatives (that you
can also use instead of NetworkX throughout the course, if you prefer
(but for which there is less help available)):
Running intro problems regarding prior knowledge on python programming? See the reading material at the bottom of this course website.
About social network analysis tools and packages. There exist different tools and packages for social network analysis. In this course, we coveR 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 at home if needed.
Instructions:
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 in the ISSC Linux or LIACS DS lab environment, as stated in the assignment.
Teams work on a course project for 60% of the course grade. The project is about a certain topic (see list below) related to social network analysis, and has a paper as end product. The explanation below was also given in Lecture 3. The project consists of:
A template snacspaper.tex (with many instructions for content per section inside the TeX comments(!)) is available, which you can compile with pdflatex into a pdf. You also need this acmart.cls-file. We are using an adjusted version of the 2-column ACM conference proceedings template. Of course, feel free to use any additional LaTeX packages. Likely, you will need tikz, graphicx, etc.
This list of project topics is shown below. Please choose a topic (so, choose a number) with your team (consisting of two students). Register your choice in Brightspace. Topics can be chosen up to 3 times; we will split the group into 3 parallel tracks.
Note: scientific papers (ACM, Elsevier, etc.) can often only be opened from within the university domain (or from home via university SSH/Citrix/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.