Data Visualization Syllabus
|
|
COVID-19 Statement
In keeping with University and iSchool policy, all students are required to engage in appropriate behavior to protect the health and safety of our community. If you are on campus, this includes wearing a facial covering properly, maintaining social distance (at least 6 feet from others at all times), disinfecting the immediate seating area, and using hand sanitizer.
If you feel ill or are unable to come to class or complete class assignments due to issues related to COVID-19, including but not limited to: testing positive yourself, feeling ill, caring for a family member with COVID-19, or having unexpected child-care obligations, should contact their instructor immediately and cc their advisor.
Additionally, please be aware that there are mental health resources available to students:
- https://www.counselingcenter.illinois.edu/
- https://mckinley.illinois.edu/medical-services/mental-health
- https://www.disability.illinois.edu/health/mental-health-resources
Finally, due to the current messiness of the COVID learning environment, we are allowing up to three late homeworks. If you need to “use” one of your late homeworks email the instructor and/or the TA. You do not need to provide any explanation for why you’d like to use one of your late homeworks. You will then have until the end of the week – the Sunday after the homework was due, midnight – to turn in this assignment.
Course Description
Data visualization is crucial to conveying information drawn from models, observations or investigations. This course will provide an overview of historical and modern techniques for visualizing data, drawing on quantitative, statistical, and network-focused datasets. Topics will include construction of communicative visualizations, the modern software ecosystem of visualization, and techniques for aggregation and interpretation of data through visualization. Particular attention will be paid to the Python ecosystem and multi-dimensional quantitative datasets.
Land Acknowledgment
As a land-grant institution, the University of Illinois at Urbana-Champaign has a responsibility to acknowledge the historical context in which it exists. In order to remind ourselves and our community, we will begin this event with the following statement. We are currently on the lands of the Peoria, Kaskaskia, Peankashaw, Wea, Miami, Mascoutin, Odawa, Sauk, Mesquaki, Kickapoo, Potawatomi, Ojibwe, and Chickasaw Nations. It is necessary for us to acknowledge these Native Nations and for us to work with them as we move forward as an institution. Over the next 150 years, we will be a vibrant community inclusive of all our differences, with Native peoples at the core of our efforts.
More information can be found on the Chancellor’s Website.
Course Overview
This course is designed to give practical advice to students on communicating data through visualization. This will involve a considerable amount of programming, and typically this programming will be done in Python. For the most part, our data will be quantitative and multi-dimensional. The course will aim to provide both an understanding of what data visualizations communicate and a set of tools for constructing them yourself.
The course will follow a common pattern within each three-hour instructional session. The first 60-90 minutes will be focused on lecture, where concepts and tools will be introduced; typically, each class will focus on one type of visualization or class of visualization. The remaining time will include exploration of a dataset, which may be independent or in groups, and then a wrap-up session at the end.
Students are expected to have laptops with them, as well as access to Python installations, and will be encouraged to participate in class. Homework will be assigned and collected utilizing the Jupyter nbgrader extension or through other methods specified at time of submission.
The central themes of the course are:
- What are the components of an effective visualization of quantitative data?
- What tools and ecosystems are available for visualizing data?
- What systems can be put in place to generate visualizations rapidly and with high-fidelity representation?
Pre- and Co-requisites
None, although basic Python programming experience is assumed. A brief introduction to Python will be presented during the course.
Course Materials
There is no textbook for this course. All course materials will be posted to the GitHub repository at https://github.com/UIUC-iSchool-DataViz/fall2019 . Optional textbook Visualization Analysis and Design by Tamara Munzner. You can find a lot of the concepts from this textbook on the books webpage and the associated lecture slides.
As the course progresses, a list of recommended readings will be generated for each class. These will be included in the course materials repository, and students are encouraged to fork that repository and issue pull requests to add suggested readings.
Writing Resources
The iSchool Writing Resources is the in-house writing support team for graduate students at the iSchool. They are here to help you with your writing and help you feel more comfortable and confident in your skills. The writing consultants are not professors or evaluators. They simply know the struggles of graduate and undergraduate-level writing and want to help you learn how to succeed and improve your writing skills. The iSchool writing consultants can help you with every step of the writing process. For detailed information on our services please visit our website: https://publish.illinois.edu/ischoolwritingresources/
Topic Calendar & Optional Reading
Below is an approximate outline of the course and optional reading for each week. This course is always under development and the course outline below is subject to some flexibility; students will be encouraged to provide feedback on the topics covered, particularly toward the end. Topics that are of particular interest will be emphasized.
Optional texts:
- Visualization Analysis & Design, Tamara Munzner. You can find a lot of the concepts from this textbook on the books webpage and the associated lecture slides.
- Edward Tufte wrote a series of visualization books that are often thought of as foundational to the field. These include The Visual Display of Quantitative Information, Beautiful Evidence, Envisioning Information, and Visual Explanations: Images and Quantities, Evidence and Narrative
- There is a free online book, Fundamentals of Data Visualization by Claus O. Wilke that provies a lot of nice examples and serves as an intro to Tamara Munzner’s book. It has an annotated bibliography at the end that gives a few references for books in data viz that include programming. It is built from the linked GitHub repo. Note that this book is focused on static (not interactive) visualizations.
- Additional references will be added as needed.
Acronyms for books:
- VAD: Visualization Analysis & Design
- FDV: Fundamentals of Data Visualization
Course Outline and Optional Reading List
Week | Topic | Reading |
---|---|---|
Week 1 | Introduction, syllabus, examples, and some basics | 1. VAD, Ch. 1: What’s Viz, and Why Do It? 2. FDV, Ch. 1: Introduction & FDV, Ch. 17: The principle of proportional ink 3. Same Data, Multiple Perspectives 4. Intro to Jupyter Notebook Video |
Week 2 | Data storage & Operations; Image data | 1. VAD, Ch. 2: What: Data Abstraction 2. FDV, Ch. 2: Visualizing data: Mapping data onto aesthetics 3. VAD, Ch. 13: Reduce Items and Attributes 4. FDV, Ch. 27: Understanding the most commonly used image file formats 5. IS452’s intro to CSV files (bottom of page) 6. IS452’s Intro to Dictionaries 7. Pandas Docs & NumPy Docs |
Week 3 | Holiday! | |
Week 4 | Types of Viz and color, colormaps | 1. VAD, Ch. 10: Map Color and Other Channels 2. FDV, Ch. 4: Color scales 3. VAD, Ch. 5: Marks and Channels 4. Perception in Visualization (pay extra attention to the parts about color) 5. Palettable Docs |
Week 5 | Beginning Interactivity | 1. Intro to ipywidgets 2. Example Widgets Notebooks 3. VAD Ch. 7: Arrange Tables 4. FDV, Ch. 7: Visualizing distributions: Histograms and density plots |
Week 6 | Distributions, Engines | 1. Video about bqplot 2. An introduction to Grammar of Graphics 3. ipywidgets Docs; Traitlets Docs; bqplot Docs |
Week 7 | Dashboards & Maps with bqplot | 1. VAD Ch. 8.1-8.3: Arrange Spatial Data 2. VAD Ch. 11.1-11.5: Manipulate View 3. FDV, Ch. 15: Visualizing geospatial data |
Week 8 | More with maps - bqplot, cartopy, ipyleaflet, geopandas | 1. VAD Ch. 8.1-8.3: Arrange Spatial Data 2. FDV, Ch. 15: Visualizing geospatial data 3. VAD, Ch. 13.4.2: Reduce Items and Attributes 4. Cartopy docs; ipyleaflet docs; Geopandas Docs |
Week 9 | Designing for the web with Python & Javascript with Iodide | 1. Iodide Docs - in particular: key concepts & IOMD format 2. Intro to Javascript 3. FDV, Ch. 5: Directory of visualizations |
Week 10 | Designing for the web with Python & Javascript, Web dev with Iodide; Considering your audience | 1. Same Data, Multiple Perspectives 2. FDV, Ch. 29: Telling a story and making a point 3. Iodide Docs 4. vega-lite docs - in particular: Vega-lite transformations & Vega-lite selections 5. Idyll Docs |
Week 11 | More javascript & web dev with Idyll | 1. Idyll Docs - in particular: Built in/npm installed components |
Week 12 | More with Idyll, Publishing Viz | 1. Idyll Docs |
Week 13 | Idyll + d3.js | 1. d3.js docs |
Week 14 | Holiday! | |
Week 15 | Scientific visualization Guest lecture about scientific & cinematic viz from AVL |
1. VAD Ch. 8.4-8.6: Arrange Spatial Data 2. VAD Ch. 11.6: Manipulate View 3. yt docs 4. yt Volume Rendering Tutorial |
Week 16 | Network Viz & Word cloud Viz; Class summary | 1. VAD Ch. 9: Arrange Networks and Trees 2. VAD, Ch. 13.4.3.1: Reduce Items and Attributes 3. VAD, Ch. 6: Rules of Thumb 4. FDV, Ch. 28: Choosing the right visualization software 5. FDV, Ch. 26: Don’t go 3D 6. FDV, Ch. 25: Avoid line drawings |
About Your Instructor
Matthew Turk is an Assistant Professor at the School of Information Sciences. His training was in Astronomy, where he conducted simulations of the formation of the first stars in the Universe. This led him to work on developing an analysis and visualization package for volumetric data, yt, which has been used for quantitative and qualitative visualization of data from several disciplines.
Library Resources
http://www.library.illinois.edu/lis/ |
lislib@library.illinois.edu |
Phone: (217) 300-8439 |
Writing and Bibliographic Style Resources
The campus-wide Writers Workshop provides free consultations. For more information see http://www.cws.illinois.edu/workshop/ The iSchool has a Writing Resources Moodle site https://courses.ischool.illinois.edu/course/view.php?id=1705 and iSchool writing coaches also offer free consultations.
Academic Integrity
Please review and reflect on the academic integrity policy of the University of Illinois, http://studentcode.illinois.edu/article1_part4_1-401.html, to which we subscribe. By turning in materials for review, you certify that all work presented is your own and has been done by you independently, or as a member of a designated group for group assignments.
If, in the course of your writing, you use the words or ideas of another writer, proper acknowledgement must be given (using APA, Chicago, or MLA style). Not to do so is to commit plagiarism, a form of academic dishonesty. If you are not absolutely clear on what constitutes plagiarism and how to cite sources appropriately, now is the time to learn. Please ask me!
Please be aware that the consequences for plagiarism or other forms of academic dishonesty will be severe. Students who violate university standards of academic integrity are subject to disciplinary action, including a reduced grade, failure in the course, and suspension or dismissal from the University.
Criteria for grading homework assignments include (but are not limited to) creativity and the amount of original work demonstrated in the assignment. However, students are permitted to use and adapt the work of others, provided that the following guidelines are followed:
- Use of other people’s material must not infringe the copyright of the original author, nor violate the terms of any licensing agreement. Know and respect the principles of fair use with respect to copyrighted material.
- Students must scrupulously attribute the original source and author of whatever material has been adapted for the assignment. Summarize the changes or adaptations that have been made. Make plain how much of the assignment represents original work.
Statement of Inclusion
As the state’s premier public university, the University of Illinois at Urbana-Champaign’s core mission is to serve the interests of the diverse people of the state of Illinois and beyond. The institution thus values inclusion and a pluralistic learning and research environment, one which we respect the varied perspectives and lived experiences of a diverse community and global workforce. We support diversity of worldviews, histories, and cultural knowledge across a range of social groups including race, ethnicity, gender identity, sexual orientation, abilities, economic class, religion, and their intersections.
Accessibility Statement
To obtain accessibility-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES you may visit 1207 S. Oak St., Champaign, call 333-4603 (V/TTY), or e-mail a message to disability@uiuc.edu.
This syllabus may be obtained in alternative formats upon request. Please contact the instructor.
Assignments and Evaluation
Students will be graded based on a combination of assignments (70%: 40% standard prose/code assignments and 30% weekly visualization reports) and a final project (30%). The final project will be a capstone to the course, and will have greater flexibility in software packages and data sources. This project will be introduced in Week 8.
In summary, your grades consist of:
40% | Standard assignments in prose or code form |
30% | Weekly visualization reports |
30% | Final project |
Assignments in this course will be a mixture of coding/visualization work and written work. These two may not be distinct assignments; students will be asked to describe their code and justify choices for making decisions with respect to visualizations.
Students are expected, unless otherwise instructed, to be the principal authors of their code. This does not mean they may not investigate resources such as StackOverflow, package documentation, etc; however, they must cite when resources (especially StackOverflow and other “recipe” sites) are utilized.
Assignments will take two forms, and will be given at the end of each class. Students will have until the following class to turn these in; assignments will be collected electronically.
- The first type of assignment will be a written document, constituting either a brief literature review or an analysis of a visualization or set of visualizations. The parameters for these assignments will be given during class, but will typically involve a critique of a visualization, including citing relevant works in the visualization literature.
- The second type of assignment will be a hands-on, code-based assignment. Students will be provided either a dataset or a class of datasets from which they can choose, and construct one or multiple mechanisms of drawing information out of this visually. These will be submitted in the form of Jupyter notebooks. Each visualization must be accompanied by narrative description from the student describing why design decisions were made.
The submission process for homeworks will be described by example during class before any homeworks are to be submitted.
Each assignment will be based on “correctness” and the narrative description of the process. “Correctness” in this case indicates that the code runs without issue, results are produced, and each component of the assignment is completed. The narrative description of the process will be graded on grammar minimally and more so on completeness and thoughtfulness.
Grading Policy
All assignments are required for all students, aside from one homework (lowest HW grade will be dropped). Completing all assignments is not a guarantee of a passing grade. You must do homework, visualization reports, and final to receive a passing grade. Late or incomplete assignments will not be given full credit unless the student has contacted the instructor prior to the due date of the assignment (or in the case of emergencies, as soon as practicable).
Grading Scale:
94-100 | A |
90-93 | A- |
87-89 | B+ |
83-86 | B |
80-82 | B- |
77-79 | C+ |
73-76 | C |
70-72 | C- |
67-69 | D+ |
63-66 | D |
60-62 | D- |
59 and below | F |
Incompletes
Students must request an incomplete grade from the instructor. The instructor and student will agree on a due date for completion of coursework and the student must file an Incomplete Form signed by the student, the instructor, and the student’s academic advisor with the School’s records representative. More information on incompletes is available here: http://webdocs.ischool.illinois.edu/registration/incomplete_grade_form.pdf
Attendance Policy
Students are required to attend each class, and if they are unable to do so must notify the instructor and TA in advance and request an excused absence. Participation in class – in the form of comments, questions, and discussion – is expected.
Emergency Response: Run, Hide, Fight
Emergencies can happen anywhere and at any time. It is important that we take a minute to prepare for a situation in which our safety or even our lives could depend on our ability to react quickly. When we’re faced with any kind of emergency – like fire, severe weather or if someone is trying to hurt you – we have three options: Run, hide or fight.
Run
Leaving the area quickly is the best option if it is safe to do so.
- Take time now to learn the different ways to leave your building.
- Leave personal items behind.
- Assist those who need help, but consider whether doing so puts yourself at risk.
- Alert authorities of the emergency when it is safe to do so.
Hide
When you can’t or don’t want to run, take shelter indoors.
- Take time now to learn different ways to seek shelter in your building.
- If severe weather is imminent, go to the nearest indoor storm refuge area.
- If someone is trying to hurt you and you can’t evacuate, get to a place where you can’t be seen, lock or barricade your area, silence your phone, don’t make any noise and don’t come out until you receive an Illini-Alert indicating it is safe to do so.
Fight
As a last resort, you may need to fight to increase your chances of survival.
- Think about what kind of common items are in your area which you can use to defend yourself.
- Team up with others to fight if the situation allows.
- Mentally prepare yourself – you may be in a fight for your life.
Please be aware of persons with disabilities who may need additional assistance in emergency situations.
Other resources
- police.illinois.edu/safe for more information on how to prepare for emergencies, including how to run, hide or fight and building floor plans that can show you safe areas.
- emergency.illinois.edu to sign up for Illini-Alert text messages.
- Follow the University of Illinois Police Department on Twitter and Facebook to get regular updates about campus safety.