# Welcome to MERN Full Stack

### Who this course is designed for?

* Interested in becoming a web developer
* Would benefit from mentoring to help direct your learning
* No prior knowledge assumed
* Eager to put in the time required to benefit from fast-paced program.

### What will the course cover?

The essential technologies necessary to become a web developer in the shortest possible time.

![](https://1336010533-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MWvM--ORajEf7cHwnl6%2F-MYNNfo8vvOzmOzNecxD%2F-MYNdsH8cTQ-8BfX9Jfk%2Fimage.png?alt=media\&token=9291761b-999e-4882-afef-ce0dd22b03e0)

The MERN Stack stands for **M**ongoDB **E**xpress **R**eact **N**ode.&#x20;

* **M**ongoDB is a database that runs on the back-end server.
* **E**xpress is a web application framework for building web services on the back-end.&#x20;
* **R**eact is a front-end library for building UI components.&#x20;
* **N**ode.js is a JavaScript runtime environment (like a web browser) that allows JavaScript to run on a web server.&#x20;

### Why MERN?

* Lots of jobs. It is the most in-demand front-end library/framework.&#x20;
* Back-end leverages JavaScript knowledge.
  * Only have to learn one programming language.
  * Web Services are written in JavaScript
  * MongoDB data format based on JavaScript object syntax.

####

#### Fundamentals

Learn the three core technologies upon which every web site depends.

| Technology     | Description                                                              |
| -------------- | ------------------------------------------------------------------------ |
| **HTML**       | A *mark-up language* to describe the content of web pages                |
| **CSS**        | A *stylesheet language* used to express the presentation of web pages.   |
| **JavaScript** | A programming language used for both front-end and back-end development. |

####

#### Front-end Web Developer&#x20;

| Technology | Description                                                                                    |
| ---------- | ---------------------------------------------------------------------------------------------- |
| **React**  | An open-source library, built by Facebook, to easily build front-end components for web sites. |

####

#### Back-end Web Developer

| Technology              | Description                                                                                                                          |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| **Node.js, Express.js** | Tools to build the web API (Application Programming Interface) which communicates with the front-end to deliver data back and forth. |
| **MongoDB**             | Database to store application data                                                                                                   |

####

#### Developer Tools

| Tool                   | Description                                          |
| ---------------------- | ---------------------------------------------------- |
| **Git/GitHub**         | The most popular source code version control system. |
| **Visual Studio Code** | The most popular source code editor.                 |
| **Slack**              | Team Communication/Collaboration                     |

### Where you'll be by the end of this course?

* You will learn a lot in this course. Three months of challenging material that will give you a solid foundation to becoming a web developer.
* How strong your skills are at the end depends on how much time you have to put into practice what you learn and how deeply you engage with the material.
* If you work really hard, you will be in the home-stretch of what it takes to become a web developer. What will be left to learn, you can do through self-directing learning and building more projects to strengthen your skills and build your portfolio.

### How to benefit the most from the course

* Engage in learning: struggle, research, try again, struggle, research, try again, succeed.
* Learning is iterative - eventually it all starts to fit together and make sense, but you can feel overwhelmed at times along the way.
* Let me know when you don't get a concept
  * You're not dumb if you don't understand something, I'm just not explaining it well.
  * My job is to figure out how to present the information in a way that YOU understand.

### Which skills are the most important?

* JavaScript programming skills are essential, and the hardest part of what you'll learn in this course.
* If you're a strong programmer, that will carry you much further than any other skill.
* Prioritize front-end skills, before back-end. There is less to learn, and plenty of jobs. It is better to be strong in one area than spread too thin across the full stack.

### Course Details

|                  |                                                                                 |
| ---------------- | ------------------------------------------------------------------------------- |
| **Online Class** | <p>Monday-Thursdays 6pm-9pm</p><p>Saturdays 9am-6pm</p>                         |
| **Homework**     | Minimum 10 hours/week                                                           |
|                  | <p>Assigned after each class</p><p>Due by next class session</p>                |
|                  | Assignments will be posted on Canvas Calendar                                   |
| **Grading**      | You must complete all homework/projects with 80% to receive a passing grade.    |
|                  | Any homework/project can be re-submitted with improvements to reach full credit |
