dataviz_fall23

class repo for Visual Analytics, DSE CCNY Fall '23

https://github.com/mab253/dataviz_fall23

Science Score: 18.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

class repo for Visual Analytics, DSE CCNY Fall '23

Basic Info
  • Host: GitHub
  • Owner: mab253
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 70.8 MB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 3 years ago · Last pushed over 2 years ago
Metadata Files
Readme Citation

README.md

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

Instructor: Professor Madeline Blount \ Term: Fall 2023 \ Time: Wednesdays 4:50-7:20pm \ Space: Shepard S-275 \ 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 on a final data project at the end of the semester

course format

This course will generally meet in-person for 2.5 hours on Wednesdays. 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

👾 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.

🎥 There may be a few times throughout the semester when I will film a lecture + lab instead of giving one in-person. When I post a video instead, you will be free to watch it in your own time. These asynchronous lectures will be clearly marked on the schedule. In the case of any change in the schedule, I will announce this change ahead of time via Blackboard/e-mail.

The final for this class will be to develop a data visualization project in a small group. There is no exam in this course.

important info:

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

SCHEDULE, ASSIGNMENTS, READINGS:

💥subject to change

Week 0: Aug. 30 \ Introduction to Data Visualization, Hello World!

slides! link for class

Assignment: complete class survey; "hello world," post on Discord (invite/link for both will be e-mailed) \ DUE: Friday Sep. 1st, 5:00pm (happy labor day weekend!)


Week 1: Sep. 6 \ History of Data Visualization, Beginnings \ 🤖 starting off w/python

Readings due today: - Data Visualization: A Practical Introduction, Healy, Ch. 1 "Look at data" (1.1-1.8) - The Visual Display of Quantitative Information, Tufte, Ch. 1 "Graphical Excellence" (p. 13-52) - Look through: Quick start and Pyplot, Matplotlib documentation


Week 2: Sep. 13 \ Abstraction + Fundamentals of Data Analysis \ 🤖 python libraries

Readings due today: - Computational Information Design, Fry, Ch. 2 "Basic Example" + Ch. 5 "Process" - Visual Analysis and Design, Munzner, Ch. 2 "What: Data Abstraction" and Ch. 3 "Why: Task Abstraction" - optional: videos by Munzner, Data Abstraction and Task Abstraction


Week 3: Sep. 20 \ Visual Perception, Aesthetics, and Color \ 🤖 python libraries

Readings due today: - Fundamentals of Data Visualization, Wilke, Ch. 2, 4, and 19 (they are short) - Envisioning Information, Tufte, Ch. 5 "Color and Information" - Visual Analysis and Design, Munzner, Color 🎥 watch video, 18min.


Week 4: Sep. 27 \ Design Principles + Data Storytelling \ 🤖 python libraries

Readings due today: - The Shape of Design, Chimero, Ch. 7 "Stories and Voids" - The Functional Art, Cairo, intro to p. 23 - W.E.B. Du Bois's Data Portraits, Battle-Baptiste and Rusert, p. 7-50 + Plates


Week 5: Oct. 4 \ Interactivity \ 🤖 introducing javascript

Readings due today: - Data in Wonderland, Spencer, Ch. 3 "Interactive" - all of Ch. 3! - D3 for the Impatient: Interactive Graphics for Programmers and Scientists, Janert, p. 11-30 in Ch. 2


Week 6: Oct. 11 \ Geospatial Data: Maps I \ 🤖 javascript

Readings due today: - Anatomy of a Web Map, McConchie and Schechter (interactive presentation) - Fundamentals of Data Visualization, Wilke, Ch. 15 - How to Lie With Maps, Monmonier, Intro (p. 1-4) & Ch. 3 (p. 25-42)


Week 7: Oct. 18 \ Geospatial Data: Maps II \ 🤖 javascript

Readings due today: - "Unicorns, Janitors, Ninjas, Wizards, and Rock Stars" from Data Feminism, D'Ignazio and Klein - "On Exactitude in Science", Borges (*yes, 1 paragraph short story!) - "The politics of making maps", Caquard, interviewed by Salinas


Week 8: Oct. 25 \ Dashboards + Live Data \ 🤖 javascript, python

Readings due today: - read through choropleth code example - "Mission Control: A History of The Urban Dashboard", Mattern in Places Journal


📊 Mid-term Mini-Project Due, Oct. 29 by 11:59pm


Week 9: Nov. 1 \ Visualizing Uncertainty \ 🤖 javascript, python

Readings due today: - Fundamentals of Data Visualization, Wilke, Ch. 16 - "What would feminist data visualization look like?", D'Ignazio - Data Humanism, Lupi


Week 10: Nov. 8 \ Visualizing Texts, Networks and Trees \ 🤖 javascript, python

Readings due today: - "Learning from Lombardi", Fry - from The Network Turn, Ahnert, Coleman, Weingart; pp. 1-24, & pp. 57-61


Week 11: Nov. 15 \ Data Collection and Missing Data \ 🤖 python libraries

📊 Final Project Proposal + Groups Due, before class

Readings due today: - read intro + skim through: beautifulsoup documentation - read intro (README) + skim through: missingno documentation - "Missing Datasets" and "The Point of Collection" Mimi Onuoha


Week 12: Nov. 22 \ NO CLASS, HOLIDAY


Week 13: Nov. 29 \ Big Data, Multidimensions, ML

Readings due today: - "A visual introduction to machine learning,", Part I & II, R2D3 - "What is a model?" from Weapons of Math Destruction, pages TBD - Big Data, Big Design, Armstrong, TBD


Week 14: Dec. 6 \ Questioning Automation, Wrap-Up & Final Presentations

Assignment: work on final project \ FINAL REPORT DUE: Dec. 15th, 11:59pm


key dates

  • mid-term mini-project: due Oct. 29, 11:59pm
  • final project presentation: in-class, Dec. 6th
  • final project repot: due Dec. 15th, 11:59pm

assignments

You will be responsible for: - weekly: Discord post, due 4:00pm EST before every class session, starting Week 2 - 1 mini-presentation of Discord post visualization (scheduled throughout course) - 1 mid-term assignment (solo work) - 1 final group project (proposal, presentation, and final report)

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: 20% - Midterm Assignment: 20% - Final Project: 40%

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.

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 that suggests or completes answers to questions or lines of code.

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.

Owner

  • Name: mab
  • Login: mab253
  • Kind: user
  • Location: brooklyn, ny

👽🦉⚡️

Citation (citations.md)

**A note on code comments:**
Inside your functional code, if you have used code that comes from another programmer or another project, you need to cite this explicitly. You can write a comment directly above where this code starts, and cite the source by including the project name, the programmer's name (if known), and a link to where you found this code. Include the date that you found it, if possible.

For example: 

```
/***********
  This code was adapted from:
  David Bowie
  https://github.com/davidjonesbowie/the_exact_file_where_you_found_the_.code
  Accessed: Oct. 2022
*************/
```
*You do not need to follow this format exactly, but your comment should cite the same information (name, link/source, and date if possible)*

In written language for a paper, we also cite when it's not a direct quote, but it is an *idea* that we learned from a specific source. If you have parts of your project that fit this description, please comment and cite here as well. 

Example:

```
/* The following method is inspired by work done by Proton the Cat, Jupyter notebook available @ https://github.com/proton-the-cat */
```

**This commenting and citation of code is NOT OPTIONAL.** If you do not cite code where you have copied either the exact lines or the inspiring method of someone else, this could be considered plagiarism in the context of this final project.

GitHub Events

Total
Last Year