Course Syllabus

Complex Networks

DIS Logo

gemma_isabella_network-1-1.png

Network generated by former DIS students

Gemma Bertain and Izzy Kriz

Semester & Location:

Spring 2025 - DIS Copenhagen

Type & Credits:

Core Course - 3 credits

Study Tours:


Denmark and UK (Edinburgh)

Major Disciplines:

Computer Science, Mathematics

Prerequisite(s):

One year of computer science at university level. One of the computer science courses should be in algorithms and data structures. A course in Probability is recommended.

Note: Basic knowledge of a programming language is expected. We will be using Python in this course. If you have no experience coding in Python, you should either follow a Python tutorial before the course starts, or prepare to invest some hours getting up to speed with the basics of the language once we start.

Faculty Members:

Panagiota Katsikouli, PhD (current students please use the Canvas Inbox)

Program Contact:

csc-engr@disstockholm.se

Time & Place:

TBD

 

Course Description

Networks are present everywhere. They are embedded in our social relationships, the cells in our bodies, the World Wide Web, the transportation systems we use for local and international travel. How is information spread in a society? How do diseases spread and, perhaps more importantly, how can we stop their spread? Why certain webpages appear first in your google searches? Who is more likely to  appear as a recommended friend connection on your social media profile? Insights from complex networks, and what you will learn in this course, will provide answers to these questions!

In this course, you will learn and utilize computational and mathematical methods to characterize, represent, and analyze complex networks. Through these means, you will explore various types of real networks, their properties, and draw insights of their significance in science and society.

The classes will be a mix of thematic discussions, case studies, hands-on experience and project work in groups. In this course, you will learn how to model, visualize, analyze and understand real networks using primarily the Python programming language and the NetworkX library (https://networkx.org/)

At the end of the course, you will be able to model any appropriate dataset into a network, visualize and analyze it and discover its properties. 

Course overview 

The course consists of 12 chapters:

  1. Introduction to graphs and networks
  2. The NetworkX library
  3. Social Networks
  4. Random Graphs
  5. Small World Phenomenon
  6. Evolving Networks
  7. The WWW and Google's PageRank
  8. Information Cascades and Epidemics
  9. Project Proposals
  10. Lab work on your projects
  11. Lab work on your projects
  12. Project Presentations

Learning Objectives

By the end of this course, the student will be able to:

  • Comprehend and critically evaluate the properties and dynamics behind any real or random network.
  • Explore appropriate datasets and visualize them as networks, analyze and infer their properties.
  • Use computational tools through appropriately selected libraries for the representation and analysis of networks.
  • Critically evaluate various dynamics in our society and ourselves through the study of network science.

Faculty

yota_zoom.jpg

Panagiota (Yota) Katsikouli

PhD (Informatics, University of Edinburgh, 2018) . Post-doctoral Researcher, INRIA Lyon, 2018-2019. Post-doctoral Researcher, University College of Dublin, 2019. Post-doctoral Researcher, Technical University of Denmark, 2019-2020. Teaching and Research, University of Copenhagen, 2020-2024. Faculty Member, OPen Institute of Technology, 2023-present. With DIS since 2023.

Readings

The theoretical content of the course, as well as some of the practical examples, will be based on the following books:

Some learning will also be based on papers, blog posts and videos available online

Approach to Teaching

The course is designed around the principle of constructive alignment. The two major components in the course—the assignments and the final project—implement this principle by stating clear outcome goals of every activity and the course as a whole.

Assignments: Leading up to each session, students are given a "preparation goal" and a suggested list of materials they can use to reach it. Sessions include a theoretical lecture part, that introduces the topic of the, and quizzes, games and hands-on exercises that would allow the students to directly appreciate the theoretical concepts discussed. Each week, the students will form groups of 2-3 students -- the groups will work through some technical exercises together, in class under the instructor's supervision, and afterwards on their own (if they don't complete the assignment in class).  During the term, the students (in groups) will hand in a number of assignments, containing exercises the students worked on during the sessions.

