Home    Course Archive    Video/Audio Library     Papers Archive    CV    My Keeper Shelf    Cultural References in Class Quotes

smh: COSC 436/540 Web Programming (Back end)
WINTER 2017


0. Basics
  1. Required Textbook:
    Ullman, PHP and mySQL for Dynamic Web Sites: Visual QuickPro Guide (4th Edition), 978-0321784070, 2011.
  2. Syllabus

  3. Coding Standards (Keep it clean. Keep it readable. Keep it honest. Keep it simple.)
    Points will be subtracted for bad readability (use of white space, choice of variable names) as well as for lack of functionality and poor design.

  4. Office Hours: See instructor home page



1. Homework
Distributed Due Identifier /
Link
Precis
4/13 4/18 Make a simplified Doodle. There are six pre-established choices.
A user must supply his ID and his acceptance of 0 to 6 of the pre-established choices.
All users can see all other (previous) users' choices displayed as a separate row.
There is no authentication. The user supplies his name only to identify him. More than one user can have the same name.
A user cannot "take back" his choices.
Ajax will asynchronously update the backend's database of users and choices.
When a particular choice has a majority of users selecting it, the color (styling)
of the choice should change from the default color to a different color.
So as users make choices, the color of the choice can change from default to majority-color, back to default, etc.
You may set things up ahead of time in an xml datafile, a JSON data file, or a mysql table.

Demo, walk-thru and hardcopy.
4/11 4/13 Write HTML/Javascript with Ajax (client-side) and php/database (server-side) to output all records of any table in the database (your choice of table). On the displayed page, include all XMLHttpRequest object state change information whenever the object's onreadystatechange property changes. Include readyState, responseText (use a small table) and status. When the XMLHttpRequest object has status == 200, then output the table information on the displayed page.

Demo and code walk-thru. Turn in hardcopy of client-side and server-side code.
4/6 4/11 Use the Newspaper article DTD HERE as an external or internal DTD of an XML file.
Create a well-formed, valid XML data file that conforms to that DTD (comprising 2 newspaper articles)
Create style using XSL (external style sheet)
Demo: (1) output the XML data using just the browser (no styling)
(2) Output the XML data styling according to your style sheet
3/30 4/6 (Thursday) See hw0330
3/7 3/14 HW 0307: In groups of one or two, do the following:
If you are not confident in SQL:
(1)Turn in screen shot of successful results on the quizzes from "Tutorials: Learn SQL in Stages -- #1 - #9
(2)On Do the items with "problems" (there are 5) -- Your SQL should indicate that you understand the problem!
(3)On Do the items with "problems" (there are 3) -- Your SQL should indicate that you understand the problem!

If you are confident in SQL:
Do Guest_House Database -- the Easy and Medium Problems (give screen shot)
2/14 3/7/2017 Program 02/14 Using php include()
2/9 2/14/2017 2/16/2017 HW 02/09 php arrays: PHP Array Functions
1/26 2/2/2017 2/7/2017 HW 01/26 Order items in js and in php
1/24 1/26 Start in class, complete outside class as necessary
Assignment 01/24
Reading the http message info from Web Dev tools
1/12 1/19 Program -1/12 Scan and replace with user errors tolerated: HTML + CSS + Javascript
1/5 1/12 Program 01/05 Scan and replace: HTML + CSS + Javascript



2. Lectures
Date Topic Reading Notes
4/18 jQuery quick tour: https://www.w3schools.com/jquery/default.asp
4/13
    Ajax examples
  1. Navigate between the CDs and Show Album Information when click on CD
    cd catalog
  2. Live Search , with data here
  3. Ajax poll
4/11
    Ajax
  1. W3Schools AJAX XML Introduction
    Note: I like the picture HERE better, because it shows an interaction with the HTML DOM>
  2. w3schools XMLHttpRequest Object: methods and properties
  3. AJAX + Database -- but see link to php code for Database access
4/6 XML: w3 schools tutorial
Look at XML examples w3 schools XML examples
DTD w3 schools DTD tutorial
XML quiz: w3schools XML quiz
3/30 mysql + php (database connection, errors, INSERTScripts from chpt 9)
Zack's NewUserInsert.php
Zack's php_inClassExample_List.php
Ullman: chpt 9
3/28 B tree See a DECENT data structures book Do Ullman: Scripts 9.1, 9.2
3/7 (1)Intro to the http://sqlzoo.net site for learning SQL
(2) Intro to Entity Relationship diagram (using UML)
Do the SQL tutorial at http://sqlzoo.net/
    Do all sections:
  • 1. SELECT
  • 2. CREATE and DROP
  • 3. INSERT and DELETE
  • 4. DATE and TIME
  • 5. Functions
  • 6. Users
  • 7. Meta Data
  • 8. SQL Hacks
Pay special attention the #8 SQL Hacks
Look ahead at Assessments: More involved examples for confident users
3/2 SELECT
2/28 Beginning SQL and relational database. Intro to Relational Algebra SQL SELECT
Sample RDB tables
relational algebra versus SQL
2/16 PHP form validation and security measures w3schools PHP Forms tutorial
2/14 Including files: Go here Ullman Section 3.1
2/9 arrays: indexed and associative
superglobals
2/7 Zack's intro to CRUD with code walk-thru
1/31 A rapid lope through elementary PHP stuff:
variables
string methods
arrays: indexed and associative
superglobals
This is due Tuesday at class 2/7 (Tuesday)
(1) Create a copy of report.html into a file named report.php
(2) Modify your report.php, giving php code in the file to mimic what is accomplished HERE in the section labeled PHP $_REQUEST
The form itself is in a php file (report.php), and the php processing works on the form in report.php. You will use the whenithappened text field to test for empty (not fname).
(3) Repeat (2), create a new report2.html (which is a copy of report.html and create a new report2.php, which tests for the empty 'whenithappened' field.

Turn in a piece of paper that has your name, the URL where these three files can be found, AND your emich login id (NOT password).
1/26 Beginning PHP See here: Samples for 1/26 and W3schools PHP tutorial
GET versus POST in html forms
1/24 Continuation of http
1/10 RegExp methods, String methods
Complicated regular expression syntax
1/5 Orientation, DOM Lecture slides for chapter 3 (HTML).
Lecture slides for chapter 4 (javascript).
Lecture slides for chapter 5 (html & javascript)
Lecture slides for chapter 6 (dynamic html via javascript)



Final:
Final #10 -- make the change Using the AJAX code!
Final exam (docx)      Final exam (pdf)

Resources

Last changed: