Class Description
Data visualizations provide a visual setting in which to explore, understand, and explain data sets. This class describes mathematical and perceptual principles, methods, and applications of "data visualization" (as it is popularly understood to refer to primarily to tabulated data). A range of data types and visual encodings will be presented and evaluated. Visualizations will be primarily web-based, using D3.js, and possibly other higher-level languages and libraries.Prerequisites: One of CMSC 12200, CMSC 15200 or CMSC 16200.
People
Instructor | Gordon Kindlmann Office hours (Ryerson 161-B): Mon 10am-11am, Thur 2:30pm-3:30pm |
TA | Andrew McNutt Office hours (CSIL 1): Wed 1:00-2:30pm |
TA | Kai Li Office hours (Ryerson 162): Wed 4:30-6:00pm |
Grading and Assignments
The following items determine the class grade, according to their percentages:- 5% each: 8 homeworks, due on Tuesdays. These are completed individually. Homeworks involve questions about readings, a little math, and self-contained programming exercises.
- 20% each: 2 projects. These must be done in groups of 3 (preferably) or 2.
- 10%: In-lab practical exam (completed individually, Mon May 21). Tests ability to write and run basic programs similar to those from previous homeworks and labs.
- 10%: In-class written final exam (Tue May 29). You may bring a single (double-sided) letter-size page of hand-written notes.
- When averaging these to find your final numerical grade, the lowest-graded 5% of your work will be dropped (i.e. one HW, or half an exam, etc).
- Labs will be held on most Mondays. Lab work is not graded, but completing it is important for understanding the web development aspect of this class. Also, to take this class you must be registered for a lab section, and must commit to being available for the entirety of the lab section for which you are registered. The final lab slot (week 9) is for the in-lab practical exam.
Late Policy
Late work is not graded. However, throughout the quarter, you may get up to four 24-hour extensions (“late-chips”) on any of the assignments except Homework 1 and Project 2. Only one extension may be used per assignment (they may not be "stacked"). You request late-chips at work-groups.cs.uchicago.edu, but must do so before the original (non-extended) assignment deadline (even if work-groups.cs.uchicago.edu allows you to do do after the deadline). A late-chip for project 1 is applied to all group members. Exceptional circumstances may warrant additional consideration, at the instructor's discretion (post a private question in the per-assignment folder on Piazza). It is hard to be generous with a student panicking near the deadline about a situation that could have been anticipated earlier.Communication and Resources
- Lectures: You'll get a better grade if you come to class. PDFs of slides will be available, but this won't always include material on the board, and it will miss all in-class discussion and demonstrations. Solutions to homeworks, and sometimes code from reference implementations, are handed out as hard-copy in class, but not electronically.
- There is no single required textbook. There will be readings from papers in the visualization literature. Some material may only be presented in lecture.
- The class web page at http://people.cs.uchicago.edu/~glk/class/datavis/ will have information about homeworks, projects, and readings.
- Announcements to the class will generally be sent via the class Piazza page at piazza.com/uchicago/spring2018/cmsc23900. Questions about assignments should also be posted on Piazza. Everyone enrolled on Marcy 27 was enrolled (by the instructor) on Piazza. If you add the class after that, you may have to enroll yourself at to the Piazza page.
- You should ask questions on Piazza, so that everyone can benefit from seeing the answer. To ask questions directly to the professor or TAs, post a private question on Piazza, rather than emailing us.
- Email to students will be addressed to their CNetID@uchicago.edu address.
- The SVN for DataVis page describes how svn will be used for getting files related to the projects (such as datasets), and for handing in homework and projects. Nothing will be done on paper (except the final exam).
- The latest release of Google Chrome will be the reference platform for viewing your code. We will also be using npm for managing javascript build chains.
Academic Honesty
In this course, as in all your courses, you must adhere to the college-wide Academic Integrity & Student Conduct guidelines as set forth at http://college.uchicago.edu/policies-regulations/academic-integrity-student-conduct. The college’s rules have the final say in all cases. To paraphrase them:
- Never copy work from any other source and submit it as your own.
- Never allow your work to be copied.
- Never submit work identical to another student's.
- Document all collaboration.
- Cite your sources.
Please note that sharing your work publicly (such as posting it to the web) definitely breaks the second rule. With respect to the third rule, you may discuss the general strategy of how to solve a particular problem with another student (in which case, you must document it per the fourth rule), but you may not share your work directly, and when it comes time to sit down and start typing, you must do the work by yourself (or with your partner for that project). If you ever have any questions or concerns about honesty issues, raise them with your instructor, early.
(Thanks to Adam Shaw for this statement of academic honesty.)