CSc 337: Course Schedule

Below is the complete lecture and section schedule. A Green day indicates that the emphasis will be on client-side development. A Blue indicates the emphasis will be on server-side development (or server + client). A Teal indicates the emphasis will be on a blend of client and server, or an “other” topic, such as networking, security, performance, etc. A Red day indicates an exam or other important assessment. The Topic for each day indicates the topic that the video due that day will be related to. The Prep for each day indicates the work you need to have completed BEFORE watching the video due that day.

NOTE: This is subject to change. Please visit schedule regularly.

Tuesday Thursday Deadlines
8/24/2023
Topic: Course introduction Web browsers, HTTP, GET and POST
Prep: The Other Road Ahead
and How the web works
Optional Material: Low-level networking background (video series)
Slides
Slides
8/24/2023
Topic: HyperText Markup Language (HTML)
Prep: What is HTML?
W3 HTML Overview
Slides
8/29/2023
Topic: Cascading Style Sheets: Basics and layout
Prep: CSS
and Learn Layout
Slides
Slides
8/31/2023
Topic: HTML Forms and attributes
Prep: Your first HTML form
Slides
PA 1 due (Friday)
9/5/2023
Topic:More HTTP / HTTPS, Query string, Get vs POST, forms
Prep: GET vs POST
Slides
Slides
studio.zip
9/7/2023
Topic: Intro to Javascript
Prep: Js Overview which is a part of This article set
and Js Reference (you don't have to read all of it, just for reference)
Slides
PA 2 due (Friday)
9/12/2023
Topic: Document-Object Model (DOM)
Prep: Intro to the DOM
Slides
9/14/2023
Topic: DOM + Event-Driven Programming, Javascript
Prep: Manipulate the DOM
Slides
guitar_world.zip
PA 3 due (Friday)
9/19/2023
Topic: DOM + Event-Driven Programming, Lambda, Higher-Order functions
Prep: Higher-Order functions
Slides
9/21/2023
Topic: Client-Server model, Nodejs intro
Prep: Client-Server Wiki and
About Node and
Node and NPM install/run tutorial
and A great gread node guide and
Node Event Loop and
Node install for Mac
Node install for Windows
Slides
Slides
thesaurus.js
9/26/2023
Topic: Node, DigitalOcean
Prep: NodeJs and DigitalOcean video
Slides
9/28/2023
EXAM 1
PA 4 due (Monday)
10/3/2023
Topic: Nodejs + Express
Prep: Node and Express
and Prep: Express and Digital Ocean
and Callbacks and
thesaurus2.js
Slides
10/5/2023
Topic: Nodejs + Express + Static Files
Slides
PA 5 due (Friday)
10/10/2023
Topic: AJAX and Promises
Prep: AJAX and
Promises and
Using Promises and
Promises and
Fetch API
Slides
random.zip
10/12/2023
Topic: Event Loop, Callbacks
Prep: Event Loop and Promoses and
Event Loop (MDN)
Slides
10/17/2023
Topic: Databases, DBMSs, MongoDB
Prep: Intro to MongoDB
Prep: Mongoose
Slides
memekerDB.zip
10/19/2023
Topic: MongoDB + Nodejs + Express
Prep: MEAN
and Express+Mongo Tutorial
and Create an app with Mongo
and Install and start MongoDB Ubuntu
Slides
memekerDB2.zip
PA 6 due (Monday)
10/24/2023
Topic: JSON
Prep: JSON
Slides
memekerDB3.zip
10/26/2023
Topic: User Accounts
Slides
resp.zip
PA 7 due (Monday)
Team Due (Friday)
10/31/2023
Topic: Sessions, Cookies
Prep: MVC Overview
resp2.zip
11/2/2023
Exam 2
PA 8 due (Monday)
11/7/2023
Topic: Login security, salting, hashing
Prep: Web Security
Prep: Cookies
Prep: SHA Hashing
resp3.zip
11/9/2021
Topic: Cross-Site Scripting, other security issues
Prep: MongoDB Injection
and XSS
xss.zip
injection.zip
Slides
Slides
Final Project Document due (Wednesday)
PA 9 due (Wednesday)
11/14/2023
Topic: MERN, React
Prep: Stacks
Prep: LAMP vs MEAN and
Prep: React
Slides
11/16/2023
Topic: MERN, React
Slides
testreact.zip
11/21/2023
Project Checkins (in class)
11/23/2023
THANKSGIVING - NO CLASS
Final Project Progress Report due (Tuesday)
11/28/2023
Topic: DNS, server setup, HTTP, CAs
Prep: Node, HTTPS, LetsEncrypt and
Prep: Another HTTPS Tutorial
and Prep: HTTPS video
Prep: DNS (Cloudflare) and DNS (Wikipedia)
and Setup domain
Slides
Slides
11/30/2021
Topic: Lecture given by Samantha
d3_starter_code.zip
Slides
12/5/2021
Topic: Wrap-up
Slides
Final Project Due (Wednesday)

This schedule and the deadlines are subject to change.