1.
Course Overview
1.1.
Live Classes
1.2.
Assessments
1.3.
Getting Help
1.4.
Giving Help
1.5.
Academic Integrity
1.6.
Course Tools
1.7.
Core Reading
1.8.
Supplemental Reading
2.
Web Applications
2.1.
What are web apps?
2.2.
Intro to Flask
2.3.
Deploying apps
2.4.
URLs
2.5.
Routing in Flask
2.6.
Query VS URL params
2.7.
Web app architecture
2.8.
Week 1 Practice - Web Applications
2.9.
Week 1 Assignment - Web App Tour
3.
Templating
3.1.
What are templates?
3.2.
Shared templates
3.3.
Static files
3.4.
Week 2 Practice - Templating
3.5.
Week 2 Assignment - Number Guessing Game
3.6.
Bonus: Third-party code
4.
Databases
4.1.
Relational DBs
4.2.
Setting up a SQLite database
4.3.
Querying
4.4.
Selecting and filtering
4.5.
Limit and Order
4.6.
Database Management
4.7.
Flask and SQL
4.8.
Week 3 Practice - Databases
4.9.
Midterm Project
4.10.
Bonus: Migrations and Seeding
5.
Forms
5.1.
HTML Forms
5.2.
Form Data
5.3.
INSERT, UPDATE, and DELETE
5.4.
Parsing and Validation
5.5.
Client-side Validation
5.6.
Server-side Validation
5.7.
Styling Forms
5.8.
BONUS: Accessibility
5.9.
BONUS: SQL Injection
5.10.
BONUS: Database constraints
6.
Data Modeling
6.1.
Table relations
6.2.
Foreign Keys
6.3.
One-to-one relationships
6.4.
One-to-many relationships
6.5.
Many-to-many relationships
6.6.
Entity-Relationship Diagrams
6.7.
Joins
6.8.
Week 5 Practice - Data Modeling
6.9.
Week 5 Assignment - Guestbook
6.10.
Bonus: Tables normalization
6.11.
Bonus: Database constraints
6.12.
Bonus: N+1 queries
6.13.
Bonus: Database performance
7.
More web frameworks
7.1.
Intro to express
7.2.
Express vs Flask
7.3.
Deploying express apps
7.4.
Express templates
7.5.
Express forms
7.6.
Express and SQL
7.7.
Other web frameworks
7.8.
Week 6 Assignment - Guestbook in express
8.
ORMs
8.1.
What is an ORM?
8.2.
Prisma as ORM
8.3.
CRUD Operations with Prisma
8.4.
Week 7 Assignment - Book Review System
8.5.
Bonus: More ORMs
9.
APIs
9.1.
API Basics
9.2.
Creating APIs
9.3.
REST and CRUD
9.4.
External services
9.5.
Documentation
9.6.
API Authentication
9.7.
Testing APIs
9.8.
Week 8 Practice - APIs
9.9.
Week 8 Assignment - Product Info
10.
Auth
10.1.
Auth flows
10.2.
Authentication
10.3.
Authorization
10.4.
Week 9 Practice - Auth
10.5.
Final Project
10.6.
Bonus: Cookies and Sessions
10.7.
Bonus: Cryptography
11.
Real Web Apps
11.1.
Dealing with Reality
11.2.
Exploring Real Web Apps
11.3.
What is next: Frontend
11.4.
Week 10 Practice - Case Study
Light
Rust
Coal
Navy
Ayu
Web Application Development
Supplemental Reading
Please review this material throughout the course.
The Chang School (2019),
Web Accessibility for Developers