GithubHelp home page GithubHelp logo

make-school-courses / bew-2.1-advanced-web-patterns Goto Github PK

View Code? Open in Web Editor NEW
8.0 4.0 29.0 9.02 MB

πŸ‘©β€πŸ’»Be able to build anything by learning the commonest advanced patterns for web development like search, file uploading, and sending emails and texts. We will also look at advanced JS topics like async/await and projects like TypeScript.

Home Page: https://make.sc/bew2.1

License: MIT License

CSS 18.50% JavaScript 25.26% HTML 56.25%
javascript vanilla-javascript websockets aws-s3 express-js

bew-2.1-advanced-web-patterns's Introduction

BEW 2.1: Advanced Web Patterns in Node.js

Table of Contents

  1. Course Description
  2. Prerequisites
  3. Course Specifics
  4. Learning Outcomes
  5. Schedule
  6. Class Assignments
    1. Tutorials
    2. Challenges
    3. Final Presentation
  7. Late Assignment Policy
  8. Evaluation
  9. Information Resources
  10. Make School Course Policies

Course Description

In this course students deepen their understanding of the web and implement advanced features that add complexity and uniqueness to a server’s structure. Advanced full stack patterns covered include WebSockets, simple search, payment gateways, chat room, uploading images and files, full text search, and sending emails and texts.

Prerequisites

Course Specifics

Course Delivery: online | 7 weeks | 14 sessions
Course Credits: 3 units | 37.5 Seat Hours | 75 Total Hours

Learning Outcomes

By the end of the course, you'll be able to…

  1. Implement navigation and discoverability best practices for the web
  2. Create asynchronous bi-directional server-client communication
  3. Integrate an object storage service to store external resources
  4. Build out advanced features - such as payment transactions and automatic emails - using APIs

Schedule

Course Dates: Monday, March 29 – Wednesday, May 12, 2021 (7 weeks)
Class Times: Monday, Wednesday at 9:30am – 12:15PM (13 class sessions)

Class Date Topics
1 Mon, Mar 29 Pagination & Search
- Wed, Mar 31 No Class - Cesar Chavez
2 Mon, Apr 5 Sending Emails
3 Wed, Apr 7 Payment Gateways
4 Mon, Apr 12 Introduction to Amazon S3
5 Wed, Apr 14 Getting Started with Serverless
6 Mon, Apr 19 Serverless Architecture
7 Wed, Apr 21 Serverless IRL + Guest Speaker (Slides)
🎀 James Beswick (Sr. Developer Advocate @ AWS)
8 Mon, Apr 26 Intro to WebSockets / Make Chat
9 Wed, Apr 28 Working With WebSockets
10 Mon, May 3 Building and Deploying a Node Module
11 Wed, May 5 Awesome Automations + Lab Time
12 Mon, May 10 Lab Day
13 Wed, May 12 Final Presentations

Class Assignments

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.

Tutorials

To access each tutorial, click the bold links below. Be sure to complete the exercise in your browser and follow each instruction carefully.

Name Description Due Date
Pete's Pets Add common features to improve an existing codebase. Due 04/14 @ 11:59PM
Make Chat Create your very own live messaging application! Due 05/10 @ 11:59PM

PLEASE NOTE: All tutorials and projects require a minimum of 10 commits, and must take place throughout the time allotted for the project's completion, not just at the end. Failure to include more than 10 commits will lead to not getting credit for the project and having to redo it.

Challenges

Name More Info Due Date
Challenge 1: Choose Your Own Serverless Adventure Instructions Due 04/26 @ 11:59PM
Challenge 2: Mini Websocket App Instructions Due 05/07 @ 11:59PM
Challenge 3: Node Module Instructions Due 05/12 @ 11:59PM

Final Presentation

The delivery of a live or pre-recorded presentation is required to pass this course. Presentations will be delivered on Wednesday, December 9th on our final day of class.

Your three to five minute presentation should focus on the experience you gained and lessons you learned while implementing one of the three Challenges in this course.

Your final presentation will be evaluated based on the Make School Presentation Rubric. You must earn an average of 2.5 on the rubric to pass.

Late Assignment Policy

  • 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.

Evaluation

To pass this course you must meet the following requirements:

Information Resources

Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below:

Make School Course Policies

bew-2.1-advanced-web-patterns's People

Contributors

ajbraus avatar droxey avatar ibirnam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bew-2.1-advanced-web-patterns's Issues

Learning Objective Suggestions

Suggestions below for the LOs, Let me know if you'd like to discuss

Rename "Learning Objectives or Competencies" to just "Learning Objectives"

Students by the end of the course will be able to ...

  1. Implement a Simple Search
  2. Paginate a collection
  3. Send emails Explain how sending emails works under the hood, and how to send them
  4. Upload images to AWS S3 buckets and associate the images with a resource using s3-uploader
  5. Implement websockets for asynchronous bi-directional server-client communication using socket.io
  6. Edit existing npm modules and develop their own
  7. Compare and contrast strictly and dynamically typed implementations of JavaScript
  8. Typescript & Flow (Strict Typing) Explain and utilize Typescript & Flow (Strict Typing)
  9. Node.js Modules Under the Hood Understand Node.js Modules under the hood

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.