# Unit 5 Overview

### Overview

This 5th unit takes students through Websockets. This is the first time students transition from thinking in terms of front end to thinking full stack. In the first section, students will learn server vs client side programming with Node and Express. In the second section, students will build a naive chatroom and get introduced to Websockets and socket.io mainly from the client side. In the last section, students will fully build out a chatroom from both the client and server side. With socket.io they will ultimately learn to build a socket server and broadcast messages.

To finish the unit, students will create the course final project utilizing all of the skills they have learned up until this point.

### 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-6 weeks for core content and 3-5 weeks for the Course Final Project.

### Prerequisite Skills

Unit 5 is a challenging unit designed for advanced individuals. There is a lot of new vocabulary, new syntax, and links to documentation. At this point in the curriculum, students should be fluent in javascript and comfortable with both HTML and basic API concepts.


---

# Agent Instructions: 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:

```
GET https://cs4all-icm.gitbook.io/js-the-interactive-web/unit-5-simple-websockets-and-final-project/unit-5-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
