# Overview

Welcome! **Envision** is [Forge's](https://www.joinforge.co) 10-week course in data visualization with D3.js. By the end of our 10 weeks together, you'll have a rock-solid understanding of **web development technologies** (HTML, CSS, and JavaScript) and the ability to develop and publish **interactive D3 data displays** to the web. By the end of the course, you'll walk away with a fully functional website showing off your new skills!

## Course Details&#x20;

{% tabs %}
{% tab title="Zoom link" %}
**Workshop and Lab**: [![Link](https://files.node.ishaandey.com/tools/buttons/open-zoom.svg)](https://virginia.zoom.us/j/91478395909?pwd=UzlRTWdRZlE1aWx3MXA5S01DNU9mZz09)

Please have your cameras on whenever possible, and don't hesitate to interrupt us with questions!
{% endtab %}

{% tab title="GitHub" %}
Repo with all course materials here: [![Link](https://files.node.ishaandey.com/tools/buttons/open-github.svg)](https://app.gitbook.com/s/-MTWHDKXBHDORD73hr7U/github.com/benartuso/envision)
{% endtab %}

{% tab title="Weekly feedback form" %}
**Form available here:**[![Link](https://files.node.ishaandey.com/tools/buttons/open-forms.svg)](https://forms.gle/AMh9uJoqJYAxt7SEA)

Please fill out this form before leaving the Zoom call **every week**. This form is 100% anonymous, and we read every piece of feedback, every week!
{% endtab %}

{% tab title="Safe space form" %}
&#x20;**Form accessible here:** [![Link](https://files.node.ishaandey.com/tools/buttons/open-forms.svg)](https://app.gitbook.com/s/-MTWHDKXBHDORD73hr7U/bit.ly/forge-safe-space)

If anyone at Forge, including (especially!) your course staff or classmates, makes you feel unsafe or unwelcome at any point this semester please, fill out the above form describing what happened. All submissions will be read and addressed by Emily Vaughan, our Creative Courses Director, and the full-time staff if necessary.&#x20;

You may fill out this form either anonymously or with your name, if you'd like Emily to reach out to you to discuss further.
{% endtab %}
{% endtabs %}

### Schedule

[**Week 1**](https://envision.joinforge.co/content/week-1)**: Introduction to Forge, D3, and HTML.**

* Review the basic norms and policies for participating in a Forge course&#x20;
* Learn the value of visualizing complex data in D3 over Tableau, matplotlib, excel, etc.&#x20;
* Set up your tools and development environment, get acquainted with Slack, and schedule your weekly lab meeting
* Learn the basics of HTML and get started building out the bones of your website&#x20;
* *Lab:* Bring (and discuss) one effective and one ineffective interactive data visualization

[**Week 2**](https://envision.joinforge.co/content/week-2)**:** **Styling web elements with CSS**

* Further knowledge of HTML attributes, especially of the universal attributes class and id
* Understand how class and id act as hooks, but don't in themselves change element style
* Learn what CSS is and its basic rule-based syntax
* Learn and practice writing a variety of CSS selectors&#x20;
* Learn and practice writing a variety of CSS declarations&#x20;
* Learn about display and layout properties in CSS
* Practice using flexbox to create more complicated CSS layouts of HTML elements
* **Apply these principles to Project 1, your website!**&#x20;

[**Week 3**](https://envision.joinforge.co/content/week-3-css)**: Git and GitHub**

* Install Git and create a GitHub account
* Learn basic terminal commands, such as ls and cd, used to navigate working directories&#x20;
* Complete a terminal scavenger hunt to practice these commands
* Learn the difference between Git and GitHub, and how they work together
* Practice the GitHub pull / edit / add / commit / push workflow through the Five Word Stories exercise

[**Week 4**](https://envision.joinforge.co/content/week-4-javascript)**: JavaScript basics for D3**&#x20;

* Learn how to use Google Chrome's dev tools to view and interact with JavaScript in the console
* Learn and practice the following JavaScript processes and concepts:&#x20;
  * Object data type&#x20;
  * Arrays
  * If, else if, else&#x20;
  * Ternary operator
  * Iteration (for loops)&#x20;
  * Functions
  * DOM manipulation

### **Acknowledgements**

We'd like to thank and acknowledge:

* Prof. Eric Field, UVA School of Architecture, for introducing us to D3
* Ishaan Dey, for the sick markdown buttons
