CS 424: Visualization and Visual Analytics I - Spring 2021

Andy Johnson

Electronic Visualization Laboratory
Department of Computer Science
2032 Engineering Research Facility (ERF)

ERF Building via Google Earth

Lecture: 40669u / 40670g

originally T/Th 3:30pm - 4:45pm 2068 ERF, now asynchronous through Blackboard

I will be available during class time on Blackboard Collaborate in the course room. There is typically a fair amount of 'in class' work during the lectures, trying stuff out on paper or interactively using R, and this synchronous class time can be a good time to get any questions answered if you are stuck or want some more feedback, but there is no requirement to attend class at its scheduled time, and there will be no bonus points for attending.

Office Hours: synchronous office hours will be held during class time on Blackboard Collaborate, and asynchronous on Piazza (you should get a response within 24 hours, most likely within 8 hours)

TA:  - Abeer Alsaiari - aalsai3_at_uic.edu - Office Hours M 12-1 on Zoom - see Piazza for the details


There are 3 optional textbooks.  All of the class material is available at https://www.evl.uic.edu/aej/424/

Information Visualization
                Perception for Design Cover
Visualization Analysis and
              Design Cover R for Data Science Cover
Information Visualization Perception for Design, 4th ed. 

Colin Ware

Morgan Kaufmann
ISBN: 978-0128128756
$60 hardcover

Visualization Analysis and Design

Tamara Munzner

AK Peters
ISBN: 978-1466508910
$67 hardcover
R for Data Science

Garrett Grolemund
Hadley Wickham

O'Reilly Media
$18 paperback


This course is going to focus on the basics of data visualization, including scientific visualization, information visualization, medical visualization, and the effective use of interactive visualization for analytical reasoning.


1/12 & 1/14

Intro to Visualization
1/19 & 1/21
P1 out
Intro to R, Shiny, Jupyter, Git
1/26 & 1/28

The Basics
2/2 & 2/4

Information Visualization
2/9 & 2/11
P1 app due Geospatial Visualization
2/16 & 2/18
P1 docs due, P2 out 🎤 Project 1 Presentations 🎤
2/23 & 2/25

Privacy & Uncertainty
3/2 & 3/4

Social Network Visualization & Data Transforms
3/9 & 3/11
P2 app due
Medical & Scientific Visualization
3/16 & 3/18 P2 docs due, P3 out 🎤 Project 2 Presentations 🎤
🌴 🌴 Spring Break 🌴
🌴 Spring Break 🌴 🌴 Spring Break 🌴
3/30 & 4/1
Choice topic due Dynamic Data & Animation
 4/6 & 4/8
Choice due Visual Analytics
4/13 & 4/15

🎤 Students Choice Presentations 🎤
4/20 & 4/22
P3 app due
🎤 Students Choice Presentations 🎤
4/27 & 4/29
P3 docs  due,
Course Evaluations
🎤 Project 3 Presentations 🎤

"We have so much time and so little to do! No! Wait! Strike that! Reverse it!" -- Willy Wonka


You should have passed CS 251 (Data Structures) and have a solid grasp of programming in a language like C / C++ / Java  / Python and basic data structures to be able to implement the visualization projects in the course. It would also help to have taken CS 342 Software Design for experience writing code in groups, testing, version control, and patterns.

Standard departmental disclaimer: If you do not have the prerequisites for this course make sure that you drop this course right away. The department will verify the prerequisites for all students registered in this course during the first few weeks of the term and if you do not have the prerequisites, you will be notified and dropped from the course after the normal drop/add period. By that time, you will not be able to enroll in any new course.

For the course projects you will need regular access to a reasonably modern laptop or desktop computer.


Attendance is very important, but not mandatory. Normally part of your grade would be based on your in-class participation (i.e. asking good questions, making good comments) so please take that into account, but this term participation will be based more on asynchronous participation.

I will occasionally send out emails to the class using your UIC email address so please make sure that you are checking for email from that account every day or two. 

I will be putting all of my notes on the web, however these notes should not be considered official until the day of class. If I make any major changes to a page afterwards, then I will announce it in class, but note that at the bottom of each page is a modification date so you should be able to tell when the notes were last modified. I try to ensure that the notes on the web accurately reflect the lecture, but its what is discussed in class that counts, not what's written in the notes.

"Those who are absent are always wrong." - African proverb


The best way to learn how to make visualizations is to make visualizations. There will be several projects, a presentation on a visualization of your choice, some in-class work, and (normally) points for class participation.

Graduate students will have additional requirements for their projects commensurate with the additional course credit they receive.

You will be making a short presentation about each of your projects to the class. If the project is not done then you can't present it, so late assignments lose 33% per day - if a project is turned in within 24 hours after the deadline then the max score is 67 points out of 100; if a project is turned after 24 hours but before 48 hours after the deadline then the max score is 33 points out of 100; after that its 0. Assignment deadlines will not be extended for any reason other than a headline in the Tribune or Sun Times describing an army of undead ghouls walking the streets of Chicago eating people. In order to get an A a student must get a passing grade on all 3 the projects, and to get a B a student must get a passing grade on at least 2 of the projects.

The three projects will be done individually.

At the end of the class each student will choose a current interesting and informative interactive visualization (subject to approval by Andy) and present that visualization to the class.

"I hear and I forget. I see and I remember. I do and I understand" - Chinese proverb


The University of Illinois at Chicago is committed to maintaining a barrier-free environment so that individuals with disabilities can fully access programs, courses, services, and activities at UIC. Students with disabilities who require accommodations for full access and participation in UIC Programs must be registered with the Disability Resource Center (312) 413-2183 (voice) or (312) 413- 0123 (TDD).

The University Holidays and Religious Observances calendar can be found online at http://oae.uic.edu/religious-calendar/

We value your mental health and emotional wellness as part of the UIC student experience. The UIC Counseling Center offers an array of services to provide additional support throughout your time at UIC, including workshops, peer support groups, counseling, self-help tools, and initial consultations to speak to a mental health counselor about your concerns. Please visit the Counseling Center website for more information (https://counseling.uic.edu/). Further, if you think emotional concerns may be impacting your academic success, please contact your faculty and academic advisers to create a plan to stay on track.

You (and your group if we do group projects) are expected to do all your own design and implementation work. Cheating is bad; if you are caught cheating at minimum the punishment will be that you will get a failing grade for the entire course.


The final grade will be calculated as follows:

Projects 1-3:            750 points
Student's Choice talk: 100 points

150 points
Total: 1000 points
A: 880 - 1000 points
B: 770 - 879 points

C: 660 - 769 points
D: 550 - 659 points
F: 000 - 499 points

last revision: 1/10/2021