> For the complete documentation index, see [llms.txt](https://cs4all-icm.gitbook.io/js-the-interactive-web/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cs4all-icm.gitbook.io/js-the-interactive-web/unit-4-intro-to-apis/unit-4-overview.md).

# Unit 4 Overview

### Overview

This unit is all about APIs. Section 1 guides students from primarily accessing endpoints straight on the browser to gradually adding code until students are using async/await functions to hit the API. Section 2 is similar but focusses on closed APIs and SDKs.

To finish the unit, students will create a final project, a graphical user interface (GUI) for the API of their choosing. They'll have the flexibility to design a website from scratch that allows the user to visualize and access data from the API more easily.

If you are following the curriculum and have decided not to add a final project for Unit 3, most likely you will plan to incorporate Unit 5. Therefore, consider adding Unit 3 topics (namely local storage and methods that create DOM elements) as a requirement in your rubric for the final project here. Otherwise, if you have done a final project for Unit 3, you most likely will not have time to get to the stretch content in Unit 5. Therefore, at the end of this unit students will be completing the Course Final Project, and the duration will be on the higher end of 4-5 weeks for the final project.

Regardless, it isn't unusual or superfluous to do a unit 4 final project, skip unit 5, and do a final project (ie. 2 projects back to back) if this is what time allows. Simply use the course final project as a pivot or extension of this projects. Students can either build on top of their existing projects, pivot in a slight different direction, or start a new project with a different trajectory.

### NYS Standards

**NB:** *HTML and CSS are considered 'mark-up' languages, not programming languages. As such, many Computational Thinking skills will be better addressed in future units.*

* **9-12.DL.1** Type proficiently on a keyboard.
* **9-12.DL.2** Communicate and work collaboratively with others using digital tools to support individual learning and contribute to the learning of others.
* **9-12.DL.5** Transfer knowledge of technology in order to use new and emerging technologies on multiple platforms.
* **9-12.IC.1** Evaluate the impact of computing technologies on equity, access, and influence in a global society.
* **9-12.IC.5** Describe ways that complex computer systems can be designed for inclusivity and to mitigate unintended consequences.
* **9-12.IC.6** Create accessible computational artifacts that meet standard compliance requirements or otherwise meet the needs of users with disabilities.

### Suggested Duration

*Approx. 3-5 weeks for core content and 2-5 weeks for the Final Project (depending on if this is the course final project or not).*

### Prerequisite Skills

Students should feel comfortable creating, reading, updating, and iterating through objects. To design a strong final project, they should also feel confident writing HTML and CSS. A solid understanding in mutability is encouraged.

Local storage and methods to create DOM elements are proposed in the extensions. However, these concepts are not essential to understand APIs. They are however essential topics in Javascript programming. Consider balancing the incorporation of these topics based on the level of your students.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cs4all-icm.gitbook.io/js-the-interactive-web/unit-4-intro-to-apis/unit-4-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
