Interactive Data Exploration (IDE)

Course content

Visualizing scientific data is important, not only for presenting results and conclusions in a convincing and appealing manner, but also as tools for exploration and generating hypotheses. Interaction networks between molecules, social relationships between friends, or road networks can all be represented as graphs and visualized using force-directed graph layouts ( Large treestructures can be visualized and explored using sunbursts ( or collapsible trees ( Finally, displaying, navigating and animating three-dimensional scenes is essential to most disciplines that involve some form of physical simulation. While static visualizations can be created with tools like matplotlib, animated or interactive visualizations that are easily shared across any modern platform (webpage, tablet app, phone app, conference video-presentation) have much wider uses.

This course will introduce interactive visualization techniques that are particularly relevant in science, and teach the student to implement these. A set of techniques, representing a wide range of scientific visualizations, will be demonstrated during lectures and projects, and students will be trained in reading, transforming and reducing a dataset to a representation that fits a certain visualization need. There is some flexibility to adapt projects to the students background but likely topics that will be covered include, interactive scatter+bar plots, force-directed graph drawing, decision trees, geographical maps, scene visualization, 3D volume visualization, and 3D streamlines/streaklines/pathlines.

There will be weekly programming exercises, mainly creating and using JavaScript libraries, where students get hands-on experience with the curriculum.

Learning outcome


  • Familiarity with a wide set of techniques used for interactive visualization

  • Experience with 4-6 key interactive visualization techniques

  • Familiarity with at least two large JavaScript libraries that will enable students to easily build or adapt visualizations in their future research careers.



  • Visualizing graphs, trees, matrices, maps, and 3D-scenes using JavaScript libraries

  • Parsing, representing and transforming data from/to e.g. CSV, JSON, and XML formats using JavaScript libraries


  • Producing cross-platform, sharable, interactive visualizations of scientific data

  • Producing high-quality, publication ready, customized figures for scientific publications

Mix of lectures and group work on weekly projects.

The following books are expected to be used:

  • Interactive Data Visualization for the Web, Scott Murray

  • Learning Three.js

Students are expected to have programming experience corresponding to either ‘Introduktion til Programmering’ or ‘Python Programming’.

7,5 ECTS
Type of assessment
Continuous assessment
Oral defence, 15min
Final grade is an overall evaluation of
- the 5 individual weekly projects
- final group project
- oral defense of final project (no preparation)
Marking scale
7-point grading scale
Censorship form
No external censorship
Several internal examiners
Criteria for exam assessment

To get the grade 12, a student should 

  • Have accomplished the learning objectives of the course
  • Be able to present and discuss both final project and topics taught during the course

Single subject courses (day)

  • Category
  • Hours
  • Lectures
  • 28
  • Preparation
  • 42
  • Exercises
  • 60
  • Project work
  • 75
  • Exam
  • 1
  • English
  • 206