CPET 499/ITC 250 Web Systems

Fall  2018


Lectures
Example Codes (Listings and Figures) from the Text Book
Fundamentals of Web Development, 2nd Edition
by Randy Connolly and Ricardo Hoar, Publisher: Pearson

Student Resources - Companion Web Site of the Text Book: Fundamentals of Web Development

GitHub: https://github.com/rconnolly/funwebdev-2nd-codelistings
CodePen: https://codepen.io/randyc9999/collections/public

Week  No
Topics/Activities
1
8/21 - Overview of the Web System course [Echo 360 Recorded Lecture available]
*Lecture Note # 1 - Overview of the course, Discussion of Systms,  Systms, an Overview of Web systems [Echo 360 Recorded Lecture available]
** HotWeb 2017, Oct. 14, 2017, 5th ACM/IEEE Workshop on the Hot Topics in Web Systems and Technologies, San Jose, CA 2017: Areas of Interest include Web of Things (Internet of Things), Applications, Caching and replication, Crowdsourcing Systems and Social Media, Data mining and analytics, Ecommerce and monetization, Infrastructure (Datacenters, Content Networks and Cloud Computing), Internet Telephony, Measurement studies of deployed systems, Mobility and pervasive Web, Multimedia content distribution, Security and privacy, Social networks and graph analysis, Searching and Information Retrieval, and Web/Database integration.
8/23 [Echo 360 Recorded Lecture available]
* *Lecture Note # 1 - Overview of the course, Discussion of Systms,  Systms, an Overview of Web systems(continue ...)
* TCP/IP RFCs (Request for Comments - Standards) - Internet Engineering Task Force (IETF), https://www.ietf.org/
2 8/28 [Echo 360 Recorded Lecture available]
**Lecture Note # 1 - Overview of the course, Discussion of Systms, an Overview of Web systems (continue ...)
* Apache Web Server
* Data Centers
*** Microsoft Azure Data Center Tour, May 11, 2018, https://www.youtube.com/watch?v=jRYKRMW9SaQ 
*** Azure Data Ceneters, https://azure.microsoft.com/en-us/overview/datacenters/
*** Microsoft’s Underwater Data Centers, 0:56 min, 2016/11/6, https://www.youtube.com/watch?v=bCQszPncF4s
*** Google Datacenter 360⁰ – at Oregon, 8:29 min, Mar 23, 2016, https://www.youtube.com/watch?v=zDAYZU4A3w0
*** Tour Oracle’s State of Art Data Centers, 3:24 min, Jan. 11, 2017,  https://www.youtube.com/watch?v=f4RBs43G17g

* Chapter 1. Introduction to Web Development, PPT slide
Jobs and Companies in Web System Development:
Lecture 2. Web System Infrastructure and Protocols, and Applications, Lecture Note 2
8/30 [Echo 360 Recorded Lecture available]
* Hw 1 overview and discussion
** Windows Command Window with TCP/IP commands
** Cygwin (Linux functionality on Windows) -- Optional
** ECET Lab Report Guideline, http://www.etcs.ipfw.edu/~lin/InfoForAllCourses/laboratoryreport.htm
Lecture 2. Web System Infrastructure and Protocols, and Applications, Lecture Note 2
Chapter 2. How the Web Works, PPT slide
**Protocols: HTTP (HyperText Transfer Protocols), Request Methods, Response Codes,
**Domain name system, Web Broswer, Web Server, Database, Software, etc
3 9/4 [Echo 360 Recorded Lecture available]
Lecture 2. Web System Infrastructure and Protocols, and Applications, Lecture Note 2
Chapter 2. How the Web Works, PPT slide
**Protocols: HTTP (HyperText Transfer Protocols), Request Methods, Response Codes,
**Domain name system, Web Broswer, Web Server, Database, Software, etc

Lecture 3 Introduction to HTML, Web Browsers and Servers, Lecture Note 3
HTML Editors, https://en.wikipedia.org/wiki/HTML_editor
* Microsoft Expression Web 4 (free version), https://www.microsoft.com/en-us/download/details.aspx?id=36179 
* Adobe Dreamweaver, • CoffeeCup, https://www.coffeecup.com/html-editor/,  Notepad
*  NotePad++, https://notepad-plus-plus.org/ 

9/6 [Echo 360 Recorded Lecture available]
Lecture 3 Introduction to HTML, Web Browsers and Servers, Lecture Note 3
Building Web Applications with HTML - an E-Book, 2002, by Prof. Paul Lin
*** 1. Programming Languages for Web Applications
*** 2. Web Page Design and Web Site
*** 3. Hypertext Markup Language Basics
Chapter 3 Example Codes, Figures, and Projects

HW 2 Assignment TBA after the lecture
4 9/11
Tuesday Class canceled
Quiz 1 (covering Ch 1 and Ch 2) online thorugh Blackboard Learn from 3 PM to 10 PM, Tuesday, Sept. 11

