Syllabus

This is an abbreviated version of the official course syllabus. The full syllabus is available to University of Idaho students on Canvas.

BCB 4200/5200

Spring 2026

Dr. Brian J. Smith
3 Credits

Course Description

This class will help students establish a core understanding of data visualization. We will consider how data type (including tabular, network, and spatial data) interacts with visualization task to guide design choices. Diverse types of visual encodings and how they relate to human perception will be presented, along with practical exercises using the R programming language. Upon completion of the course, students will understand WHY particular visualization approaches are effective for a given data set and HOW to implement those visualizations using R. The course is designed to be “discipline agnostic” – each student is encouraged to use data sets that they deem important/interesting. The goal is to have students learn how to develop visualizations that are relevant to their own disciplinary interests.

Required Course Materials

Inclusive Access Textbook

  • None

Additional Reading Materials

  • Munzner, T. 2014. Visualization Analysis and Design. A K Peters Visualization Series, CRC Press, Boca Raton, FL.

While the book is not required, both Dr. Robison and I have leaned heavily on the structure and approach to visualization that Dr. Munzner has developed.

Other Required Materials

  • R (free, open source)
  • RStudio (free, open source)
  • Optional: QGIS (free, open source)

Student Learning Outcomes

  • Describe and manipulate tabular, network, and spatial data; transform these data into a form suitable for visualization.
  • Analyze data visualization design choices related to marks and channels, spatial arrangement, and components of color.
  • Design new data visualizations with appropriate use of visual channels for tabular, network, and spatial data with quantitative and categorical attributes.
  • Implement their data visualization designs using existing tools in R (or other toolkits preferred by the student).
  • Explain whether a visual encoding is perceptually appropriate for a specific combination of task and data.
  • Demonstrate their skills with at least two novel visualizations suitable for inclusion in an online Data Science Portfolio.

Class Schedule

This current schedule is tentative. Current students please see Canvas for the most current due dates.

sched <- read.csv("schedule_2026.csv")
knitr::kable(sched, caption = "")
Date Week Day Topic
1/15/2026 1 Thursday Introductions, expectations, install software
1/20/2026 2 Tuesday Computing basics for data science; setup GitHub
1/22/2026 2 Thursday Literate programming
1/27/2026 3 Tuesday Data Visualization: What and Why
1/29/2026 3 Thursday Graphics Formats
2/3/2026 4 Tuesday Data Abstraction
2/5/2026 4 Thursday Data Wrangling in R
2/10/2026 5 Tuesday No class – Brian at Montana State
2/12/2026 5 Thursday No class – Brian at Montana State
2/17/2026 6 Tuesday Marks and Channels
2/19/2026 6 Thursday ggplot2, part 1
2/24/2026 7 Tuesday Arranging Tables
2/26/2026 7 Thursday ggplot2, part 2
3/3/2026 8 Tuesday Rules of Thumb
3/5/2026 8 Thursday Manipulating Views
3/10/2026 9 Tuesday Mid-term Project Presentations
3/12/2026 9 Thursday Mid-term Project Presentations
3/17/2026 10 Tuesday Spring break
3/19/2026 10 Thursday Spring break
3/24/2026 11 Tuesday Color
3/26/2026 11 Thursday Reducing Items and Attributes
3/31/2026 12 Tuesday Embedding
4/2/2026 12 Thursday Surveys (Graphics in survey forms, visualizing survey results)
4/7/2026 13 Tuesday Spatial Data Review
4/9/2026 13 Thursday Spatial Data in R
4/14/2026 14 Tuesday Network Data Review
4/16/2026 14 Thursday Network Data in R
4/21/2026 15 Tuesday Animation
4/23/2026 15 Thursday ???
4/28/2026 16 Tuesday Statistical Models
4/30/2026 16 Thursday Statistical Models
5/5/2026 17 Tuesday Final Project Presentations
5/7/2026 17 Thursday Final Project Presentations