Tentative schedule for CIS 371

Week Date Topics Reading Milestones
1 Mon. 6 Jan. Introduction (notes)
Proficiency-Based Grading
Basics of Networking (notes)
General Introduction Video
Proficiency Grading
Original WWW Proposal
Assign Homework 0: First Day Questions
Assign Project : Project Description
Assign Project : Semester Project
Wed. 8 Jan. Key ideas of the Original WWW (notes)
Web Predictions from 1994
Formal WWW article in the ACM magazine
1994 ACM Article
Due Reading 1: WWW History and Basics
Due Homework 0: First Day Questions
Fri. 10 Jan. Web Predictions from 1994
Parts of a URL (notes)
HTTP Basics
Basic web client operation (notes)
1994 ACM Article
URI vs URL
HTTP: The protocol Ever Web Developer Must Know
Sample Client Code
Assign Homework 1: Explore HTTP
2 Mon. 13 Jan. More HTTP (notes) HTTP: The protocol Ever Web Developer Must Know
Wed. 15 Jan. HTML (notes) Textbook, Chapter 3
HTML Tutorial
Fri. 17 Jan. HTTP Server
Quiz 1(O, I2)
Sample Server Code
Video walk-through of sample code
Assign Homework 2: Web Server
Due Homework 1: Explore HTTP
3 Mon. 20 Jan. No Class
Wed. 22 Jan. HTML
CSS (slides)
Quiz 2(O, I2)
 
CSS Tutorial
Textbook Chapter 4
Textbook Chapter 6
Assign Homework 3: Wordle Part 1 (HTML / CSS)
Assign In-Class 1: CSS
Fri. 24 Jan. HTML/CSS
Quiz 2(O, I2)
Textbook Chapter 7 Work through CSS Diner
Work through CSS Diner
Work through Flexbox Froggy
4 Mon. 27 Jan. Dynamic HTTP Server (notes)
User Input to Dynamic Web pages
Query Strings
Get vs. Post
Wed. 29 Jan. User Input to Dynamic Web pages
Get vs. Post
Fri. 31 Jan. Frameworks / Templating (notes) CGI
Examples
Assign Homework 4: Wordle Part 2 (Templating)
5 Mon. 3 Feb. Dynamic servers (routing and parameters)
Frameworks / Templating (notes)
Due Project : Project Description
Wed. 5 Feb. Frameworks / Templating (notes)
Quiz 3(hc6, I1)
Fri. 7 Feb. ExpressJS (notes)
HTML Forms (notes)
Sample Code
Express
Due Homework 3: Wordle Part 1 (HTML / CSS)
Due Homework 2: Web Server
6 Mon. 10 Feb. Express and MVC (notes) Sample Code Assign Homework 5: Express (Part 1)
Wed. 12 Feb. Real database access
Callbacks (notes)
Promises (notes)
Quiz 4(hc4)
 
Sample Code
Sample Code
Fri. 14 Feb. Promises (notes) Sample Code Due Homework 4: Wordle Part 2 (Templating)
7 Mon. 17 Feb. Promises (notes)
Cookies and Sessions (notes)
Sample Code
Sample Code
Assign Homework 6: Express (Part 2)
Wed. 19 Feb. Sessions
Routing
Quiz 5(h3)
Sample Code
Sample Code
Fri. 21 Feb. Client Side JavaScript
DOM / DOM Manipulation (notes)
8 Mon. 24 Feb. "Flippy Triangles"
Client Side MVC Setup
JavaScript Spread operator (screencast)
Quiz 6(h4)
Sample Code Due Homework 5: Express (Part 1)
Assign Homework 7: Wordle Part 3 (MVC)
Wed. 26 Feb. Firestore
Fri. 28 Feb. Single Page Apps (notes) (screencast)
Creating Web Pages (screencast)
Introduction to JSX (screencast)
Banks and Porcello Chapter 1
Banks and Porcello Chapters 4 and 5
Due Homework 6: Express (Part 2)
9 Mon. 10 Mar. React Components and Props (screencast) Banks and Porcello Chapters 6, 7, and 8 Assign Homework 8: React (Part 1)
Wed. 12 Mar. Security (notes)
Code injection, CSRF
Quiz 7(c1, ss1)
Fri. 14 Mar. JavaScript Spread operator (screencast)
Using Closures to Save State (screencast)
Introduction to State (screencast)
Due Homework 7: Wordle Part 3 (MVC)
10 Mon. 17 Mar. More React State
Create/Update with React
controlled vs. uncontrolled components.
Banks and Porcello Chapters 6, 7, and 8 Assign Homework 9: React (Part 2)
Wed. 19 Mar. Fetching data from API Server
AJAX (notes)
API Only Server (notes)
Quiz 8(c1, ss1)
Due Homework 8: React (Part 1)
Fri. 21 Mar. React Routing (notes)
CORS (same-origin) issues
React Routing
React Routing
Assign Homework 10: React (Part 3)
11 Mon. 24 Mar. "Mobile First"
Bootstrap (notes)
 
W3Schools Reference
Assign Homework 11: Bootstrap
Due Homework 9: React (Part 2)
Wed. 26 Mar. SASS/SCSS (notes)
Quiz 9(c1, ss1)
SASS tutorial
Fri. 28 Mar. Jest (notes)
Mocking
Unit testing
Jest Assign Homework 12: Wordle Part 4 (Unit Testing)
12 Mon. 31 Mar. HTTP 2.0
Unit testing React (notes)
Quiz (Javascript)
HTTP 1 vs 2
React Testing Library
Due Homework 10: React (Part 3)
Wed. 2 Apr. end-to-end testing (Selenium, Cucumber, Cypress)
Quiz (Security)
 
Fri. 4 Apr. More on middleware Assign Practice Final
13 Mon. 7 Apr. end-to-end testing (Selenium, Cucumber, Cypress) Due Homework 11: Bootstrap
Wed. 9 Apr. HTTPS (notes)
Tailwind (notes)
HTTPS/TLS Handshakke
Fri. 11 Apr. TBD
14 Mon. 14 Apr. Quiz (Javascript) Due Project : Semester Project
Due Homework 12: Wordle Part 4 (Unit Testing)
Wed. 16 Apr. Project Demos
Fri. 18 Apr. Project Demos
15 Mon. 21 Apr. Final Exam 10:00 a.m. Due Project : Semester Project

Assignment List

Due Name Details
Wed. 8 Jan. Reading 1: WWW History and Basics
Wed. 8 Jan. Homework 0: First Day Questions
Fri. 17 Jan. Homework 1: Explore HTTP
Mon. 3 Feb. Project : Project Description One page description due
Fri. 7 Feb. Homework 2: Web Server
Fri. 7 Feb. Homework 3: Wordle Part 1 (HTML / CSS)
Fri. 14 Feb. Homework 4: Wordle Part 2 (Templating)
Mon. 24 Feb. Homework 5: Express (Part 1) (Part 1)
Fri. 28 Feb. Homework 6: Express (Part 2) (Part 2)
Fri. 14 Mar. Homework 7: Wordle Part 3 (MVC)
Wed. 19 Mar. Homework 8: React (Part 1) (Part 1)
Mon. 24 Mar. Homework 9: React (Part 2) (Part 2)
Mon. 31 Mar. Homework 10: React (Part 3) (Part 3)
Mon. 7 Apr. Homework 11: Bootstrap (Part 4)
Mon. 14 Apr. Homework 12: Wordle Part 4 (Unit Testing)
Mon. 21 Apr. Project : Semester Project

Labs

Date Name Details

Updated Sunday, 6 April 2025, 3:30 PM

W3c Validation