Skip to content

mab253/dataviz_fall24

Repository files navigation

DSE I2700-3FG - 📀📊️🌎🪲 Visual Analytics

Instructor: Professor Madeline Blount
Term: Fall 2024
Time: Wednesdays 4:50-7:20pm
Space: NAC 6/136
Office Hours: virtual by appointment, schedule here
E-mail: mblount@ccny.cuny.edu City College, City University of New York

course description

This is a graduate-level course on the theory, practice, design, and critique of data visualization. If "technology has built the house in which we all live" (Ursula Franklin), data certainly makes up the materials for this house, how it works, and how it looks. How does data do its work, and why is visualization a crucial part of this? What are the limits of data, and some potential pitfalls of data visualization? How can visualization help us make sense of the ever-increasing deluge of data in our world? How do we determine what are "good" data visualizations, and how do we make them? Can we automate them - and should we? We'll see how creating strong, evocative, and informative data visualization involves techniques from art, design, math, psychology, computer science, and other fields.

Our explorations in this class will be technical as well as conceptual. We will dive into interdisciplinary readings as we learn the nuts and bolts of designing, coding, and analyzing data visualizations.

what will we do in this class?

  • learn some basic and advanced tools of data visualization in Python and Javascript
  • refine our visualizations based on design principles from interdisciplinary sources
  • work with real datasets from a wide variety of domains
  • develop techniques in interactivity, geospatial mapping, and machine learning visualization
  • get comfortable reading documentation and using new tools quickly
  • interrogate the concept of data as a form of knowledge production, and learn to approach visualizations critically
  • iterate and collaborate data projects as small groups

course format

Each class session will likely involve:

  • Short Lecture + Group Discussion
    • Based on the readings, due before class each week
  • Student Presentations
    • Mini-talk based on visualization found in the world (see assignment)
  • Lab + Workshop
    • Programming and hands-on work; this will sometimes be guided by the professor, and sometimes involve documentation-based tutorials and group work

This is a hybrid course. We will meet mostly synchronously, some weeks online and some weeks in-person. Each week will be labeled as 1 of the following:

  • 🏙️ In-Person @ CCNY
    • At NAC 6/136, we will meet for discussion and hands-on work (Wednesday evenings)
  • 🏠 Online Zoom
    • We will meet on Zoom together (simultaneous, Wednesday evenings)
  • 🦋 Asynchronous
    • Some weeks, we will not meet at a simultaneous time. We will be active online and learn at our own pace.

👾 We will also build an asynchronous offline community (as exists in nearly every endeavor @ this point!). We will have a class Discord server where we will have multiple channels for posting updates, posing questions, commenting on readings and each others' work, sharing resources, etc.

All work for this class will be lab, project, and presentation-based, and there will be no exams.

important info:

key dates
materials & references
tools
expectations & requirements
evaluation
academic honesty & integrity
contact & questions

SCHEDULE, ASSIGNMENTS, READINGS:

💥subject to change

Week 0: Aug. 28
🏙 In-Person at CCNY

Introduction to Data Visualization, Hello World!

Assignment: due Friday Aug. 30th, 11:59pm (happy labor day weekend!)

  • complete class survey (password: datapro2024)
  • "hello world," post on Discord (invite link will be e-mailed)

Week 1: Sep. 4
🏙 In-Person at CCNY

History of Data Visualization, Beginnings

Readings due today:


Week 2: Sep. 11
🏙 In-Person at CCNY

Abstraction + Fundamentals of Data Analysis

Readings due today:


Week 3: Sep. 18
🏠 Online Zoom 💥CHANGE!

Visual Perception, Aesthetics, Color

Readings due today:


Week 4: Sep. 25
🏙 In-Person at CCNY 💥CHANGE!

Color II

Readings due today:


Week 5: Oct. 2
NO CLASS


Week 6: Oct. 9
🦋 Asynchronous

Narratives + Data Storytelling

For this week:


📊 Project #1 Due, Oct. 13th by 11:59pm


Week 7: Oct. 16
🏙 In-Person at CCNY

Interactivity: Introducing Javascript

Readings due today:


Week 8: Oct. 23
🏙 In-Person at CCNY

Geospatial Data: Maps I

Readings due today:


Week 9: Oct. 30
🏠 Online Zoom

Geospatial Data: Maps II

Readings due today:


Week 10: Nov. 6
🏠 Online Zoom

Dashboards + Live Data

Readings due today:


Week 11: Nov. 13
🏙 In-Person at CCNY

Visualizing Networks, Introduction to Modeling

Readings due today:


Week 12: Nov. 20
🏙 In-Person at CCNY

Visualizing Machine Learning

Readings due today:


Week 13: Nov. 27
NO CLASS, 🦃 HOLIDAY


📊 Project #2 Due, Dec. 1st (Sunday) by 11:59pm 💥CHANGE!


