/ACS-3210-Advanced-Web-Patterns

πŸ‘©β€πŸ’» Build any web application by learning common patterns for web development like search, pagination, file uploading, and sending email/texts! Later modules introduce advanced web development techniques including serverless architectures and websockets.

Primary LanguageHTMLMIT LicenseMIT

ACS 3210: Advanced Web Patterns

Table of Contents

  1. Course Description
  2. Prerequisites
  3. Course Specifics
  4. Learning Outcomes
  5. Schedule
  6. Class Assignments
    1. Tutorials
    2. Challenges
    3. Capstone Project
  7. Late Assignment Policy
  8. Evaluation

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: Tuesday, August 24 – Thursday, October 7, 2021
Class Times: Tuesday, Thursday at 4:00pm to 5:30pm

Class Topics
1 Course Overview / Pagination
2 Search
3 Introduction to Amazon S3
4 Payment Gateways
5 Sending Emails
6 Getting Started with Serverless
7 Serverless Architecture
8 Serverless IRL + Guest Speaker (Slides)
🎀 James Beswick (Sr. Developer Advocate @ AWS)
9 Intro to WebSockets
10 Working With WebSockets
11 Lab Time: Make Chat
12 Building and Deploying a Node Module
13 Lab Time
14 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.

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
Pete's Pets Add common features to improve an existing codebase.
Make Chat Create your very own live messaging application!

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 Team Size More Info
Challenge 1: Serverless REST API 2 Instructions
Challenge 2: Start Strong with SocketIO 1 Instructions
Challenge 3: New Modules Now with NPM 1 Instructions

Capstone Project

Name Team Size More Info Rubric
Repository: Capstone Project 4 Instructions -
Presentation: Capstone Project 4 Instructions Rubric

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 Friday, October 8th 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: