Syllabus
Course Objectives
Students will learn to
- Apply a structured design process to create effective and ethical visualizations
- Conceptualize ideas and interaction techniques using sketching and prototyping
- Apply principles of color, typography, and layout as well as principles of human perception and cognition in visual design; avoid misrepresentation
- Process and analyze a variety of data types: quantitative, text, geospatial, qualitative
- Create web-based interactive visualizations using D3 and Observable
- Critically evaluate visualizations and suggest improvements and refinements
- Work constructively as a member of a team to carry out a complex project
Assignments
- Clocks (0%): Apply for this class by completing A0.
- Sparks Presentation (5%): prepare a 7min. slideshow presentation on a data visualization practitioner or team that is inspiring to you.
- Visualization Design (10%): design 10 divergent representations for the US Census data set and provide a rigorous rationale for your design choices. Present for design critique in class.
- Exploratory Data Analysis (10%): identify a dataset of interest and perform an exploratory analysis to understand the shape & structure of the data, investigate initial questions, and develop preliminary insights & hypotheses. Present a report on your findings.
- Interactive Visualization (20%): build a visualization that enables interactive exploration along at least three dimensions using a dataset of your own choosing and publish it on the web.
- Midterm Exam (10%): individual closed book exam, for 90 min. during class session. Comprises multiple-choice and written essay questions.
- Final Project (30%): build a web-based interactive visualization that allows you to answer questions about a topic of your own choosing. You will acquire the data, design your visualization, implement it using D3, and evaluate the results.
- Reading Quizzes (7.5%): expect a quiz at beginning of class most weeks; 2~4 multiple-choice questions, each covering one of the central concepts in a required reading.
- Class Participation (7.5%): actively engages in class and online (Slack) in critique, analysis, and assisting peers.
Expectations
- Pre-requisites: You should already know web development. We won’t be covering any HTML, CSS, or JS concepts. You should know what DOM manipulation means. Also, I’m going to assume you know what is a callback, what is method chaining is, and what is a function generator. If you don’t, it isn’t impossible, but this class will be difficult.
- Group Work: All assignments will be in groups of 3~4 unless otherwise noted. In general, I do not anticipate that the grades for individual group members will be different. However, we reserve the right to assign different grades to each group member based on peer assessments. Your assignments should all be submitted online at 11:59pm on the due date (usually the Monday before class.)
- Quizzes: Expect a 5min. pop quiz at beginning of each class on reading from the previous week. It’s not meant to trip anyone over; it’s merely to help make sure you did the reading, which helps all of us cover more ground in class. If you expect to miss class, meet IAs at office hours the week before, or work on extra credit.
- Readings: You will be assigned to read diverse writing styles spanning academic publications, textbooks, as well as design essays. This is by intention. If it is your first time reading a particular style of writing, you will find it difficult and obtuse (hint: allocate your time accordingly); however, my goal is that by the end of this class you will be comfortable reading and summarizing key points across disciplines.
- Copying: You are encouraged to copy code, as long as you have the original author’s permission and you note your source. Similarly, note any sources of inspiration. Your assignments will be graded primarily on original concept and design, rather than novel implementation. That said, your code should always yield a great user experience—it should work correctly without specific instructions for your users (eg. graders), and should be performant on major platforms (Chrome, Edge, Firefox and Safari.) Meanwhile, everything in CS Department Honesty Policy still holds.
- Lateness: -25% missing writeup/submission; -20% incomplete submission/late submission (including missing submission resubmitted); -15% incomplete submission resubmitted. No exceptions unless you have a medical note.
- Extra Credit: There will be extra credit opportunities during the semester as a way for students to demonstrate their mastery of course material in ways beyond the assignments and exams. Extra credit is added after the final curve if there is one (so it does not affect other students’ final grades, and strictly benefits the student doing the extra work.)
Caveat Emptor
- This class will emphasize the practice of design: significant class time will be spent on design activities, presentations, discussion, giving and receiving feedback to your peers.
- Design evaluation is subjective. Assignments and test questions that have one correct answer will be very rare. I and your TAs will grade; our goal in grading is to reward quality and real effort, and punish laziness and insincerity.
- I will provide grading guidelines for assignments beforehand, but we will not publish exact scoring criteria and I do not expect rubrics to cover the entire space of possible submissions. I intend to keep the definition of “A+: Exceed expectations” meaningful. I also reserve the right to curve final course grades. My expectation for the class is a normal distribution centered on B.
- I encourage you to focus on feedback: solicit reactions from your classmates, ask me and your IAs, solicit from friends and your other instructors. If any feedback is unclear, ask. Your grades won’t make much difference in your career after this class, but my reaction and the reactions of your classmates to what you made, will. Your manner, attitude, and participation in these activities, online or in class, counts towards your grade, so be proactive.
- This is newish class. Last semester was the alpha version and this semester is the beta version. Our main coding platform Observable itself is in beta. Feedback for last semester was generally good and we’re making improvements but nonetheless expect some kinks, expect hotfixes, and expect that you’ll be asked for your feedback repeatedly, but know also that your input will be shaping this class for future iterations.
Auditors
Auditors are welcome in class, and encouraged to form their own homework groups; the teaching team simply won’t be able to provide grading or feedback due to time constraints.
Optional Textbooks