192.053 Graph Drawing Algorithms
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2021S, VU, 2.0h, 3.0EC


  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise
  • Format: Distance Learning

Learning outcomes

After successful completion of the course, students are able to

  • explain fundamental concepts, structures, quality criteria, and problem definitions in graph drawing
  • explain, assess, and analyze the discussed algorithms and layout styles
  • select and adapt appropriate algorithms and layout styles to related problems
  • model and analyze unknown applied or theoretical graph drawing problems and develop and possibly implement efficient solutions independently

Subject of course

Graph drawing is concerned with the geometric representation of graphs in the plane and constitutes the algorithmic core of network visualization. Graph drawing is motivated by applications where it is crucial to visually analyze, explore, and interact with relational datasets. Examples of such application areas include data science, social sciences, Web computing, information systems, biology, geography, business intelligence, information security and software engineering. The research area graph drawing combines aspects of algorithmics, graph theory, computational geometry, and visualization.

In this course we define common aesthetic quality criteria and layout styles in graph drawing. Subsequently, we study the corresponding optimization problems from a formal, algorithmic perspective. We cover some of the most fundamental graph drawing algorithms, ranging from general-purpose algorithms to specific algorithms for certain graph classes (e.g., trees and planar graphs). The algorithms use known algorithm design principles such as divide-and-conquer, incremental constructions, and network flow models. The course covers both practical and theoretical aspects of graph drawing.

Teaching methods

  • Definition, design and analysis of algorithms and layout quality measures
  • Discussion and formal proofs of algorithmic, geometric, and aesthetic properties 
  • Solving and discussing examples
  • Solving of tasks from the Graph Drawing Contest in small groups
  • Reading and presenting state-of-the-art literature

Mode of examination


Additional information

In addition to the weekly lectures there is an accompanying exercise part, in which students can choose to either work on a practical programming project in a group of 2-3 students and present the results at the end of the course (incl. the option to participate in the annual graph drawing contest), or to read and understand a recent theoretical research paper and present it to the class at the end of the term.


24 h lecture attendance
20 h follow-up of lecture material and exam preparation
30 h programming project or preparation of theory paper presentation
  1 h oral exam
75 h total

Distance Learning

In distance learning mode we will provide weekly lecture videos. About every 3 units, we have a live webinar (attendance is mandatory) to discuss questions and epxand on selected aspects of the material. Exercise sessions take place in individual project groups with the lecture assistant. At the end of the term, the results of the exercise projects will be presented in a live meeting.



Course dates

Tue09:00 - 11:0002.03.2021 Zoom (LIVE)Introductory lecture
Tue09:00 - 11:0023.03.2021 Zoom (LIVE)Webinar
Tue09:00 - 11:0004.05.2021 Zoom (LIVE)Webinar
Tue09:00 - 11:0001.06.2021 Zoom (LIVE)Webinar
Tue09:00 - 11:0022.06.2021 Zoom (LIVE)Webinar

Examination modalities

  • Either design and implement/create graph layouts for the graph drawing contest and present the results (group work) or
  • present a state-of-the-art research paper
  • Present and discuss the course content in an oral exam

The oral exam counts for 70% of the grade, the exercise coursework for 30%.

Course registration

Begin End Deregistration end
15.02.2021 00:00 16.03.2021 23:59 29.06.2021 23:59



No lecture notes are available.

Previous knowledge

Required: solid basic knowledge in algorithms and data structures, particularly graph algorithms (e.g. 186.813, 186.815, 186.866)

Optional: advanced knowledge in algorithmics (e.g. 186.814, 186.122) and basic knowledge in visualization (e.g. 186.827, 186.833, 188.305)

Preceding courses

Continuative courses