Academic Catalog

C S 48A: DATA VISUALIZATION

Foothill College Course Outline of Record

Foothill College Course Outline of Record
Heading Value
Effective Term: Summer 2024
Units: 4.5
Hours: 4 lecture, 2 laboratory per week (72 total per quarter)
Advisory: MATH 10, MATH 17, PSYC 7 or SOC 7.
Degree & Credit Status: Degree-Applicable Credit Course
Foothill GE: Non-GE
Transferable: CSU/UC
Grade Type: Letter Grade (Request for Pass/No Pass)
Repeatability: Not Repeatable

Student Learning Outcomes

  • Students will be able to communicate analysis insight through data visualization to an intended audience.
  • The student will be able to Identify the key techniques and theory used in data visualization
  • The student will be able to create and design static and interactive visualizations using a data visualization package

Description

Introduction to the effective processing and communication of data. Topics include identifying the key techniques and theory used in data visualization, creating and designing static and interactive visualizations using data, and communicating insight through data visualization to an intended audience. Students will use a data visualization package, such as R, Tableau, or MatPlotLib in Python.

Course Objectives

The student will be able to:

  1. Identify the key techniques and theory used in data visualization.
  2. Create and design static and interactive visualizations using a data visualization package.
  3. Communicate analysis insight through data visualization to an intended audience.

Course Content

  1. Identify the key techniques and theory used in data visualization
    1. Introduction to data visualization
      1. Describe data visualization
      2. Compare descriptions of exploratory vs. explanatory data visualizations
      3. Identify Gestalt Principles in visual perception
      4. Describe cognitive load in visual perception to identify cognitive load best techniques
      5. Compare static and dynamic visualizations represented as use cases
      6. Describe effective design in visual perception to identify effective design best techniques
      7. Describe ethical design in visual perception to identify ethical design best techniques
      8. Identify most common graphical representations and their key characteristics
      9. Recognize the context of use for each graphical representation and what approaches are appropriate for each situation
      10. Identify context or setting to properly story-tell with data visualization best practices
      11. Identify plot to properly story-tell using data visualization best practices
      12. Identify message/interpretation to properly story-tell using data visualization best practices
      13. Identify purpose or implications to properly story-tell using data visualization best practices
    2. Introduction to a visualization package, such as R, Tableau, or MatPlotLib
      1. Describe the purpose and applications of the package
      2. Identify and navigate the package environment
      3. Import from an external data source
      4. Develop a basic data object
      5. Apply data visualization customization, such as adding colors, labels, and formatting
      6. Develop a variety of data visualizations, including histograms, bar graphs, box plots, pie charts, scatterplots, etc.
  2. Create and design static and interactive visualizations using a data visualization package
    1. Working with data
      1. Prepare data for use in visualization
      2. Merge multiple data sources
      3. Apply data cleaning techniques
        1. Outliers
        2. Bad data
        3. Missing data
      4. Identify distinct data types in imported data
      5. Identify and use different types of data sources:
        1. CSV
        2. Excel
        3. SQL
        4. URL
        5. Other
      6. Develop filtering techniques
      7. Develop table calculation techniques
    2. Interactive design
      1. Apply interactivity of plots with highlight, filter, and URL actions
      2. Identify dynamic data visualization best practices
      3. Develop dynamic data presentations
      4. Identify and develop mapped visualizations
      5. Apply custom geocoding to map visualization
      6. Develop custom maps
      7. Apply background images to map visualizations
  3. Communicate analysis insight through data visualization to an intended audience
    1. Visual analytics
      1. Develop statistical visualizations used in exploratory data analysis
      2. Develop trends analytics techniques
      3. Develop distributions analytics techniques
      4. Develop forecasting analytics techniques
      5. Apply mapping techniques
    2. Sharing visualizations
      1. Identify the value of data visualization in communicating to an intended audience
      2. Select most appropriate data visualization for intended outcome
      3. Apply design principles, such as eliminating clutter, focusing attention, and thinking like a designer to improve data visualizations
      4. Compare the pros and cons of sharing live data vs. extracting data

