1 Assignments (Fall 2020)
2 Working Schedule and Lectures (Fall 2020)
This schedule will be updated as the course progresses.
3 Lectures Slides by Category
Notes: Lecture slides are produced using Pandoc and reveal.js from instructors Markdown files. Lecture slides will be updated prior to scheduled delivery date per working schedule. Not all slides are used in all classes.
Course IntrosCS351Overview: dependencies:. covers: course objectives and topics, course procedures, course syllabus. CS651Overview: dependencies:. covers: course objectives and topics, course procedures, course syllabus.
personalGit: dependencies:. covers: Git for personal projects and class.
Markdown: dependencies:. covers basics of Markdown.
HTML & SVG
HTML1: dependencies:. covers: Markup languages in general, HTML5 tags and attributes, the id and class attributes, the head, text fundamentals (including lists), hyper links, document structure.
CSS1: dependencies: HTML1. covers: How CSS works, CSS Syntax, Selectors Introduction, Simple Selectors, Combinators. notes: make sure all examples are available for download as well as copy to clipboard.
CSS4: dependencies: CSS1. covers: Pseudo-classes, pseudo-elements, Attribute Selectors, CSS values and units, Styling Lists, Styling Links. notes: check if pseudo selector stuff is in CSS1 and whether it should be moved out. Move CSS values to a separate set with more on sizing?
MediaQueries: dependencies: CSSBox. covers: Media queries in general and CSS media queries. notes: General coverage of “media” not particularly applied, either improve or remove. Add my “syllabus” TOC sidebar example.
NetworkIntro: dependencies:. covers: multiplexing, packet switching, link layer (ethernet), network layer, IP, IP addresses, transport layer, DNS.
URLS: dependencies:. covers: all the parts of a URL.
HTTPIntro: dependencies: NetworkIntro. covers: HTTP protocol, HTTP requests, HTTP responses, proxies, requests in code. notes: requests in code section uses out of date version of requests library; check how its proxy section compares to separate proxy slides.
Servers Side: Express & Requests
ExpressAndTemplates: dependencies: TemplatesNunjucks, WebFrameworksExpress. covers: Classic server side rendering with templates, using Nunjucks with express, website example. notes: get examples linked to slides.
ExpressSessions: dependencies: sessionManagement, ExpressForms. covers: Use of express-session library to implement multi-user website with password authentication; Example of a template based server rendered site.
securityOverview: dependencies:. covers: Web security basics, access control, AAA, threats. notes: last section is specifically aimed at CS651.
Interactivity: dependencies: ClassComponents. covers: more complex interactivity with React; demonstrates state array update approach applied to real GUI, illustrates another “this” issue and its fix.
4 Miscellaneous Materials
Here you will find links to various course materials and such. This page will be updated frequently during the course.
4.1 Static Deployment Environment
For deploying our static website we will be using the departments Linux server: csweb01.csueastbay.edu.
Each student has an login/account corresponding that corresponds to their student ID. Suppose your student ID is abc123 then your login on the server would be abc123@ad. Your password is your university password.
Remote Login To remotely login to you account you use software that provides a command line like interface and uses the secure shell protocol. On a system with OpenSSH client software installed you can login using the following command in a terminal window:
ssh csweb01.csueastbay.edu -l abc123@ad
Where you need to substitute your student ID for abc123.
On Windows machines another popular option is the Putty.
To make use of the hosting service provided by the CS department we need to be able to transfer files from the machine that you are developing on to you account on the server. We will use the SSH File Transfer Protocol (SFTP). There is a command line client,
sftp, available from OpenSSH. However there are many GUI based clients that are much easier to work with such as FileZilla (multi-platform) and WinSCP (Windows only).
You will want to upload you site files to the
public html directory in your account.
Making HTTP Requests
You can then point your browser to
http://csweb01.csueastbay.edu/~abc123/SomeFile.html. Where you substitute you student ID for abc123 and the name/path to your file for SomeFile.html.