Course Syllabus

CSci 5609: Visualization

Spring Semester 2022, 3 Credits

Best way to contact us: 


Lead Instructor:

Daniel Keefe, Ph.D. (he/him/his)


Office: Keller Hall 6-211

Phone: 612-626-7508

Office Hours (via Zoom):  Please check my Office Hours Google Calendar for times, and join via zoom at 


Assistant Instructor:  

Bridger Herman, Ph.D. Candidate in Visualization (he/him/his)


Office Hours (via Discord and Zoom):

Tuesday 9:00 - 10:00am; Friday 1:00 - 2:00pm, and by appointment.

Please post the main topic of your question in the "office-hours" channel of the course Discord and join the Zoom waiting room (also linked in Discord). I will react 👀 when I'm helping someone and ✅ when I'm done - you can see where I'm at in the queue by looking at these.


Official Course Website: 


Meeting Times and Modalities:

Background:  This class is offered simultaneously as a regular in-person course and a graduate distance course through the UNITE distributed learning program, which was designed primarily to serve professionals working part-time toward masters degrees.  Our class consists of about 65 in-person students and about 10 UNITE distance-learners.  UNITE provides excellent video streaming and archive services, and our class will take advantage of a special option they are providing during the pandemic to make these videos accessible to everyone in the class, regardless of whether you have registered for the UNITE or in-person section of the course.  We expect this to be a great benefit to us all and, using this resource, we will extend the option to ALL STUDENTS to participate in class via the synchronous live stream provided by UNITE.  Thus:

The class will meet synchronously from  2:30pm - 3:45pm on Monday and Wednesday. And, you can pick one of these two options for attending class and change modality as required over the course of the semester:

  1. Option 1 (In person):  Meet in Mechanical Engineering Building Room 108 (ME-108).
  2. Option 2 (Remote):  Meet via a combination of:


Archived Recordings: UNITE also maintains an archive of the live video stream, and these archived videos will be available in their media library about one hour after each class session ends.  For distance learners who work during the day, this is the only option for "attending" class.  Since you will be operating in an asynchronous mode, we will ask you to self organize into project teams and work together on peer responses or when other group work is required.  For everyone else, even though you are free to attend remotely, we expect you to always attend synchronously so that you may participate in small group discussions, peer review activities, and project work sessions.  Whenever we conduct live student activities in person, we will simultaneously conduct the same activities remotely, with the UNITE live stream providing a view of the classroom and using Discord to facilitate live remote interaction.  Of course, if you are ill and unable to attend synchronously or wish to review a portion of the class at a later date, you may certainly go back and look at the archived videos.  However, please make every effort to attend synchronously, just as you would in person during normal times.



There are no exams for the course.  Final projects will be submitted in a video format and viewed as a class on the last day of instruction.  Unless sickness or some other factor requires that you hand-in late work, you can safely treat our last class meeting as your last day of obligation to this course.



Welcome to CSci-5609: Visualization! 

This course is designed for advanced undergraduate students and graduate students to gain a real-world understanding of data visualizations created using 2D and 3D computer graphics and interactive techniques. Here, you'll learn how to wrangle real-world datasets and how to create interactive visualizations that are effective for analyzing data and/or for presenting data to others.  You'll also learn about how visualization can be used for positive social and scientific impact.


Learning Outcomes:

More formally, in this class, you should learn to:

  • Understand core concepts, algorithms, programming tools, and research topics relevant to data visualization.
  • Identify, define, and solve multidimensional data understanding problems using fundamental constructs of graphic design (form, narrative, metaphor, color, texture, shape), computer graphics, human-computer interaction techniques, and other visualization tools.
  • Critically evaluate visualizations from the standpoint of the human visual system and its ability to accurately interpret data from visuals.
  • Communicate complex information through visual means.