Lab Content

  1. Navigating the visualization package
    1. Installing and running
    2. Creating a simple plot
  2. Demonstrating visual design principles
    1. Identify effective and ineffective use of design principles in sample products
    2. Modify sample products to improve effective communication
  3. Explanatory data analysis and visualization
    1. Create plots from existing datasets
    2. Choose from among various representations (scatterplot, histogram, boxplot, etc.) to communicate the data most effectively
    3. Apply labels, colors, and formatting
    4. Apply statistical techniques to summarize the data
  4. External data sources
    1. Find and download data from a repository
    2. Scrape data from webpages
    3. Prepare external data for import
      1. Identify and handle missing data
      2. Identity and handle bad data
      3. Identify and handle outliers
    4. Import data into the visualization package
    5. Merge data from multiple sources
  5. Exploratory data analysis
    1. Using complex or large datasets, identify correlations between data elements
    2. Using complex or large datasets, identify trends in time-series data
    3. Using complex or large datasets, produce and analyze predictive models
    4. Choose from among various representations (time series, facets, heat map, tree map, etc.) to communicate the data most effectively
  6. Geospatial visualization
    1. Summarize geotagged data in the context of a map
    2. Create a custom geospatial and data-rich object, such as a stadium or parking lot
  7. Dynamic visualization
    1. Create animated visualizations
    2. Create interactive data applications or webpages

Special Facilities and/or Equipment

1. The college will provide access to a computer laboratory with an installed data visualization package.
2. The college will provide a website or course management system with an assignment posting component (through which all lab assignments are to be submitted) and a forum component (where students can discuss course material and receive help from the instructor). This applies to all sections, including on-campus (i.e., face-to-face) offerings.
3. When taught online, the college will provide a fully functional and maintained course management system through which the instructor and students can interact.
4. When taught online, students must have currently existing email accounts and ongoing access to computers with internet capabilities.

Method(s) of Evaluation

Methods of Evaluation may include but are not limited to the following:

Written discussion of concepts on class forums
Formative activities, such as quizzes, assignments, and graphic organizers
Final course project

Method(s) of Instruction

Methods of Instruction may include but are not limited to the following:

Lectures which include motivation for the use of data visualization concepts, example code and visualization objects, and analysis of these products
Online labs (for all sections, including those meeting face-to-face/on campus), consisting of:
1. A programming assignment webpage located on a college-hosted course management system or other department-approved internet environment. Here, the students will review the specification of each programming assignment and submit their completed lab work
2. A discussion webpage located on a college-hosted course management system or other department-approved internet environment. Here, students can request assistance from the instructor and interact publicly with other class members
Detailed review of programming assignments, which includes model solutions and specific comments on the student submissions
In-person or online discussion which engages students and instructor in an ongoing dialog pertaining to all aspects of designing, implementing, and analyzing programs
When course is taught fully online:
1. Instructor-authored lecture materials, handouts, syllabus, assignments, tests, and other relevant course material will be delivered through a college-hosted course management system or other department-approved internet environment
2. Additional instructional guidelines for this course are listed in the addendum of CS department online practices

Representative Text(s) and Other Materials

Schwabish, Jonathan. Better Data Visualization, a Guide for Scholars, Researchers and Wonks. 2021.

Types and/or Examples of Required Reading, Writing, and Outside of Class Assignments

  1. Reading
    1. Textbook assigned reading averaging 30 pages per week
    2. Reading the supplied handouts and modules averaging 10 pages per week
    3. Reading online resources as directed by instructor though links pertinent to data visualization
    4. Reading library and reference material directed by instructor through course handouts
  2. Writing
    1. Writing to communicate analysis of existing products
    2. Writing to document processes used in analyzing and visualizing data
    3. Writing to describe trends or correlations found in data
  3. Other projects
    1. Plots based on datasets, along with explanatory text
    2. Other forms of graphical objects that communicate data

Discipline(s)

Computer Science