Week 14: Dec. 4
🏠 Online Zoom

Data Collection and Missing Data

Readings due today:


Week 15: Dec. 11
🦋 Asynchronous

Final Reflections

Readings due today:

  • see last week

Assignment: final reflection
DUE: Dec. 14th, 11:59pm


key dates

  • project #1: due Oct. 18, 11:59pm
  • project #2: due Dec. 1, 11:59pm
  • final reflection: due Dec. 14th, 11:59pm

assignments

You will be responsible for:

  • weekly: in-class lab (or asynchronous lab assignment on certain weeks instead)
  • weekly: Discord post, due 4:00pm EST before every class session, starting Week 2
  • 2 mini-presentations of Discord post visualization (scheduled throughout course)
  • 2 small projects (1 solo, 1 small group project)
  • 1 final reflection assignment

More details for each of these assignments will be given throughout the semester.

materials and references

All course material will be linked via this page on Github. I will often post extra links, tool documentation, and further references beyond the required materials that might be helpful to you, especially as you build your own visualizations - but these extra resources will be optional. There will be no textbook for this course other than what's linked here. I will post the readings at least 2 weeks in advance, but if you look far ahead you might see some "TBDs." I will also post any in-class workshop material (slides, links, etc.) in a folder for each week.

tools we will use a lot

expectations and requirements

how can I do well in this class?

The discussion and lab combination in this class means that attendance is very important, both for your own learning and the learning of your fellow students. Collaborative workshops and rich critical inquiry simply will not happen if we don't have a consistently present, engaged crew of classmates. Attendance in-class, as well as engagement (active listening, asking questions, etc.), will count toward your final grade. Further, most of the technical component of the class involves in-person labs. At the end of each class section with a lab or workshop, you will need to submit your code to show your in-class work.

That said, things happen. Everyone in this course will be allowed 1 absence, no questions asked. Every absence after this 1 will result in a deduction from your partipication/attendance portion of your final grade. Lateness beyond 20 minutes is considered an absence. If you know ahead of time that you will need to miss class, please let me know as soon as possible, and we can arrange a way for you to make up the work.

It is crucial that we build a space where everyone can learn. This class will be an inclusive and harassment-free space for everyone, with no tolerations of discimination based on gender, race, sexual orientation, religion, disability, or appearance. Please let me know privately if you require an academic accommodation.

evaluation:

Grading breakdown:

  • Participation/Attendance (including in-class lab work): 20%
  • Weekly Async Posts + Lightning Talks: 20%
  • Project 1 + Project 2: 50%
  • Final Reflection: 10%

on late work:

Late assignments drop 10% per day, starting after the due time. (If you submit a Discord post 1 hour after the due date, for example, it drops 10%. If you wait another 24 hours, it drops 20%.)

✉️ To receive credit for late work, you will need to e-mail me once you have completed it.

If you have a reason for needing an extension (where you will receive full points), please reach out to me before the due date for an assignment.

academic honesty and integrity:

Plagiarism is "the act of presenting another person's ideas, research or writings as your own." (CUNY). This is as true for writing code as it is for writing others' words and pretending that they are yours.

It is important that everything you turn in for this class is your own work. I understand that collaborating with your classmates can be really helpful when learning - you are allowed and encouraged to do this! However, the code and designs you submit must reflect work you have done on your own. To outline some of the boundaries here, it is acceptable to:

  • Discuss the course’s material with others in order to understand it better.
  • Help a classmate identify a bug in their code.
  • Incorporate a few lines of code that you find online or elsewhere into your own code, provided that those lines are not solutions to assigned work and that you cite the lines’ origins.
  • Turning to the web or elsewhere for instruction beyond the course’s own, for references, and for solutions to technical difficulties, but not for outright solutions to assigned work.
  • Whiteboarding solutions with others using diagrams or pseudocode but not actual code.
  • Use AI-based software as a learning guide, asking questions about material but not full solutions. Any use of AI in this course MUST be cited. See more info here.

It is not acceptable to:

  • Search for or solicit outright solutions to assessments online or elsewhere.
  • Split an assessment’s workload with another individual and combine your work. (exception: group projects)
  • Submit (after possibly modifying) the work of another individual
  • 💥 Use AI-based software without citation. See more info here.

These terms modified and inspired by Harvard's CS50's academic honesty policy, here.

I have ways of checking on the originality of your code and assignments. Consequences for violating this academic honesty policy will be severe, including but not limited to failing the course.

You can find CCNY’s Academic Integrity Policy in full here. Do not plagiarize.

contact and questions

👾 Our class will have a Discord server for posting questions and communicating with each other.

If you would like to ask a question privately, please e-mail me - I am available and I try to respond within 24 hours. You are also invited to schedule some virtual office hour time to talk, here. If you need a time that's not on this schedule, please e-mail me.

About

class repo for Visual Analytics, DSE CCNY Fall '24

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published