DV


Syllabus

Data Visualization (CMPSCI 3411 & 5411)

Fall 2022 (face-to-face)


Lecture topics

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

Instructor & contact information

You are welcome to the Data Visualization course. I designed this course from scratch and this is the first time our department is offering it. Initially, I had named the course “principles of effective data visualization,” but I was suggested to shorten it to “data visualization”. I hope this hints you about the course contents ahead. It is my pleasure to be teaching a course on a topic that I am very passionate about. After completing this course, I imagine that you will possess a unique set of knowledge and skills (not seeing but reading plots and charts) to contribute to the real world in important and meaningful ways. Welcome onboard!

Your success in this class is essential to me. If you need official accommodations, you have a right to have these met. If 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 my learners, 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.

This course will be supported by an Active Learning Assistant (ALA), a student who has been hired to assist you and your classmates throughout the semester. The ALA will learn about teaching strategies, collaboration activities, and facilitation techniques to help you succeed in the course. The ALA will be involved in our class activities regularly. The ALA will also hold office hours each week, where you can ask questions and collaborate with others. Here is the ALA’s contact information:

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:

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 that graphic form you have chosen is most suitable to represent your data? Does your plot/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 make your own choices based on what we know about why and how visualization works.

Upon completing the course, students will be able to:

In this course, learners will spend significant time designing (plotting) 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. The course is more about “what plots to make and why” than “how to make them.”

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 didn’t write it or create it, cite it.” Also, our Turnitin tool automatically checks for plagiarism. If you have not written an original report in the past, please watch this lecture on plagiarism. For citations, you can choose any standard format (MLA, APA, etc.).

Plotting technology (programming language)

For this course, you are welcome to choose any plotting technology. Yes! You can choose your plotting platform. I used to plot in R, and now I have switched to Matplotlib (Python). Some of my students use the D3.js Javascript library. Whatever technology you choose, I imagine you will become somewhat of an expert on the technology by the end of the semester. You can also choose to be an explorer and try a new tool each time you have to develop a plot.

Homework, quizzes, and exams

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

All homework should be submitted via Canvas. I ignore any assignment submitted to me via email. If you do not find the right place to submit in Canvas, ask me by sending an email, do not email me your homework.

Weekly quizzes
Most classes begin with a quick quiz (5 to 10 minutes). Mostly, these will be multiple choice questions. Questions will be mainly from the book chapter readings and classroom lectures. Please bring your laptops to the classroom so you can take the quiz on your computer. If, for some reason, we switch to an online setting, the quizzes will be proctored.

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

Final exam: 12 December 05:30 – 07:30 PM.

Attendance, due dates, and late policy

Attendance will be recorded in each class. You can miss at most two classes in this course and still be qualified to receive an A.

Two of your lowest scored quizzes will be ignored from grade calculations. Two of your lowest scored classroom activities will also be ignored. Two of your lowest scored homework will also be ignored. However, any late work will automatically receive a 0. In Canvas, you won’t be able to submit your work afer the deadline.

All assignments in this course will be due at midnight on Mondays and there will be no deadline extensions. Both the mid-term and the final exams will count towards the total.

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 when we meet over Zoom.

Grade composition (tentative)

Submission Total Points
Homework 30%
Weekly quizzes 20%
Classroom activities & participation 20%
Mid-term & final exams 30%

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