Syllabus
Overview
This course is a hands-on introduction to design principles, theory, and software techniques for visualizing data. Classes will be a combination of lecture, design studio, and lab. Through readings, design critique, and code assignments, students will learn how visual representations can help in the understanding of complex data, and how to design and evaluate visualizations for the purpose of analysis or communication. Students will develop skills in processing data and building interactive visualizations using D3. Topics include visual perception, exploratory data analysis, task analysis, graphic design, visual hierarchy, narrative, etc.
Students should have experience in JavaScript programming and web development, as well as familiarity with databases and data formats. You should be comfortable picking up new programming tools on your own. Experience with Python or R for data processing is helpful but not required.
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, qualitative, text, geospatial
- 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 a warm-up assignment designing an abstract clock.
- Sparks Presentation (5%): Prepare a 15 min. slideshow presentation on a data visualization practitioner or team that is inspiring to you.
- Visualization Design (8%): 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 (8%): 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.
- Labs (3%): Fork the assigned Observable notebook and complete individually, graded pass/fail.
- Reading Quizzes (8%): 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 (8%): Actively engages in class and online (Slack) in critique, analysis, and assisting peers.
Expectations
- Prerequisites: You should already know web development. We won’t be covering any HTML, CSS, or JS concepts. You should know what DOM manipulation means. I’m also going to assume you know what callbacks, method chaining, and function generators are. 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 are all due online at 11:59pm Eastern Time the Monday before class unless otherwise specified.
- Quizzes: There is a 5 min. quiz at beginning of each class on reading from the previous week. It’s not meant to trip anyone up; 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. Cheating on quizzes is an automatic zero.
- 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 (e.g., graders), and should perform well on major platforms (Chrome, Edge, Firefox, and Safari.) Meanwhile, everything in CS Department Honesty Policy still holds.
- Lateness: Assignments: −25% missing writeup/submission, −20% incomplete submission/late submission (including missing submission resubmitted), −15% incomplete submission resubmitted, 0% after 7 days late. Each student is allowed 1 late pass for a 48-hour extension per assignment per due date (i.e. you may only use it on one assignment section if multiple assignments are due on the same day.) No exceptions unless you have a medical note. Quizzes can be made up for full credit if we receive prior notice with good reason or subsequent medical note. Email instructor to submit a medical note/reason, email IAs to request use of your late pass. All other absences cannot be made up.
- 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, and 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. Grades will be assigned in a manner that rewards quality and real effort and penalizes 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, share your work and ideas with 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 class is always being updated and improved. We’re constantly adapting our tools/platforms and making improvements, so expect that you’ll be asked for your feedback repeatedly. 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