The official prerequisites for the course are CSci-1913 and CSci-4041 or consent from the instructor. Please contact me if you have any questions about whether the course is a good fit for your interests and background. This course addresses a fundamentally interdisciplinary topic, and there are situations where a student with a non-traditional computer science background may flourish in this course even without a significant prior background in programming. I welcome all students who believe they may make a strong contribution to the classroom environment (e.g., all of us can learn from a student with a background in biology with a real need to use data visualization to understand their data but not much prior programming experience), and in these cases, I am willing to negotiate details of the assignments on an individual basis to be appropriate given a more limited prior background with programming and computer science concepts.


Course Structure:

Part 1: The Foundation and Practice of Data Visualization (Roughly Pre-Spring Break)

The first half of the course is designed to provide a foundational understanding of how to design and implement data visualizations using modern computer graphics techniques.  This involves studying theory, rules of thumb, and examples.  You will learn this “foundation” through a combination of readings in the textbook and in supplementary materials as well as lectures and class discussions on the following topics:

  • Why visualization?
  • Understanding data types (e.g., categorical data, field data)
  • Human visual perception of color and visual marks
  • Mapping data to visual marks and channels
  • Art-inspired data-to-visual mappings
  • Visualizing multi-field data (e.g., velocity fields + pressure fields)
  • Defining user tasks
  • Rules of thumb for effective visualization design


You will also learn about the current “practice” of data visualization.  This will involve a series of 5 weeklong assignments designed to provide a quick hands-on introduction to some of the most useful current techniques and tools for data visualization.  The majority of these assignments will involve some programming, but, for visualization, developing good visual design skills is just as important as programming; so, these practice assignments will also emphasize sketching and other physical visual design processes.


Part 2:  Small Group Projects, In-Class Critique, and Advanced Topics

The second half of the course is designed to help you gain experience creating your own larger, often interactive, data visualization.  You may work individually or in pairs to complete the project, and you should plan to treat the project as an extension of the practice assignments from the first part of the course.  These assignments are intended to provide practice with powerful, modern visualization techniques for both 2D and 3D interactive visualization.  So, after the assignments, you should be well prepared to create some high-quality data visualizations.  Note that this does not mean your project must utilize the same data as the practice assignments.  In fact, we encourage you to explore a new dataset, which can even come from another professor on campus or your own research in another field or other area of computer science.  We do expect the project topic and data to be socially or scientifically relevant, and we will discuss these project requirements and teach you how to frame your project in an appropriate way as we move through the course.

To help you succeed in this second part of the course, we have laid out a progression of intermediate project milestones (e.g., identifying a dataset and project title, loading data, creating a first picture, adding interactivity).  These are scheduled roughly weekly, and you will be expected to hand-in an appropriate artifact to demonstrate progress for each.  

As you are working on your project, you will also complete some smaller visual design exercises for homework and bring these to class for discussion.  These will be hand-drawn or handcrafted and should not take long.  The goal of these exercises is to develop your visual literacy, learning how to effectively use visual building blocks like color, line, texture, form, metaphor, and narrative to convey information.  This type of knowledge comes from making and critiquing visuals.  Thus, our class time in the second half of the semester will include a combination of in-class project work and discussion, peer/class visual critique, and also learning about some more advanced visualization techniques and examples.

At the end of your project, you will have something really exciting and visual to show, and we will all want to see it!  So, rather than a final exam, the course will end with a mini conference session, where student projects are presented in a short video format.  We will teach you how to create these videos, which in itself is an important data visualization skill, and the final week or two of work on your project should be focused on preparing these video presentations of your work.  In keeping with the tradition of peer review that we have at computer science conferences, we will also teach you how to rate and provide meaningful feedback to your peers, and you will each then act as peer reviewers for about three video submissions.  Together, your scores will produce a peer assessment of the best project results, and these will be "accepted" to be viewed at the class "mini conference" held during our last class meeting.  Just like a real conference, the total number of accepted videos will be determined based on the quality and the time available in the program.  We expect this to be a fun way to end the semester, and it will be an honor if your work is chosen by your peers to be accepted to the "mini conference".  Please note that although peer reviews and scores will be used for the mini conference, your peers will not be grading your work in an official way.  The instructors will be responsible for assigning grades.  We will grade you on our own assessment of the quality of your project and on the quality of the feedback you provide to your peers.

