- Course Description
- Prerequisites
- Learning Outcomes
- Study Guide
- Class Schedule
- Class Recordings
- Class Assignments
- Evaluation
- Late Assignment Policy
- Additional Resources
- Make School Course Policies
In this course, students build on knowledge of RESTful web patterns and dive deep into the Node and Express ecosystems. Students learn how to manage greater scope and complexity in their code while consistently keeping the user's experience in mind through implementing a clone of the popular website, Reddit. The course will also cover the procedures required to authenticate and authorize web application users.
Students by the end of the course will be able toβ¦
- Diagram and implement resource associations using a document-based database.
- Write advanced db queries with a focus on optimum performance and efficiency.
- Discern between differing levels of persistence and the use cases that best fit each.
- Implement authentication using JWT tokens and sessions.
- Invent, create, test, deploy, and deliver a custom, fully secured API.
Course Dates: Monday, May 31 β Friday, July 16, 2021 (7 weeks)
Class Times: Monday, Wednesday, Friday at 9:30amβ11:15am (19 class sessions)
Class | Date | Topics |
---|---|---|
- | Mon, May 31 | No Class - Memorial Day |
1 | Wed, June 2 | Getting Started with Node & ES6 |
2 | Fri, June 4 | Giphy Search Lab |
3 | Mon, June 7 | Node School JavaScripting |
4 | Wed, June 9 | Eloquent JavaScript Reading |
5 | Fri, June 11 | Working with Promises |
6 | Mon, June 14 | Airbnb JS Styleguide |
7 | Wed, June 16 | How JavaScript Got BIG |
8 | Fri, June 18 | Complex Associations |
9 | Mon, June 21 | Auth with JWT |
10 | Wed, June 23 | Flex/Lab Day |
11 | Fri, June 25 | Passport Auth |
12 | Mon, June 28 | Testing w/ Mocha & Chai |
13 | Wed, June 30 | Testing Express Routes |
14 | Fri, July 2 | Intro to Web Security for Node.js |
- | Mon, July 5 | No Class - Independence Day Observed |
15 | Wed, July 7 | Node.js Capstone Kickoff Day |
16 | Fri, July 9 | Error Handling |
17 | Mon, July 12 | Topical Blog Post Writing Day |
18 | Wed, July 14 | Lab/Flex Day |
19 | Fri, July 16 | Project Fair |
For more see: make.sc/bew-1-3
All class recordings for Jay's class will be available here no later than 24 hours after the class session. For privacy reasons, please do not share the recordings outside of the Make School student body.
We will be using Gradescope this term, which allows us to provide fast and accurate feedback on your work. All assigned work will be submitted through Gradescope, and assignment and exam grades will be returned through Gradescope. As soon as grades are posted, you will be notified immediately so that you can log in and see your feedback. You may also submit regrade requests if you feel we have made a mistake.
Your Gradescope login is your Make School email, and your password can be changed at https://gradescope.com/reset_password. The same link can be used if you need to set your password for the first time.
- Make Parties (Tutorial)
- Reddit.js (Tutorial)
- Passport Authentication Challenge
- TDD/BDD Challenges
- API Project
To pass this course, you must earn at least a 70% weighted average, according to the following breakdown:
- API Project: 30%
- Tutorials, Assignments, Projects, & Class Participation: 50%
- All tutorials graded on completion
- Midterm and Final Assessment: 20%
In order to pass this course, you must also:
- Actively participate in class and abide by the attendance policy
- Make up all classwork from all absences
- Late assignments that are submitted more than 5 days (120 hours) after the deadline will be given a 25% late penalty.
- The absolute last day to submit any assignment will be Monday, March 3 at 11:59 PM.
If you require accommodations or have extenuating circumstances such as prolonged illness, please contact your instructor to request an extension.
Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below:
- Eloquent JavaScript (Textbook)
- jwt.io: JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties. JWT.IO allows you to decode, verify and generate JWT.
- make.sc/library
Topics:
- authentication
- unit testing
- async practices
Topics:
- Selecting a Stack: How do I choose the right stack? When should I use Node?
- Configuration vs. Convention: Determining your personal preferences regarding frameworks.
- Program Learning Outcomes - What you will achieve after finishing Make School, all courses are designed around these outcomes.
- Grading System - How grading is done at Make School
- Code of Conduct, Equity, and Inclusion - Learn about Diversity and Inclusion at Make School
- Academic Honesty - Our policies around plagiarism, cheating, and other forms of academic misconduct
- Attendance Policy - What we expect from you in terms of attendance for all classes at Make School
- Course Credit Policy - Our policy for how you obtain credit for your courses
- Disability Services (Academic Accommodations) - Services and accommodations we provide for students
- Online Learning Tutorial - How to succeed in online learning at Make School
- Student Handbook - Guidelines, policies, and resources for all Make School students