DATA 23700
This course, the data visualization offering for students in the Data Science major, helps students build core competancies for communicating with data, including generating visualizations programmatically, writing about design and analysis choices, and learning principles and procedures for rigorous work in data science. DATA 23700 introduces students to visualization design, including theoretical frameworks for reasoning about chart construction, perceptual principles, and considerations for use of color, mapping, making data interactive, and conveying uncertainty. DATA 23700 also requires students to engage various other skill sets important in data science such as technical reading and writing, data wrangling, statistical modeling, storytelling, and producing shareable, reproducible analysis notebooks.
Completion of or placement out of DATA 11900 or CMSC 14100 is a prerequisite for taking this course. Additionally, DATA 12000 and DATA 21300 should either be completed prior to registration or taken concurrently.
Students are expected to enter the course with solid foundations in both programming and statistical modeling. At a minimum, this means that students should be comfortable writing basic algorithms and data wrangling in Python, and students should understand the mathematics behind basic regression models. Additionally, students should be comfortable picking up new programming languages as needed for coursework (e.g., installing, setting up, and self-teaching basic syntax in R or JavaScript). Students who feel unprepared to meet these requirements may find DATA 22700 (i.e., the data visualization offering for Data Science minors) a better fit. Regardless of previous preparation, both creating graphics and working with data involve many difficulties that must be confronted with patience and perserverence, but both skills will benefit students tremendously in a wide variety of endeavors. Students are encouraged to apply themselves and grow!
Course objectives
Upon completion of the course, students should be able to:
- Generate visualizations programmatically.
- Apply principles of perception and statistics to visualization design.
- Make data visualizations interactive.
- Avoid creating, recognize, and redesign ill-formed, ineffective, misleading, or deceptive graphics.
- Use computational notebooks to write cogent, reproducible analyses.
- Produce high-quality written analysis reports.