CPSC 271 | Information Visualization | Spring 2023 |
On this page:
Course Description and Objectives |
Information visualization is an area of computer science concerned with helping users understand data through visual representations. Visualization is a powerful technique: it is possible to pack large quantities of information into a manageable size, and people are generally quite good at detecting patterns, relationships, and anomalies visually. Data is all around us, and it is being produced in ever-larger quantities - scientific data sets, medical data sets, customer buying habits, websurfing habits, credit histories, census data, ...the list goes on. In order for all this data to be useful, it needs to be examined - for patterns, relationships, anomalies, or anything else that might be interesting. Creating useful visualizations requires knowledge of fundamental graphical principles; creating useful visualizations of large, complex, and dynamic data also requires the ability to develop algorithms and software to create the visualizations and to help the user navigate through all of the complexity to find the interesting parts. It is also important to deliberately design visualizations in order to see what there is to be seen and to effectively communicate those insights, and to be aware of the ways in which visualizations can intentionally and unintentionally lie. This course has several aims:
Course content falls into four main areas:
By the end of the course, the successful student should be able to:
|
||||
---|---|---|---|---|---|
Prerequisites |
CPSC 124 is required. |
||||
Assignments and Evaluation |
Readings: Readings introduce and supplement material addressed in class. Core readings are to be completed for the class period where they are listed on the schedule page; those labelled "supplemental" or "optional" can be read after class. (Supplemental readings are still expected; optional readings are encouraged for greater depth but are not required.) Homework and Implementation Exercises: Most of the homework exercises will involve implementation using D3, but some will be written e.g. critiquing or designing visualizations for a particular task. Quizzes: Several quizzes, mostly in the first half of the semester, will check for understanding of core principles and concepts and basic application of those principles and concepts. They will be announced in advance (no pop quizzes). Journal and Visualization Blog: To encourage thoughtful engagement with the course material, there will be two ongoing journal/blogs over the course of the semester. The journal is an individual journal for responses to readings and class material; specific questions to address will be posed periodically. The focus is thoughtful engagement with issues. The visualization blog is a whole-class participation effort and a forum for discussing the effectiveness of particular visualizations. More information will be provided early in the semester. Project: The second half of the semester will involve a project where you design and implement visualizations to present a complex dataset of your choice. You will also give a brief presentation of your project during the scheduled final exam time period. Portfolio: The final product in the course will be a portfolio consisting of three elements:
Grades: Final grades in this course will be computed as follows:
If you are concerned about your grade, you are strongly encouraged to come to office hours to get help with any material you may be struggling with and to take advantage of the revise and resubmit option for homework problems. Staying on top of things and seeking help as soon as possible when you need it is the best route to success. Extra Credit: There will not generally be extra credit problems or tasks formally assigned, but there is the potential for extra credit for going above and beyond on the project and in contributions to the class visualization blog and your own journal. |
||||
Time Expectations |
You are expected to attend all scheduled class meetings (3 hours per week) and should expect to spend approximately 8 hours per week on average (*) on additional work (reading, homework, journal and visualization blog entries/posts, the project, studying, etc) outside of class. In addition, you are expected to attend 5 hours of lab sessions over the course of the semester. If you need additional help or can't make it to the designated lab sessions, this expectation can also be satisfied by coming to office hours. (5 hours = e.g. one lab session every three weeks or a 20-minute office hours visit every week) (*) The assigned work is intended to take about this much time, though your experience may vary. However, if you routinely spend much less time, you may not be successfully mastering the material, and if you routinely spend substantially more time, especially if you feel like you are spinning your wheels and not making progress, you should come to office hours for help. |
||||
Required Materials |
TextbookThere is no required textbook to purchase for the course. Material will be handed out or posted on the course webpage. The following supplemental books are on 3-hour reserve at the library:
These are classic books on the effective presentation and communication of data, though focused on print and static displays rather than the interactive graphics possible on computer screens. Readings may be assigned from these books, but they are also well worth perusing on their own. LaptopYou are strongly encouraged to bring a laptop (Mac, Windows, or Linux) configured with the necessary software (see below) to class on certain days. (These will be announced in advance.) Please let me know as soon as possible if you do not have a laptop that you can bring so that alternatives can be considered. SoftwareThis course will involve implementing visualizations in a web-based environment, using the JavaScript library D3.js. The main tools you will need are a modern web browser, a text editor, D3.js and some related libraries, and (if you are working on your own computer instead of the Linux machines) a file transfer program. All of these tools are available on the lab computers in Rosenberg 009 (reboot them to Linux) and Lansing 310, and are freely available for Mac, Windows, and Linux if you want to set up your own computer. More information will be provided about specific versions and how to install what you need. |