CPSC 436V: Topics in Computer Science - Information Visualization, Jan 2021

Archived material from past term.

Instructor: Tamara Munzner (she)
First Class: Tue Jan 12 2021
Sync Livestream Classes: Thu 2-3:30 synchronous livestreamed classes (see Canvas for Zoom URL & password)
Async Video Lectures: No Tue sync class (except Tue Jan 11) watch pre-recorded video lectures asychronously early in week.
Instructor Office Hours via Zoom: Tue 2-3:30, or by appointment (send me email at tmm@cs.ubc.ca to arrange).
TA Office hours: Friday 9-10, 11-12, 4-5, and/or other times TBA
TAs: Francis Nguyen, Steve Kasica
Portals: Piazza | Canvas | UBC Calendar


Page Index: Hall of Fame | Schedule Summary | Detailed Syllabus | Assignments | D3 Tutorials | D3 Case Studies | D3 Examples | Quizzes | Delivery Mechanisms | Description & Prereqs | Structure | Learning Outcomes | Resources | Grading Scheme | Policies | Previous Versions
Jump To Today

Hall of Fame

2021 436V Hall of Fame page has pictures, abstracts, reports, and demos. Congratulations to the winners for the best final projects of 2021!

Schedule Summary

Detailed Syllabus

Assignments

Tutorials

D3 Case Studies

The case studies feature similar problems to what you're asked to do in programming assignment P1 (Drought and Vaccines studies). They are designed to help you think through how to handle these problems. They provide detailed walkthroughs of code, with more complex examples than the tutorials.

Although they are not mandatory, we very strongly recommend that you use these case studies as resources in addition to the tutorials, when working on P1 and P2.

D3 Examples

Full set of D3 examples on Github

These examples are featured in the tutorials above. For reference, the full listing of individual examples is

Every example in the public Github repo can be opened in the codesandbox interactive web IDE by replacing github.com with githubbox.com in the URL, for example:

Quizzes

Quizzes are due on Fridays at 5pm. They will be posted on
Canvas just under one week before they are due, by 6pm the previous Friday. The lowest quiz score will be dropped.

Delivery Mechanisms

Description & Prerequisites

Design and implement static and interactive visualizations. Select appropriate visualization methods for a given combination of data type and intended analysis task. Assess visual representations according to design and perceptual principles.

The prerequisite for this course is CPSC 310, which provides an introduction to the JavaScript programming language used in this course (and also experience on software projects). The inherited prerequisites are thus CPSC 210 and one of CPSC 107, CPSC 110, CPSC 260.

Structure

This course will provide an undergraduate-level introduction to visualization, with D3.js tooling that provides practice with modern web-based development environments. It will train CS majors in visualization for data exploration and presentation. These foundational skills are a crucial cornerstone of data science and are increasingly required in many other areas ranging from business to data journalism.

The course will be a hybrid partially-flipped approach. The D3 tooling will be taught in the first seven weeks through a combination of written tutorials you work through at your own pace (checked by online quizzes), case studies that will walk you through more advanced visualizations, and post-class work (checked by programming exercises). The fundamentals will be taught throughout the term with a combination of pre-class lecture videos, in-class active learning, and post-class work (checked by foundations exercises).

The final project, in the final six weeks, will require integration and synthesis of the material initially covered in both the programming exercises and the foundational exercises. Students will work in self-chosen teams of three. The completed project will result in portfolio materials that showcase both technical achievements through interactive visualizations that can be demonstrated in any modern web browser, and the ability to communicate clearly in writing through the written process log.

There will be TA office hours via Zoom where you can book a time slot for further in-person individual help, particularly with D3.

The midterm will focus on assessing the foundations material in a solo setting, rather than the assessment of programming skills which will occur through the final project. The midterm will be in week 12, after the weekly programming exercises conclude and as the project work ramps up. There is no final exam.

Learning Outcomes

By the end of this course, students will be able to:

Resources

For further reading about theoretical foundations beyond what's covered in lecture, see the textbook Visualization Analysis and Design. The UBC library has multiple ebook licenses so you can read it for free: library catalog page, EZProxy direct link.

Technical hints for programming assignments

Grading Scheme

Students will be graded on a numerical basis. The grading scheme is:

