Section outline

  • Introduction to Network Analysis (INA)

    • Course staff

      Lovro Šubelj (instructor)

    • Course schedule

      The lectures and labs start on Feb 21st, 2024. Every enrolled student can attend any labs and consultations.

      • Lectures: Wednesday at 11:15am in PR 22
      • Labs (hands-on & consultations):
        • Wednesday at 4:15pm in PR 16
        • Friday at 12:15pm in PR 16
        • Friday at 2:15pm in PR 17
        • Monday at 12:15pm in PR 7 (previous week's material)
      • Office hours: by agreement in R 2.49 or on Zoom

    • Outline & objective

      Networks or graphs are ubiquitous in everyday life. Examples include online social networks, the Web, terrorist affiliations, LPP bus map, plumbing systems, and your brain. Many such real-world networks reveal characteristic patterns of connectedness that are far from regular or random. However, while small networks can be drawn by hand and analyzed by the naked eye, real-world networks require specialized computer algorithms, techniques, and models. This led to the emergence of a new scientific field about 25 years ago denoted network analysis or network science.

      The course will first introduce the field of network analysis and highlight the differences between classical graph theory and modern network science. In the main part of the course, students will learn about fundamental concepts and techniques for the analysis of real-world networks including node centralities and equivalence, motifs and graphlets, blockmodeling, community detection, role discovery, link prediction, network modeling, sampling, comparison, and visualization. The last part of the course will be devoted to selected practical applications of network analysis in fraud detection, software engineering, information science, and (tentative) invited talks.

      The objective of the course is to present a broad spectrum of network analysis concepts and techniques, clarify their theoretical foundations and demonstrate their practical applicability. The lectures will give theoretical discussions on network concepts and present efficient algorithms and techniques for their analysis, while students will work on practical examples of applying network analysis within labs and their coursework. The topics covered were selected thus to be suitable for a wide range of students and to serve as an introduction to more advanced network analysis courses such as Machine Learning with Graphs (see network courses design).

      Except for good programming skills in some general-purpose language (preferably Python), there are no specific prerequisites for the course. However, students will benefit from a solid knowledge of graph theory, probability theory and statistics, and linear algebra.

    • Coursework & grading

      Students are expected to attend and actively participate in lectures and labs.

      The ongoing coursework will consist of two homeworks on network analysis concepts and techniques. Each homework will require a certain amount of programming, some analytical derivations, and some practical applications to real-world problems.

      The main part of the coursework will consist of a group course project. Students can choose the project topic on their own or select one of the suggested topics. Projects must be done in groups of three or four students, whereas other group sizes will be allowed only in exceptional cases.

      The final exam will be an open-book written exam for which you register in StudIS. Students must score at least 50% on the exam to pass the course. The schedule of the exams is shown below.

      • Jun 11th, 2024 at 12:00pm in PR 1
      • Jun 21st, 2024 at 12:00pm in PR 22
      • Aug 23rd, 2024 at 12:00pm in PR 22

      The course grade is based 25% on the two homeworks (12.5% each), 25% on the course project, and 50% on the final exam. Additional points may be awarded based on course challenges, participation, commitment etc.

    • Assignments & submission

      All course assignments will be out and due according to the course syllabus, and must be submitted before Friday at 11:59pm.

      Students can prepare their assignments in either English or Slovene. Each assignment must be submitted to Gradescope (entry code JKX87N) and eUcilnica (using options below), and must include an assignment cover sheet with a signed honor code! An assignment is considered submitted only when all parts have been submitted.

    • Literature & materials

      All course materials will be posted periodically on this web page. The following course books are recommended as background reading.

    • Course discussions

      Please use Piazza for all course-related discussions and also personal matters.