Schedule
An outline of what we're going to cover in 12 weeks, as well as assignment and project deadlines.
1
Intro to Web Dev, HTML/CSS
Week of January 09An introduction to web development and its evolution; How to succeed in this course; A quick (re)introduction to HTML and CSS - how to create nice layouts.
2
Javascript
Week of January 16Learn how to programatically manipulate the Document Object Model (DOM) through Javascript; common coding practices when working with the language; limitations of Javascript running in the browser.
Assignment Due Date: January 30, 2023
3
Web API
Week of January 23Create elegant RESTful Application Programming Interfaces (API) with Express.js; Breaking down the HTTP request; Using Javascript to make HTTP requests on the browser without reloading.
4
Storing Data
Week of January 30Determine the best way of storing application data; Storing and serving images; Using ORMs in backend code; Learn the different methods of pagination and how to properly paginate in the backend; Solving the N+1 problem.
Assignment Due Date: February 13, 2023
Project Proposal Due Date: February 17, 2023
5
Authentication and Authorization
Week of February 06Protect views from unauthorized individuals; A deep dive into the Open Authorization (OAuth) protocol; Learn the differences between authentication and authorization.
6
Javascript Event Loop & Frontend Frameworks
Week of February 13An introduction to the Javascript event loop and how to debounce in Javascript using setTimeout. Learn how to use a frontend framework (Angular) to build a web application.
Assignment Due Date: February 26, 2023
7
Reading Week
Week of February 208
Real-time web applications and integrating with external services
Week of February 27Technologies to enable real-time features on a web application; integrating with external services through using their API and consuming webhooks.
9
Web Application Security
Week of March 06A demonstration of common exploits of the web, such as XSS, CSRF, SQL Injection, etc. How to protect a web application from these attacks.
Project Alpha Version Due Date: March 08, 2023
10
Intro to Deployments
Week of March 13Learn how to deploy a web application to the internet through the use of a Virtual Machine (VM) and Docker; Best practices on deployment architecture.
11
Large Scale web applications
Week of March 20This lecture will go over strategies of maintaining large scale web applications; such as implementing a web caching layer, database migrations, etc. Samuel Zhou, a Team Lead at Verto Health, will also be giving a Guest Lecture on this topic.
Project Beta Version Due Date: March 22, 2023
12
Guest Lectures - Intro to Chrome Devtools
Week of March 27Intro to Chrome Devtools by Aleksander Bodurri, Core Contributor at Angular.
Project Presentation Due Date: March 31, 2023
13
Exam Review and Final Presentations
Week of April 03A summary of what was covered in the past 11-weeks; showcasing the best web application projects developed in this course.
Project Final Version Due Date: April 03, 2023