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.

2020S, VU, 2.0h, 3.0EC


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

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



Course dates

Tue09:00 - 11:0003.03.2020 - 10.03.2020Seminarraum FAV 05 (Seminarraum 186) lecture
Graph Drawing Algorithms - Single appointments
Tue03.03.202009:00 - 11:00Seminarraum FAV 05 (Seminarraum 186) lecture
Tue10.03.202009:00 - 11:00Seminarraum FAV 05 (Seminarraum 186) lecture

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
18.02.2020 00:00 17.03.2020 23:59 23.06.2020 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