DIGI118: Introduction to Data Visualization

Visualization dashboard to explore bike sharing in Bergen

Introduction

Our personal and professional lives are surrounded by data—from step counters and weather forecasts to spreadsheets and other sources of information that guide decisions at the individual, local, and global levels. Data visualization is a proven way to engage with, explore, and contextualize large amounts of information critical to decision-making.

There are many questions to answer before creating a visualization, for example: Should I use a bar chart or line chart to discover something exciting about the data? or What color should I use for a variable? Poor choices can lead to visualizations that mislead, hide, or exaggerate important aspects of the data, while good choices will reflect the data in a clearer and more truthful way.

In this course, we will introduce the basics of designing and developing data visualizations. Knowledge of these building blocks will enable you to produce visual data representations that are truthful and effective. You will also be able to identify visual elements that may be misleading about their underlying datasets. Through a series of lectures and practical activities in Python, you will learn about different types of data, user goals, and a “grammar” of visualization that will help you create and analyze data visualizations. You will also learn about interactivity that makes it easier to explore your data.

Objectives

This course will provide you with an introductory-level understanding of the basic principles of visualization theory and techniques, the role of perception in visualization, and core methods for visually encoding and interacting with data. You will gain practical experience in building visualizations, and be equipped to critically review and discuss visualizations you observe in the world.

Course Structure

The course runs for four weeks during a given semester (with an optional preparation week before the official start of the course for those of you wishing to brush up on Python and core libraries used in the course. The course consists of lectures, quizzes, a practical assignment, and optional group sessions:

Lectures
The course consists of four week-long modules which run in sequence in a given semester. Each module has a few short video lectures that introduce and guide the student through the week’s topic. You are expected to watch all lectures.

Quizzes
Four obligatory quizzes must be completed and passed. These quizzes are based on the lecture content.

Practical assignment
For this obligatory assignment, you will code an interactive visualization dashboard using Vega-Altair, a popular Python library. We will release optional exercises each week that help you to complete different parts of the assignment. We strongly recommend that you go through these exercises as soon as they are published.

Group sessions
We will provide optional in-person help sessions throughout the running of the course. We recommend that you come to these sessions if you have questions regarding the practical assignment, quizzes, or lecture content.

Semester(s)

Irregular. Current cadence (as of 2025) is each autumn. Per-semester information for the course is available on Mitt UiB.

Language

The course language default is Norwegian, but will irregularly be taught in English. For Autumn 2025, course instruction will be in English.

Prerequisites

Previous programming experience/algorithmic thinking, e.g., DIGI111 Algoritmar og programmering, and data/data structures, e.g., DIGI110 Fantastiske data. Success in the course is possible without previous programming experience, but in this case the student should expect to put in extra effort to master the practical assignment.

Evaluation

The course has a pass/fail grading scale and is passed when all obligatory coursework has been completed and approved by the course instructor.

Credits

2.5 ECTS awarded on successful completion of the course.

For further information and the course’s learning objectives, see the UiB DIGI118 course page.