The large amount of relational data electronically available makes its exploration through visual interfaces an interesting research domain and a promising area for the development of new software products. New visual tools appear each day for exploring social networks, databases, computer networks, semantic web networks, security data, etc. Recently, the widespread adoption of tablets and smartphones all the more increases the need for innovative visual interfaces that are both intuitive and effective. The goal of this course is exactly that of introducing the participants to the problems and the solutions in the field of the visual exploration of abstract data, with a particular emphasis on the adopted graphic metaphors and on the algorithmic methods and models used. The knowledge of the participants about algorithm engineering and network optimization problems are deepened. Such a knowledge is applied to different kinds of visualization problems with a strong practical attitude.


teacher profile | materiale didattico


Data and Visualization: Data overloading. Comparison of Scientific Visualization and Information Visualization. Structured and Unstructured data. Data transformation. Data tables.

Visual Perception: Our vision’s principles and limitations. Peripheral and central view. The perception of color.

Cognitive Issues and User Tasks: Perception abilities. Weber's law. Stevens' power law. Gestalt laws. A two stage model for visual perception. Task taxonomies.

Infovis on the Web - SVG and D3.js: Basic ingredients of Web data visualization. JavaScript crash course. Raster and vector graphics. Overview of JavaScript libraries. Focus on D3.js.

Multivariate Data Representations: Combined views. Icons or glyphs. Alternative coordinate systems.

Visualization in Computer Networks: Visual analysis in the computer network domain. Motivations. Taxonomies. Real-world examples and use cases. Open questions.

Design Methods and Evaluation: Design methodologies and design choices. Design evaluation (goals, difficulties, practices, guidelines).

Visualization of Time Series Data: Definition of time series and temporal data. Visualization of time series (single dependent variable, multiple dependent variables). Case studies.

Interaction: Classification of interaction mechanisms, goals, and timings. Examples of interaction strategies.

Introduction to Graph Drawing: Graph Drawing conventions and aesthetics. The divide an conquer approach for testing planarity of a graph.

Node-link Representations of Trees: Representing trees within the node-link paradigm. Layered drawings of trees. Hv-drawings of trees. Limitations of node-link representations.

Space-Filling Visualizations of Trees: Algorithms and systems for the representation of trees using the space-filling strategy. Treemaps. 3D Space-filling approaches.

Representations of Graphs and Networks with the Force-Directed Approach: The force-directed paradigm. The barycenter method. Spring embedders. Scalability and flexibility of the force-directed paradigm. Fruchterman-Reingold and Barnes–Hut algorithms. Simulating graph theoretic distances. Magnetic fields. Generic energy functions. Handling drawing constraints.

Representations of Hierarchical Data: Algorithms for the representation of layered networks. The Sugiyama approach. Step 1: Cycle removal. Step 2: Level Assignment. Step 3: Crossing Reduction. Step 4: X-Coordinate Assignment

Orthogonal Drawings: Computing orthogonal drawings via Network Flows. The Topology-Shape-Metric approach. Extension to graphs of arbitrary degree. Representations of orthogonal drawings obtained from visibility representations and by incremental approaches.

Visualizing Large Graphs: Strategies for the visualization of massive amount of data providing both overview and details. Alternate between views. Combine different views. Filtering and clustering principles. Three-dimensional and two-dimensional representations of clustered graphs. Hybrid representations.

Tools and Libraries for Drawing Graphs: Tools and Libraries for drawing graphs. Programming languages, input and output formats, and interaction. Some practical example.

Architectures for Scalable Information Visualization: Computational and memory scalabity. Visualization architectures. Strategies for visualizing massive amounts of data.

Testi Adottati

Slides provided by the teacher and downloadable day by day from the course website: http://www.dia.uniroma3.it/~infovis/
In order to download the slides a userid-password pair is necessary (ask the teacher at maurizio.patrignani@uniroma3.it)

Modalità Erogazione

Lectures with discussion of the course slides projected.

Modalità Frequenza

The slides are verbose enough to allow students to pass the exam even if it is not possible for them to attend all lessons.

Modalità Valutazione

A SHORT WRITTEN ESSAY (IN THE CLASSROOM, WEIGHTED 20% IN THE FINAL GRADES). TWO PROJECTS: THE FIRST, SMALLER, TO BE HANDLED DURING THE COURSE LECTURES AND FOCUSED ON D3.JS TECHNOLOGIES (10% OF FINAL GRADES); THE SECOND AT THE END OF THE LECTURES (70% OF THE FINAL GRADES). Attention please: during the COVID-19 lockdown periods the exam will be an oral test in accordance with Art.1 of Decreto Rettorale n°. 703 (5 May 2020). The oral test will be fundamental for passing the exam.