9/13
Building Web Applications with HTML - an E-Book, 2002, by Prof. Paul Lin
*** 1. Programming Languages for Web Applications
*** 2. Web Page Design and Web Site
*** 3. Hypertext Markup Language Basics
*** 5. Creating HTML Forms
Text Book. Chapter 5 HTML Tables and Forms
** HTML Forms Lecture 4 Note, PDF, HTML

5 9/18
Chapter 4 Introduction to CSS (Casecasding Style Sheets), PPT slide
9/20
Chapter 5. HTML Tables and Forms (continue), PPT slide
6 9/25
**Announcement: Quiz 2 (covering Chapters 3, 4; Chapter  5: sections 5.1 to 5.3) online thorugh Blackboard Learn from 4:30 PM to 10 PM, Thursday, Sept. 27
**Chapter 5. HTML Tables and Forms (continue), PPT slide
***XAMPP Installation, Configuration, and Trouble Shooting, Lecture note
*** Apache Configuration, Lecture note
**Chapter 22 Web Server Administration and Virtualization

*** 22.4 Linux Appache Configuration, pp. 1049-1058
9/27
**Announcement: Quiz 2 (covering Chapters 3, 4; Chapter  5: sections 5.1 to 5.3) online thorugh Blackboard Learn from 4:30 PM to 10 PM, Thursday, Sept. 27
** Chapter 8 JavaScript 1: Language Fundamentals, PPT slide

7 10/2
**Announcement: Makeup Quiz 2 from 1:00 PM, Tuesday, Oct. 2 to 1:00 PM, Thursday, Oct. 4.
** Hw 3 due date extended to Oct. 9, Tuesday.
** Chapter 8 JavaScript 1: Language Fundamentals, PPT slide (continue)
10/4
 Prof. Lin's E-Book on Developing Advanced Web Applications using JavaScript
** 1. JavaScript Basics
** 2. JavaScript System Objects and Methods
8 10/9
Hw 4 - XAMPP Web Server Installation and Hands-On Practice, Assigned 10/9, report due 10/23
** Students need to Study Chapters 8, 9 and 10
Hw5 Discussion
Lecture on:
Prof. Lin's E-Book on Developing Advanced Web Applications using JavaScript

** 3. JavaScript Keywords, Variables, and Operators
** 4. JavaScript Functions
10/11

** 5. The Document and Window Objects
** 6. JavaScrip Forms and Events
** 7. Dynamic Pages with Dates and Time
** 8. Using Cookies
** 9. Using JavaScript Arrays
9 10/16 - Fall Recess

10/18 - No Live Class
Web Technologies Trends for 2018-2019 and Hw5 Conference & Webinar Study Actiivities
** View Assigned Webinars, Meeting and Discussion through Blackboard Learn
** Hw 5 time period Oct 18 to 25.

** Teams:  Team 1: Jared, Seamus, Austin; Team 2: Derek, Morrell, Drew;  Team 3: Luis, Christian, Danielle, John;  Team 4: James, Zech, Grabiel, Kaleb; Team 5: Ryan, Mitchell, Cory, Olufemi; Team 6: Andrew, Ado, Jeremy, Christopher; Team 7: Maxell, Robert, Jeremiah
10 10/23
* Quiz 3 covering Ch 8 & Ch 9 (JavaScript 1 & 2) is scheduled on Nov. 1, Thursday, from 4:30 PM to 10:00 PM
* Ch 8 Hands-on Practice: Project 1 Art Store, Project 2 Photo Sharing Site, Project 3 CRM Admin (Project Files available through Blackboard)
10/24
* Ch 9 Hands-on Practice: Project 1 Art Store, Project 2 Photo Sharing Site, Project 3 CRM Admin (Project Files available through Blackboard)
11 10/30
* Ch. 11 Intro to Server-Side Development with PHP, PPT slide
* Ch. 11 Example codes

* Final Course Project discussion, Project team, proposal due 11/8
11/1
* Quiz 3 covering Ch 8 & Ch 9 (JavaScript 1 & 2) is scheduled on Nov. 1, Thursday, from 4:30 PM to 10:00 PM
* Ch. 11 Intro to Server-Side Development with PHP, PPT slide ... continue
Chapter 11 Hands-On Practice (Source files download available through Blackboard)
* Art-Store:
chapter11-project1.php, chapter11-project1-positional.php
* CRM-Admin:
chapter11-project2.html, chapter11-project2.php: (other files: CSS, images, data.inc.php, functions.inc.php, header.inc.php, left.inc.php)
* Share Your Travel Photos:
chapter11-project3.html, chapter11-project3.php (other files: CSS, Fonts, images, functions.inc.php, header.inc.php, left.inc.php, travel-data.inc.php)
12 11/6
* Chapter 12 PHP Arrays and Superglobals, PPT slide
* Chapter 12 Example codes; Chapter 12 Projects 1, 2, and 3 are available through Blackboard
* PHP Language Superglobals: $GLOBALS, $_SERVER, $_GET, $_POST, $_FILES, $_COOKIE, $_SESSION, $_REQUEST, $_ENV
11/8
* Review & Discussion of Final Project Proposal
* Chapter 12 PHP Arrays and Superglobals, PPT slide, continue
* Final Project Activities, Schedule, Progress Report, Final Report and Demo: Guidelines

