Schedule
1
Mobile-first HTML/CSS
Week of May 8
A comprehensive introduction to full-stack development, strategies for excelling in this course, and foundational skills for building mobile-first frontends using HTML and CSS with the 12-column layout.
2
Interactive frontends with Javascript
Week of May 15
Learn to programmatically manipulate the Document Object Model (DOM) using JavaScript in the browser, structure frontends effectively with the MVVM pattern, and manage state declaratively using a React-like library with `useEffect` and `useState`.
3
Building Standard Web APIs
Week of May 22
Explore the fundamentals of client-server architecture by building a RESTful API with Express.js. Learn to structure APIs following standard practices, break down HTTP requests, and use JavaScript to interact with the server from the browser.
4
Storing and Serving Data
Week of May 29
Explore effective strategies for storing application data, including techniques for storing and serving images. Gain insights into leveraging Object-Relational Mapping (ORM) libraries in backend development. Master various pagination methods and learn how to implement efficient backend pagination. Understand the N+1 query problem in databases and discover practical solutions to address it.
5
Web Authentication and Authorization
Week of June 5
Implementing a secure web based login system; Protect views from unauthorized individuals; A deep dive into the Open Authorization v2 (OAuth2) protocol; Learn the differences between authentication and authorization.
6
Real-time web applications
Week of June 12
Explore how to enable real-time capabilities in web applications, including text, audio, video, and screen sharing. Learn to handle real-time updates from third-party services effectively using webhooks.
8
Task Queues and Deployments
Week of June 26
Processing long running tasks with task queues independent of a backend. Deploying a web application with a domain name to the internet through the use of a Virtual Machine and Docker; Best practices on deployment architecture.
9
Web Application Security
Week of July 3
A demonstration of common exploits of the web, such as XSS, CSRF, SQL Injection, etc. How to protect a web application from these attacks.
10
Scaling Web Applications
Week of July 10
Scaling a web application to scale to millions of users with horizontal and vertical scaling; perform application caching to speed up requests and reduce server load; retrying failed requests; Four golden signals of monitoring.
11
Advanced Web Development
Week of July 17
Understanding the Javascript event loop, web workers, service workers, Push API and testing web applications.
12
Guest Lecture (TBD)
Week of July 24
Guest Lecture (TBD)
13
Exam Review and Final Presentations
Week of July 31
A summary of what was covered in the past 11-weeks; showcasing the best web application projects developed in this course.