San Jose State University : Site Name


Main Content

Working in Mars Mission Control, JPL

Ronald Mak

Department of Computer Science
Spring Semester 2018

Office hours: TuTh: 3:00-4:00 PM
Office location: ENG 250
Mission Control, Jet Propulsion Laboratory (JPL)
NASA Mars Exploration Rover Mission

CS 174-02: Server-Side Web Programming

Section 3: TuTh 9:00 - 10:15 AM, room MH 233


# Assigned Due Assignment
1 Feb 1 Feb 12 Functional Specification and Prototype

Use case form: UseCaseForm.docx
Formal report rubrics: FormalReportRubrics.pdf


Date Content
Jan 24 Slides: Course learning outcomes; topics; project teams; postmortem report; grading; client-server web apps; basic "naked" HTML; HTML page template; headings and paragraphs; lists; tables

Example basic HTML files: paragraphs.html   lists.html   tables.html   links.html   images.html   cats.html
Example image files: RonCats1a.jpg   RonCats1a.jpg   RonCats1a.jpg   RonCats1a.jpg
Jan 29 Slides: Model-view-controller (MVC); routes; HTTP methods; serving web pages; node.js; Express; form data; GET and POST; three-tier web app; Express hello world app;

Example Express program:
Hello, World: package.json   app.js   index.js   main.js  
Jan 31 Slides: Express form examples: text fields, checkboxes, radio buttons, menu; requirements elicitation; functional and nonfunctional; requirements of requirements; how to get requirements; use cases; use case descriptions; Functional Specification; Assignment #1

Example Express program:
Form Examples: package.json   app.js   index.js   main.js   index.html   text.html   checkbox.html   radio.html   select.html
Feb 5 Slides: Link to a CSS style sheet; style rules; style colors; element classes; class selectors; element IDs; ID selectors; grouping selectors; selection by context; first or last child; first letter or line; select links; select based on attributes; ; cascade; embedded style sheet; inline styles;

Example CSS style sheets: paragraphs1.html   css/mystyles1.css   paragraphs2.html   css/mystyles2.css   paragraphs3.html   css/mystyles3.css   links.html   css/linkstyles.css  
Feb 7 Slides: Formatting text; font family, style, weight, size, line height; variants; combining font values; line and letter spacing; text alignment, indentation; transformation; controlling element display; box model; borders; padding; margins; floating elements; relative positioning; absolute positioning; vertical alignment; HTML container elements; ARIA Landmark roles; page layout example

Example page layout: index.html   css/lejournal.css   img/about-me.jpg   img/gettyvilla.jpg   img/logo.jpg   img/map.png   img/victoria.jpg
Feb 12 Slides: Three-tier web architecture; install XAMPP; database system architecture; data models: conceptual, logical, physical; front-end application development; install ERDPlus;entities and attributes; ER diagrams; relationships; cardinalities: 1:1, 1:M, M:N, exact; weak entities; logical database model; relational tables; primary key; mapping entities; entity integrity constraint
Feb 14 Slides: Foreign keys; mapping 1:M, M:N, 1:1 relationships; referential integrity constraint; mapping example #1; mapping candidate keys, multivalued attributes, derived attributes; mapping example #2; mapping unary relationships, multiple relationships, weak entities; mapping example #3; phpMyAdmin; set the root password; edit; add a new database user; create a table; insert data; MySQL command line; PHP Data Objects (PDO); simple end-to-end web application

Simple end-to-end web application: index.html   queryDB.php
Feb 19 Slides: PHP syntax; variables; strings; heredocs; string operations; constants; arrays; indexed arrays; associative arrays; looping over array elements; multidimensional arrays; functions; scope; PHP Data Objects (PDO); PDO example; PHP query() vs. exec(); table join with PHP; SQL injection attack; PHP prepared statements;

Example PHP features: strings.php   heredoc.php   indexedarray.php   assocarray.php   multiarray.php
Example SQL injection attack: teacher1.html   teacher1.php
Example PHP prepared statement: teacher2.html   teacher2.php