The students must pass both the midterm exam and the final project to pass the course; students who fail either will receive a mark of at most 45. The workload is designed to be 12 hours per week in total, 1.5 in class (sync lecture) and 10.5 outside of class (asynchronous). Exam marks may be scaled. The instructor reserves the right to modify the grading scheme.

Policies

Wait List Policy: I'm not in charge of the class waitlist; please don't contact me asking about your chances of getting into the class. Instead, please direct any questions you may have to the CS Department Academic Advisors. If you are on the waitlist and want to take the course, you should participate from the beginning. Students who attend class will be given waitlist priority (I'll share attendance information with the main office). Students who register for the course late still have to complete all assignments on the same schedule as all other students. Waitlisted students are eligible to submit assignments before being formally registered.

Attendance: Attendance in all synchronous lectures is expected. You are responsible for all material presented there. Some material for the synchronous class sessions will be made available online. However, there is no guarantee that everything covered will be in the posted material, and in particular any lecture slides may not fully capture what occurs in the in-class exercises. Your participation mark is based on both in-class activity and substantive participation in Piazza discussion.

Grace Days and Late Policy It is important that assigned work be completed on time, because subsequent assignments depend on your comprehension of earlier work. To allow for unforeseeable circumstances, you will be allowed two days of grace during the quarter, which can be used on any programming or foundations assignment or project with no explanation required (or desired). Use these as you wish to help manage your time, but use them wisely. It is strongly recommended that you do not use all your grace days early in the term. You can use both on one assignment, or spread the days across multiple assignments. One grace day is used for every 24-hour period after the deadline, whether it is a weekday, a weekend, or a holiday. Think of this policy as permission, given in advance, to submit work late because of illness, travel, starting the course late, conflicts with other courses, and so on. No further allowance will be made for failure to submit work on time, except in truly exceptional circumstances such as a prolonged and serious illness. Late demos will be subject to the availability of the grader. No late work will be accepted after solutions have been handed out.

Illness If you have missed assignment deadlines due to prolonged and serious illness, beyond your two alloted grace days, when you have recovered you should submit the following self-declaration form, through a private message on Piazza (whether or not you discussed it with any instructional staff in person or by email): Student Absence Due to Illness or Injury Form

It's your responsibility to inform me in a timely manner, at latest within three days of recovering and returning. I will decide on a course of action after I hear from you. I may allow you to turn in work late without penalty, I may excuse you from completing the missed work and grade you only on your completed work, or I may determine that the work cannot be made up. If you have not missed any deadlines, you do not need to submit the form. Use of the self-declaration form during the final exam period is not accepted: you should communicate directly and immediately with me through a Piazza private message if you are sick and unable to write the final examinations.

Not relevant during online classes: Students are encouraged to stay at home if they have a communicable illness (such as flu-like symptoms) to prevent further spread of illness to other students, staff, or faculty. (UBC no longer requires a doctor's note, it is your responsibility to report your own absence due to illness and injury.)

Academic Honesty You are required to read about my expectations for academic honesty and state that you fully understand them before any work in the course will be marked. Ask Tamara or the TAs right away if you have any questions, on Piazza as either a private or a public message, about these three writeups:

Regrading: If you would like to request an assignment or exam regrade from the instructor, you must submit a detailed written explanation of why you think the grader was incorrect for the particular problem that you are disputing, after consulting the solutions (if applicable). The instructor may regrade the entire assignment or exam, not just the particular problem in question, so your total grade may end up higher or lower. Submit the request through a private message on Piazza (to all instructional staff).

Equity, Inclusion and Wellness: Please see the CS Department's resources on equity, inclusion, and wellness. UBC provides resources to support student learning and to maintain healthy lifestyles but recognizes that sometimes crises arise and so there are additional resources to access including those for survivors of sexual violence. UBC values respect for the person and ideas of all members of the academic community. Harassment and discrimination are not tolerated nor is suppression of academic freedom. UBC provides appropriate accommodation for students with disabilities and for religious and cultural observances. UBC values academic honesty and students are expected to acknowledge the ideas generated by others and to uphold the highest academic standards in all of their actions. Details of the policies and how to access support are available at https://senate.ubc.ca/policies-resources-support-student-success.

Previous Versions


Permanent URL for the page is https://www.students.cs.ubc.ca/~cs-436v/21Jan.
Tamara Munzner
Last modified: Thu Apr 8 17:14:31 PDT 2021