# Homework 4

_[General](assignments.md) and [open-ended](assignments/open_ended.md) assignment information_

## Coding

For this assignment, you will:

- Work across datasets
- Create data visualization(s)

### Objective

You will **take two datasets and show a relationship (or lack thereof) in one visualization** (chart or map). This can mean:

- Plotting information from both as separate lines/points — see Plotly docs on:
  - [Multiple Axes](https://plotly.com/python/multiple-axes/)
  - [Graph Objects](https://plotly.com/python/graph-objects/#when-to-use-graph-objects-vs-plotly-express)
- Merging the datasets and plotting a derived measure
- etc.

Here is [a thorough example](final_project/universities.ipynb) - yours does _not_ need to be that complex though.

### Requirements

- Use Python/pandas for everything
  - You can use a spreadsheet program for simple preparation like extracting a table from a larger sheet (explain in the notebook if you do this), but all data cleaning, merging, visualizations, etc. should be done in code.
- Data from two datasets is reflected in a single visualization
  - There can be additional visualizations
- The relationship you're showing doesn’t need to be something novel; replicating something you saw / read / heard about is fine.
- This can overlap the [Final Project](final_project.md), but should be different.
  - Per [the requirements](assignments/open_ended.md), it should use at least one dataset you haven't used for your Final Project or anything else.
- Make it [read like a blog post](assignments/open_ended.md#read-like-a-blog-post).
- State the takeaway(s)
- Did you use an [external source](syllabus.md#academic-integrity), including generative AI? Please explain, or say that you didn't.


## Tutorials

In the videos below, don't get hung up on mentions of JavaScript, Node.js, or Twilio — those were technologies used for another course.

1. Watch:
   1. [What are APIs?](https://www.youtube.com/watch?v=OVvTv9Hy91Q)
   1. [APIs, Conceptually](https://drive.google.com/file/d/10VCtYI5Im9MnvDcn4vnUeWbqztF77tyL/view?usp=sharing)
1. Read [Understanding And Using REST APIs](https://www.smashingmagazine.com/2018/01/understanding-using-rest-api/)
1. Watch:
   1. [Let's look at some data](https://drive.google.com/file/d/10_2UPxa0ThWus47jKKeefGji5ZZmnr-e/view?usp=sharing)
   1. [Data formats](https://drive.google.com/file/d/10dR1oMt7V-Hk75mkIpnguq70mukSz6OA/view?usp=sharing)
   1. [API documentation](https://drive.google.com/file/d/10fOxW42-ODIgHlLgLCP_wklrxB8G4K3A/view?usp=sharing)
1. Read [Python’s Requests Library (Guide)](https://realpython.com/python-requests/) through `The Message Body`

## Participation

Reminder about the [between-class participation requirement](syllabus.md#participation).