One final note on projects, CS&E Department MS Plan C students may use this project to fulfill the requirements for a “half-project” as described in the grad handbook.  If desired, the project may also be used to meet the requirements for an oral presentation, but in this case the project must be completed individually rather than with a partner, so please plan ahead if you wish to do this.


Textbooks and Readings:

You’ll also do some important readings throughout the semester, with many of these coming from the official textbook for the course:

Visualization Analysis & Design, by Tamara Munzner. CRC Press, 2015, ISBN: 13:978-1-4665-0891-0

The text is available in hardcopy form from the university bookstore or online.

Online access to this and other E-Books we will use is available via the UMN library.  Click the E-Textbooks link under "Important Links" on the class Home Page or click the "Library Course Page" in the quick links on the left of the screen to go there.



Final course grades will be calculated based upon the following percentages: 

Part 1 of the course: 

35% -- Five Weekly Assignments to Start the Semester (Weighted Equally)

Part 2 of the course:

10% -- Visual Exercises for In-Class Critique

Final Project Broken Down as Follows:

    15% -- Intermediate Project Milestones

    33% -- Final Result (Video Submission)

    7% -- Quality of the Peer Reviews You Provide to Others


Please think about how this sets/reflects our priorities for the semester.  For example, we see the most important learning opportunity for you as being the final project (55% in total).  We view the quality of the peer reviews you provide to others as quite important.  Spend time on these; they contribute as much to your final grade (7%) as each of the week long assignments during part 1 of the course.  


Grading Scale for Assignments Where We Do Not Provide a Rubric Beforehand: 

Most assignments will be graded on the following simple scale.  For final project videos and peer reviews, we will handout a more detailed grading rubric beforehand to help set appropriate expectations.

✓++ 100/100 Above and beyond, stand out work, a little extra recognition for work in the top 10% of the class
✓+ 95/100 Excellent work, clearly demonstrates expected progress and/or learning goals have been met
85/100 Evidence of some effort and thought, but below expectations for what I know you can do
✓- 75/100 Technically speaking you completed the assignment, but this looks like a minimal / last minute effort
- 65/100 Pick it up. This is a grad-level class with exciting material and a full waitlist; we want to see better effort than this.
0 0/100 Not turned in, same comments as above


Final Letter Grades: 

Final letter grades for the course will be calculated using the following scale:

to 93%
< 93%
to 90%
< 90%
to 87%
< 87%
to 83%
< 83%
to 80%
< 80%
to 77%
< 77%
to 73%
< 73%
to 70%
< 70%
to 67%
< 67%
to 60%
< 60%
to 0%


Canvas Gradebook Note: 

The TA and I will make a faithful effort to make sure that the gradebook feature in Canvas provides an accurate assessment of your progress and current grade as we move through the semester; however, we occasionally make mistakes in entering formulas or grades and are still learning the Canvas system.  If you notice any problem (a grade entered incorrectly, a formula for calculating a grade appears incorrect) please tell us as soon as possible via the course email so we can correct it.  Please note that this syllabus document should always be considered the definitive contract for how we will calculate final grades, and if any mistakes arise in Canvas over the course of the semester, we will simply correct them in order to match what is described here.

This course will follow the University's Uniform Grading and Transcription Policies, which are described on the web at


Late Work Policy: 

If you become sick or have other personal circumstances that you believe warrant an extension on a specific assignment, then please email as at  to discuss the situation.  Aside from any such individual special arrangements, the overarching course late work policy is as follows:

Smaller Assignments to be Discussed Immediately In Class:

  • Project Intermediate Milestones:  No late work accepted.  However, we will drop the one lowest score when calculating final grades.  So, in practice, you may miss one of these deadlines without any penalty to your final course grade.
  • Visual Exercises for In-Class Critique:  No late work accepted.  However, we will drop the one lowest score when calculating final grades.  So, in practice, you may miss one of these deadlines without any penalty to your final course grade.