Final project: From the beginning of the course the students are aware that an outcome of the course is a project. Students will work in groups of 2 or 3.  The project consists of two parts:  (a) a critical study of a relevant research paper - each group can propose a paper or the teacher will assign a paper to each group. (b) a small study and analysis of some network - each group is free to choose the data which they will study and analyse. Students submit the project in various phases: We work on the paper review in the first half of the term and each group gives a short presentation (in class) of their work. For the practical project, each group has to deliver a short proposal which details which dataset/network they are planning to work on, their idea and execution plan. After completing the project, each team must communicate the results in the format of their own choice (popular formats are blog posts and common text reports) and in-class with a short presentation at the end of the term. 

 

Expectations of the Students

Students are expected to reach the preparation goal leading up to each session. Students should have a working laptop computer with installed Python and the NetworkX library. 

Students are expected to attend all mandatory classes and events. If you miss multiple classes, the Director of Academic Support and the Director of Student Affairs will be notified. Multiple and unexcused absences will be reflected in the final grade through the participation score.  Allowances will of course be made in cases of illness, but in the case of multiple absences, you will need to provide a doctor’s note.

Core Course Week and Study Tours

Core course week and study tours are integral parts of the core course. The classroom is “on the road” and theory presented in the classroom is applied in the field. You will travel with classmates and DIS faculty/staff on two study tours: a short study tour during the core course week and a long study tour to relevant European destinations. You are expected to

  • participate in all activities
  • engage in discussions, ask questions, and contribute to achieving the learning objectives
  • be respectful to the destination/location, the speakers, DIS staff, and fellow classmates
  • represent self, home university and DIS in a positive light

While on a program study tour, DIS will provide hostel/hotel accommodation, transportation to/from the destination(s), approx. 2 meals per day and entrances, guides, and visits relevant to your area of study or the destination. You will receive a more detailed itinerary prior to departure.

Travel policies: You are required to travel with your group to the destination. If you have to deviate from the group travel plans, you need approval from the program director and the study tours office. 

Evaluation

During the course you will hand in assignments containing exercises solved in class. Furthermore, you will complete a larger project that consists of a paper review and the network-based analysis of a dataset. You will be allowed to choose your own paper for the review and dataset for the project, but you can also get assistance from the teacher.

Both project and assignments are group efforts. The teacher will rate all the assignments. The group members will receive the same grade for the hand-ins but grades among members of a group might differ for the presentations (all depending on each student's performance during those).

During the programming projects, you are allowed to consult freely with any of the other students and the instructor. Contributions from other students, however, must be acknowledged with citations in your final report, as required by academic standards. Contributions to your presentations must similarly be acknowledged. Needless to say, the right to consult does not include the right to copy — programs, papers, and presentations must be your own original work. 

The participation grade reflects a student's contributions to classes, exercises, comments on other students' questions on the Discussion boards, attendance and engagement during events.  Inappropriate and/or unprofessional behavior (e.g., sleeping during presentations, being rude towards our hosts during field studies) as well as multiple unexcused absences are going to be reflected in your participation score.

Grading

More details on grading, the assignments and the project will be discussed in class.

Assignment

Percent

Participation:  (includes class, project, field studies, travel week behavior that is beneficial to the learning of others)

15%

 

Assignments: (2 group assignment hand-ins of exercises shown and solved in class - or at home, if the group did not manage to complete in class. Each assignment counts towards 15% of the final grade)

30%

 

Final Project: (paper review presentation: 15%, practical project report 25%, practical project presentation 15%)

55%

 

Additional Class Regulations

Late submission policy: Late submissions (of assignments, reports etc.) are accepted but the group's grade for the deliverable will be reduced by 5 points for each late day.

Use of laptops : Use of laptops during class is necessary. However, during presentations we would like to encourage everyone's full attention and respect to the presenting group. As such, during such events, the use of laptop is not needed. 

DIS Accommodations Statement 

Your learning experience in this class is important to me.  If you have approved academic accommodations with DIS, please make sure I receive your DIS accommodations letter within two weeks from the start of classes. If you can think of other ways I can support your learning, please don't hesitate to talk to me. If you have any further questions about your academic accommodations, contact Academic Support acadsupp@dis.dk. 

 

Academic Regulations 

Please make sure to read the Academic Regulations on the DIS website. There you will find regulations on:

 

 

DIS - Study Abroad in Scandinavia - www.DISabroad.org

Course Summary:

Date Details Due