DV


Syllabus

Data Visualization (CMPSCI 3411 & 5411)

Fall 2024 (hybrid, meets once a week)


Lecture topics

Week-by-week lecture topics, reading materials, and resources

Instructor & contact information

Welcome to the Data Visualization course!

When I designed this course, I had named it ‘Principles of Effective Data Visualization.’ But I was advised to shorten it to ‘Data Visualization.’ The reason I included the word ‘principles’ in the original name is that I want to focus on the conceptual aspects of data visualization, not the computer programming aspects. I don’t believe that the programming aspect (the ‘how to code’) is critical in a fundamental course like this one. I hope this gives you a hint about the course content ahead. This course is not primarily about ‘matplotlib’ or ‘Tableau.’ Instead, it is about the fundamental principles. The focus is on ‘what to plot,’ ‘when to plot’ and ‘why to plot,’ not the ‘how to plot.’ After completing this course, I imagine you will possess a unique set of knowledge and skills to not just see charts and plots but to actually read them. With these skills, you will be able to contribute to the real world in important and meaningful ways. Welcome aboard!

Each student’s success in this class matters to me. If you need official accommodations, you have a right to have these met. If some aspects of this course prevent you from learning or exclude you, please let me know as soon as possible. Together we’ll develop strategies to meet your needs and the course requirements.

Teaching philosophy: In my classes, I see a student as a ‘learner’ and myself as a ‘facilitator’ for the learners. Computer science and technology is a discipline that is evolving rapidly. Many learners see it as a difficult discipline. To the students taking my course, I suggest that an effective strategy to learn the fundamentals is to follow an iterative process of reading, analyzing, and coding. However, many learners either like to analyze or code but not both. While some of us enjoy developing the skills for critically assessing the concepts and algorithms, many others enjoy programming and love building things. An effective computer science course should balance (a) theoretical knowledge to understand computer technology and (b) implementation skills to test and execute the theories and algorithms. I design course contents and assignments so that learners can improve both: analytical and programming skills. Learners with a rich programming experience may find this balance slightly easier but will have a platform to explore further. For many others who do not consider themselves expert programmers, taking such a course can become a rewarding experience.

Course description

Course name
Introduction to Data Visualization (CMPSCI 3411) / Data Visualization (CMPSCI 5411)

UMSL catalog description
This course introduces students to the principles of effective data visualization. The course includes an introduction to data cleaning and analysis. Plotting tools such as Tableau, Matplotlib, and D3.js are also introduced. Topics covered include graphical excellence, log scale, color, heat maps, network visualization, plotting scientific data, interactive plots, and plotting live stream of data. Credit cannot be granted for both CMPSCI 3411 and CMPSCI 5411.

Prerequisites for 3411 (for undergraduate students)
CMPSCI 1250 (programming fundamentals)

Prerequisites for 5411 (for graduate students)
Graduate standing (in any department): Any graduate student at UMSL in any department is eligible to take this course.

Textbooks
Required textbooks for both graduate and undergraduate students:

Additional required textbook for graduate students:

Optional textbook:

Learning outcomes

When making plots and charts, many of us wonder if we have actually drawn the most appropriate one. How do you know that the graphic form you have chosen is the most suitable to represent your data? Does your plot or chart effectively communicate your message to the readers? I call this a “plotting dilemma.” The fundamental question here is: what are the principles of effective data visualization? These are difficult questions. Although there aren’t solution formulae, this course will provide clues and examples to help you make your own choices based on what we know about why and how visualization works.

Upon completing the course, you will be able to:

In this course, you will spend significant time designing various data graphics (charts, plots, diagrams, maps, etc.) using tools such as Tableau, R, Matplotlib, or Google Sheets. However, this course does not emphasize using specific tools or implementation details.

Course topics

Academic honesty

Any form of academic dishonesty in this class will result in an F for the semester, and the case will be referred to the provost’s office for possible further disciplinary action, regardless of how trivial it is. Please don’t use another student’s assignment (or a solution on the internet) to complete your assignment. Discussing the material is ‘OK,’ but please do your work independently. You should complete the homework alone, not together, and not in a group. If you have any questions about the lessons or the assignments, please get in touch with me, and I will point you in the right direction. Please read UMSL’s policy and keep yourself out of plagiarism. In your submissions, all sources must be clearly cited. You should not copy-paste any content from the internet without citing it. If you have not written an original report in the past, please watch this lecture on plagiarism. Lastly, you are not allowed to print any of the quiz, mid-term, or final exam questions, or post them anywhere outside of the class.