Larger Assignments:

  • Five Initial Weekly Assignments:  We will accept late submissions for up to 1 week after the posted due date for the assignment.  Late work will be penalized so that the highest grade that can be earned for a late assignment is a B+.  These assignments will be graded using the simple scheme described in the table above, so this means a ✓++ would be equal to a B+.  Unless you have previously made a special arrangement with the instructors, we will not accept submissions after one week and a grade of 0 will be recorded, as we all need to move on to the next portion of the class.
  • Project Final Result and Project Peer Reviewing:  If the peer reviews are late, then you let down your peers who hope to benefit from your feedback, and if the project itself is late, then you miss your opportunity for the work to be accepted to the course "mini conference".  So, we do not want either of these to be submitted late.  However, since these represent such a large portion of your grade, we will adopt a policy similar to the previous bullet.  The rubric for these assignments will be adjusted so that the highest grade that can be earned for a late submission is a B+.  Unless you have previously made a special arrangement with the instructors, we will not accept submissions after one week, and a grade of 0 will be recorded.


Academic Integrity:

Collaboration Policy:

With the exception of final-project-related assignments, which should be completed together with your partner if you have one, all work submitted for this course is required to be your original work. You are expected to do your own thinking, your own design, and your own coding. You are encouraged to discuss the content of the lectures and the texts with your peers. With respect to programming assignments, you are also permitted to discuss (and post to the Discord regarding) programming in general (e.g., a syntax error you are stuck on). However, your discussions with others must stop before discussing a solution to the homework or assignment. If you have any question about whether discussing something with peers might go beyond what is permitted, then stop and ask us first for clarification on the policy.


Scholastic Conduct: Course, Department, and University Policies:

Scholastic dishonesty includes any deceptive means whereby a student attempts to gain an unfair advantage. Examples of scholastic dishonesty include violating the course policies outlined here; plagiarizing; cheating on assignments or examinations; or engaging in unauthorized collaboration on academic work, either with other students or via the internet. In order to be as clear as possible about your scholastic conduct responsibilities and how these relate specifically to the types of courses that we teach in the Department of Computer Science & Engineering, the faculty have prepared a CS&E Department Academic Conduct Policy ( Our course will follow this policy, which stands alongside the broader Board of Regents Student Conduct Code (

Within the course, a student responsible for scholastic dishonesty can be given a penalty, including an "F" or "N" for the course. I am also required to report the incident to the Office for Student Conduct and Academic Integrity (, and further disciplinary action may occur.

You are responsible for knowing and following the policies on scholastic conduct that are described here in the syllabus and in the related documents discussed above (see especially the CS&E Department Academic Conduct Policy).


Additional Useful Information for Students:

Disability Information

University policy is to provide, on a flexible and individualized basis, reasonable accommodations to students who have documented disability conditions (e.g., physical, learning, psychiatric, vision, hearing, or systemic) that may affect their ability to participate in course activities or to meet course requirements. Students with disabilities are encouraged to contact Disability Services and their instructors to discuss individual needs for accommodations. Disability Services, McNamara Alumni Center, Suite 180, 200 Oak Street, East Bank. Staff can be reached at or by calling (612) 626-1333 (voice or TTY).


Mental Health Information

As a student you may experience a range of issues that can cause barriers to learning, such as strained relationships, increased anxiety, alcohol/drug problems, feeling down, difficulty concentrating and/or lack of motivation. These mental health concerns or stressful events may lead to diminished academic performance or reduce your ability to participate in daily activities. University of Minnesota services are available to assist you with addressing these and other concerns you may be experiencing. You can learn more about the broad range of confidential mental health services available on campus via


Equal Access and Opportunity

The University of Minnesota shall provide equal access to and opportunity in its programs, facilities, and employment without regard to race, color, creed, religion, national origin, gender, age, marital status, disability, public assistance status, veteran status, sexual orientation, gender identity, or gender expression.


Sexual Harassment

University policy prohibits sexual harassment as defined in the University Policy Statement adopted on December 11, 1998. Complaints about sexual harassment should be reported to the University Office of Equal Opportunity, 419 Morrill Hall, East Bank.


Course Summary:

Date Details Due