** Pogress Report 1 due Nov. 15, Thursday, before 2 PM
** Pogress Report 2 due Nov. 29, Thursday, before 2 PM
** Final Report  due Tuesday, Dec. 11
** Final Project Presentation & Demo, Dec. 13, Thursday, 10:00-12:00 PM
13 11/13
* Final Course Projects: (1) BuyMyTextBook, (2) Merritt Medical-Cannabis Dispensary, (3) Assett Inventory Managment for Ash Brokerage Corporation, (4) Tell Me How, (5) Conversion Hub, (6) Mechnical Keyboard Community Forum, (7) Gaming Aggregation Site?, (8) Pharmacy Medication Inventory Management for Patients?, (9) Photos For Sale, (10) Company Intranet Site, (11) Photography Services?, (12) The Lake Kitchen, (13) Electronix ‘R’ Us
* Ch. 14 Working with Databases, 1 of 3
PPT slide
* MySQL Command-Line Commands through XAMPP Shell, Demo

11/15
* Ch. 14 Working with Databases, 1 of 3 PPT slide (continue); Ch 14 End of Chapter Hands-on Projects files posted on Blackboard
* phpMyAdmin, Demo
** MySQL Databases (zipped files): Art Store, CRM Admin, Share Travel Photos
** Lab 11 Exercise Instruction: Working with Databases (from 1 st edition of the text book)
*** Lab 11 databases and all program files, zipped file
Ch. 14 Working with Databases, 2 of 3 PPT slide
** Pogress Report 1 due Nov. 20, Report 1 Guideline, due Tuesday, before 2 PM
14 11/20
* Lab 11 Working With Databases Exercises (from 1st Edition of the text book) - continue
** Exercise 11-8 Accessing MySQL in PHP
** Exercise 11-9 Integrating User Inputs (mysqli procedures)
** Exercise 11-10 Integrating User Inputs (PDO)
** Exercise 11-11 Sanitize Inputs
** Exercise 11-12 Prepare Statements (Better way to sanitize input)
** Exercise 11-13 HTML List from a Database Query Result
** Exercise 11-14 Reading and Storing Blob Data
Ch. 14 Working with Databases, 2 of 3 PPT slide (continue)
Ch. 13 PHP Classes and Objects, PPT slide
Ch 13 Hands-on Practice Project files can be found through Blackboard
** Project 1. Share Your Travel Photos
** Project 2. Shart Your Travel Photos, Version 2
** Project 3. CRM Admin
11/22 - Thanksgiving Recess
15 11/27
* Final Project Progress Report 1 (review and discussion)
* Final Project Progress Report 2 due Dec. 4, Tuesday, before 2 PM
* Ch. 14 Working with Databases, 2 of 3 PPT slide (continue)
* Password table and encryption example (pp. 413-418, from the book "PHP & MySQL the Missing Manual," 2nd Edition, by Brett McLaughlin, published by O'Reilly, (code download, http://shop.oreilly.com/product/0636920024927.do)
Chapter 14 Hands-On Practice (All project files are available through course Blackboard Learn site)
* Project 2: Share Your Travel Photos
11/29
Ch. 14 Working with Databases, 3 of 3 PPT slide
Ch. 16 Managing States, PPT slide
* Sample Reports from Fall 2017 ITC 250/CPET 499 course
16 12/4
Review and Discussion
* Final Project Progress Report 2 (PPT slide format) due Dec. 4, Tuesday, before 2 PM
Ch. 15 Error Handling and Validation, PPT slide
** PHP and JavaScript Regular expressions
** Ch 15-2 Project Art Store, Client-side Validation through JavaScript and Regular Expression, Lecture Note, Project File in Zip
Data Breach and Hacking Stories:
** Marriott reveals data breach of 500 million Starwood guest, Jordan Valinsky, CNN Business, Nov. 30, 2018
** 500 million Marriott customers have had their data hacked after staying at Hotels including W, Sheration, and Westin, Slnead Baker, Busness Insider, Nov. 30, 2018.
** Uber Settles Data Breach Investigation for $148 Million, The New York Times, 2018/9/26
** Uber Data Breach Exposed Personal Information of 20 Million Users, Fortune Magazine, April 1, 2018
Ch 16 Managing States, PPT slide (continue)
** Ch 16-2 Project 2. Art Store, Session Example, Lecture Note, Project File in Zip
12/6
Review and Discussion: Final Project Progress Report 2
Ch 18. Security, PPT slide
17 Final's Week
12/11 - Final project due at the end of the the day: Project Report, PPT slide, all programming code (in Zipped)

12/13
Final Project Presentations and Demos (All students are required to attend)
December 13 Thursday, 10:30-12:30 PM in Roon ET 346