[!WARNING] If you didn’t write it or create it, cite it.

[!IMPORTANT] Any use of online chatbots (e.g., ChatGPT, Gemini) for research, when appropriate, should be clearly communicated to me. You will also need to submit a link to your full conversation with the chatbot.

Plotting technology (programming language)

For this course, you are welcome to choose any plotting technology. Yes! You can choose your plotting platform. Back in early 2010s, I used to plot in R, and now I have switched to Matplotlib (Python). Some of my students use the D3.js Javascript library. You can chose to stick to a single tool (say, Tableau) or you can also choose to be an explorer and try a new tool each time you have to design a plot.

Assignments, quizzes, and exams

Citation format

You can choose any standard format for citations, such as MLA and APA.

Assignments

There will be several types of homework in this course. You will be assigned to draw concept maps for the book chapters you read. Each week, you will also be asked to create and plot several charts and graphs. Additionally, you may often be asked to peer-review the work of your classmates. In most classes, you will need to bring a printed copy of your plots for classroom discussions. When relevant, you may also need to find data sets and specific types of plots.

All assignments should be submitted via Canvas. I will ignore any assignments submitted via email. If you cannot find the correct place to submit on Canvas, please ask me by sending an email. However, do not email me your homework, as it may not be graded.

Guidelines for submitting your work

Weekly Quizzes

Most classes will begin with a quick quiz (5 to 10 minutes). These quizzes will mostly consist of multiple-choice questions based on the book chapter readings and classroom lectures. Please bring your laptops to class so you can take the quiz on your computer. If we switch to an online setting for any reason, the quizzes will be proctored.

Feedback and grading timeline

You will receive project and quiz grades within a week after the due date; others may take longer. Assignments may take longer to grade during certain weeks when I travel to conferences. However, you are welcome to email me and request a quicker grading for a particular submission.

Exams

There will be two comprehensive exams: a mid-term and a final. The mid-term will be a full 75-minute exam, and the final will be a two-hour-long exam. Most of the exam questions will be related to classroom activities and homework, and I will provide sample exam questions.

Showing your process

In this course, some assignments may require you not only to submit a final product but also to demonstrate the process you followed to create it. For example, you might be required to write your project report entirely in Google Docs, as usual. However, before submitting your work, you should use process-revealing Google Chrome extensions like Gdoc Process Feedback to download a writing process report, which you will also need to submit. Abundant research demonstrates the value of process-aware learning, which can significantly enhance higher-order thinking abilities like metacognition and self-awareness. Learning to reflect on the process helps us plan, monitor, and evaluate our learning experiences. Assignments that have such a requirement will include additional instructions.

Final exam: Wednesday 11 December, 3:15 – 5:15 PM (same room).

Attendance, due dates, and late policy

Turning video on during Zoom meetings

If we ever need to Zoom (for class meetings or office hours), you are strictly required to keep your video on during the meeting.

Grade composition (tentative)

Submission Total Points (approximate)
Homework 20%
Weekly quizzes 20%
Classroom activities & participation 20%
Mid-term & final exams 20%
Final Projects 20%

Note: You should submit the course evaluation survey at the end of the semester to receive your final grade.

Grading scheme

Points (%) Grade
94 to 100 A
90 to 94 A-
87 to 90 B+
84 to 87 B
80 to 84 B-
77 to 80 C+
74 to 77 C
70 to 74 C-
67 to 70 D+
64 to 67 D
61 to 64 D-
0 to 61 F

Additional policies and resources

This course is not difficult, but it will require effort. Please expect to spend a minimum of 6-10 hours per week on coursework. While it is not extremely challenging, you will need to devote time to it.

What students say

I wanted to take a moment to thank you for your support throughout the semester. The data visualization class was truly enjoyable and engaging. I not only learned how to use powerful tools but also gained a deeper understanding of how to communicate data effectively. This course has inspired me to approach data storytelling with creativity and precision, and I’m excited to apply these skills in my future projects.

You made my semester. I’m sure you are a busy person, and I appreciate your additional support. Truly, your class is why I came back to school.

Thanks a million.