Fall 2017
Lectures
Example Codes from the Text Book
Fundamentals of Web Development, by Randy Connolly
and Ricardo Hoar, Publisher: Pearson
Student Resources - Companion Web
Site of the Text Book: Fundamentals of Web Development,
http://wps.pearsoned.com/ecs_connollyhoar_cwwebdev_1/
Week No |
Topics/Activities
|
1 |
8/22 - Overview of the Web System course *Lecture Note # 0 - Overview of the course, Discussion of Systms, Web systems Infrastructure and Protocols, and other related topics [Echo 360 Recorded Lecture available] ** 4th IEEE Workshop on the Hot Topics in Web Systems and Technologies, HotWeb 2016 Oct. 24-25, 2016 • Content delivery architectures, Peer-to-Peer systems, Support for mobile and wireless systems, Web caching and replication, Edge services and dynamic content delivery, Multimedia content distribution, Overlay networks, Content placement and request routing, Measurement studies of deployed systems, Security and privacy, Wide-area upload and content gathering, Novel web-based applications, Web/database integration, Information retrieval and searching, Electronic commerce, Internet telephony, Social computing, Web of Things, Mobile web, Big web data. 8/24 * Lecture Note #0 - An Overview of the Web System Course (continue) * Lecture Note #1 - Web System Infrastructures, Protocols, and Applications * Ch 1. How the Web Works: Definitions and History, Internet Protocols, Client-Server Model, Where is the Internet, Domain Name Systems, Uniform Resource Locators, HyperText Transfer Protocol, and Web Servers. * TCP/IP RFCs (Request for Comments - Standards) - Internet Engineering Task Force (IETF), https://www.ietf.org/ |
2 |
8/29 * Lecture Note #1 Web System Infrastructures, Protocols, and Applications (continue) * Ch 1: How the Web Works, PPT slide * Online Quiz 1 from 5 PM, Aug. 31 to 5 PM, Sept. 1 -- Announcement * Hw 2 assigne (LAB) due 9/7 8/31 * Ch 1: How the Web Works, PPT slide (continue) * Data Centers: *** 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 |
3 |
9/5 * Lecture Note #2 - HTML, Web Browsers and Web Servers ** Chapter 2 Intro to HTML - HTML Lab Code Examples ** 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 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/ Web Servers • XAMPP (Apache, MariaDB, PHP, Perl), https://www.apachefriends.org/index.html • AMPPS (Aaoche, MySQL, PHP, Perl, Python, MongoDB), http://www.ampps.com/download • WinLAMP (Apache, MySQL, PHP, Perl), http://winlamp.sourceforge.net/ 9/7 ** Building Web Applications with HTML - an E-Book, 2002, by Prof. Paul Lin *** 4. Intermediate HTML **** <meta> element for Search Engine: keywords, descrtiption, author, copyright, robots **** Creating a Slide Show Using <meta>: Client pull **** Image Mape Example * Ch 2 Intro to HTML, PPT slide * Ch 8 Introduction to Server-Side Development with PHP * 8.2 A Web Server's Responsiblities ** 8.2.1 Apache and Linux ** 8.2.4 Installing Apache, PHP, and MySQL for Local Development, pp. 334 XAMPP Server Configuration & Trouble shooting note |
4 |
9/12 (Prof. Lin was sick today, was not able
to make recorded lecture due to Echo360 Personal Capture software was
corrupted) 9/13 ** Ch 3. Casecading Style Sheet, ppt slide Listing3.1.html Listing3.2.html Listing3.3.html Listing3.4.css Listing3.5.html Listing3.6.html Listing3.7.html Listing3.8.html References: *** What is CSS, http://www.w3.org/Style/CSS/Overview.en.html *** HTML & CSS, http://www.w3.org/standards/webdesign/htmlcss *** CSS Validation Service, http://www.css-validator.org/ XAMPP Server Configuration & Trouble shooting (updated 9/13) HW 4 (CRM web site) assigend 9/15, due 9/26 |
5 |
9/19 ** Ch 3. Casecading Style Sheet, ppt slide (continue) ** Apache Server Configuration, and XAMPP Trouble Shooting, Virtual Host Configuration: Note 9/21 ** Lecture 4 HTML Tables and Forms, ** Ch 4 Examples Listing4.1.html - pag 175 Listing4.2.html - page 177 Table Examples: Lab04-ex01; Lab04-ex02; Lab04-ex03; Lab04-ex04; Lab04-ex05; Lab04-ex06 Form Examples: Lab04-ex07; Lab04-ex08; Lab04-ex-09; Lab04-ex10; Lab04-ex11; Lab04-ex12; Lab04-ex13 Lab04-Project01 - Book Rep Customer Relations Management, pp. 180-181 Lab04-Project02 - Art Store, pp. 180-181 Lab04-Project03 - Share Your Travel Photos, pp. 182-183 ** Quiz 2: ** Covering Ch 2 and Ch 3, plus covered lectures and Hw after Quiz 1; closed books, notes, and all references; Starting Thursady, 5 PM, Sept. 21; ending Friday, 5 PM, Sept. 22 ; you can take ONLY one time |
6 |
9/26 ** Lecture 4 HTML Tables and Forms (Continue) HTML Forms Standards: ** HTML 5 - 4.10 Forms, http://www.w3.org/TR/html5/forms.html ** HTTP/1.1 RFC 7230- Message Syntax and Routing; June 2014, http://tools.ietf.org/html/ ** HTTP/1.1 RFC 7237 Method Registration; June 2014, http://tools.ietf.org/html/ Lecture 5 JavaScript: Client-Side Scripting ** An Javascript Application: Color Coded Resistor Calculator Page ** Developing Advanced Web Applications Using JavaScript, an e-Book, by Paul Lin, http://www.etcs.ipfw.edu/~lin/Presentation/JavaScript/JavaScriptBookIndex.html 5-1 An Intro to Java Script 9/28 5-1 An Intro to Java Script (continue) 5-2 JavaScript Keywords, Variables and Operators: Operators(arithmetic, equality and relational: comparison, logical, conditional); Decision Making statement: if, else; conditional operator; Multiple Decision Making Statement: switch, case, break, continue; Loops or repitition statement: while, for, do while 5-3 JavaScript Function; Functions and program modules: built-in, programmer/user defined 5-4 JavaScript Objects: Objects (constructors, Properties, methods) |
7 |
10/3 ** Developing Advanced Web Applications using JavaScript, an E-Book, by Paul Lin, http://www.etcs.ipfw.edu/~lin/Presentation/JavaScript/JavaScriptBookIndex.html *** Ch 3. JavaScript Keywords, Variables, and Operators, http://www.etcs.ipfw.edu/~lin/Presentation/JavaScript/03_KeywordsVars.html *** Ch 4. JavaScript User Defined Functions, http://www.etcs.ipfw.edu/~lin/Presentation/JavaScript/04_JsUserFunctions.html *** Ch 5. The Document and Window Objects, http://www.etcs.ipfw.edu/~lin/Presentation/JavaScript/05_JsDocsWindows.html *** Ch 6. JavaScript Forms and Events, http://www.etcs.ipfw.edu/~lin/Presentation/JavaScript/06_JsFormsEvents.html *** Ch 7. Dynamic Pages with Date and Time, http://www.etcs.ipfw.edu/~lin/Presentation/JavaScript/07_JsDateTimeObjs.html *** Ch 9. Using JavaScript Arrays, http://www.etcs.ipfw.edu/~lin/Presentation/JavaScript/09_JsArrays.html 10/5 -- No Face-to-Face Class (please view the recorded lecture through Blackboard) * Chapter 8 Introduction to Server-Side Development with PHP, pages 322-342; PPT slide * Ch. 8 PHP Code Listing, http://www.etcs.ipfw.edu/~lin/CPET499-ITC250/Book-FundamentalWebDev/book-exs-fundawebdep-F2015.html * Introduction to PHP (1 of 3), Lecture Note |
8 |
10/10 - Fall Break 10/12 - No Face-to-Face Class (please view the recorded lecture through Blackboard) * Introduction to PHP (1 of 3), Lecture Note (continue) * PHP Examples: mathoperators.php, mathoperators.txt; if-else.php, if-else.txt; PHPbrowser-IP-Info.php, PHPbrowser-IP-Info.txt; funct_arguments.php, funct_arguments.txt. |
9 |
10/17 * PHP, Functions, Arrays, and Superglobals (2 of 3), Lecture note * PHP, Functions, Arrays, and Superglobals (3 of 3), Lecture Note * PHP Examples: mathoperators.php, mathoperators.txt; if-else.php, if-else.txt; PHPbrowser-IP-Info.php, PHPbrowser-IP-Info.txt; funct_arguments.php, funct_arguments.txt. * Ch. 8 PHP Code Listing, http://www.etcs.ipfw.edu/~lin/CPET499-ITC250/Book-FundamentalWebDev/book-exs-fundawebdep-F2015.html 10/19 * Ch 9. PHP Arrays and Superglobals (text book) * Ch 9 Code Listing, http://www.etcs.ipfw.edu/~lin/CPET499-ITC250/Book-FundamentalWebDev/book-exs-fundawebdep-F2015.html * Ch 11. Databases and Web Development, (1 of 3), Lecture note |
10 |
10/24 * Discussion of Hw 6 - Ch 08-project-02 * Ch 11. Databases and Web Development, (1 of 3), Lecture note , <continue> * Web Systems: Final Project Topics and Ideas, Hw 7 due Nov. 2 * Web Systems - Final Project Topics and Presentations: 2015, 2016 * Web site hosting suggestion, email from Nick Bauer, 2017/10/24 10/26 Managing MySQL database (Setting Passwords, SQL Statements, Create Tables, etc.), and phpMyAdmin console * How to set/reset mySQL password, Lecture note * Managing mySQL database, Lecture note * phpMyAdmin console and mySQL database management, Lecture note |
11 |
10/31 * Discussion of Hw 8 - Working with MySQL and PHP under XAMPP Server, due Nov. 14 * Lecture Note on: *** MySQL Database inport & export *** Managing a MySQL database and command line exercises *** Database index and Efficiency *** Accessing MySQL in PHP 11/2 * PhP and MySQL Hands-On Practice, Lecture Note: *** XAMPP Control Panel, Apache Web Server, MySQL Database, Shell (Command Line) *** Create a Customer database, a CustomerInfo Table; See Fields/Properties of Table, Insert Values *** Check MySQL Connection: Connect to MySQL Using PhP APIs *** PHP program: Query Customer Database *** Hw8: Lab 11 Exercise 08 |
12 |
11/7 A) Review & Discussion: Final Project Proposals, due Nov. 2 1) Hacknet, Real-Life Hacking and You, Logan Grannis 2) College-Ty Web Site, Emmanuel Ellis and Som Amphoneohong 3) C&B Homes,Nick Bauer and Clark Collins 4) Smart Home Devices Guide, Kohl Smith 5) RDIF Area Information Network, Eamonn Barry 6) Leafy Eats Going Online, Clint Aschliman 7) The Journey, Racine Talla 8) Tic-Tac-Toe Web Application, Chance Meador and Jason Anderson 9) Euchre History Craig Romano 10) SimpleRex, Grant Harmeyer B) Final Project Guideline, Reports, Schedule, and due dates Items Due Dates: ** Progress Report 1 – due Thursday, Nov. 16, before 2 PM ** Progress Report 2 – due Thursday, Nov. 30, before 2 PM ** Final Project Report, PPT Slide and Software Files due Tuesday, Dec. 12, 2017 • Final Project Report (Microsoft Word file) • PPT Slide (Microsoft PowerPoint file) *** PPT format and recommendation - minimum 20 slides • All Project Codes (HTMLs, CSS, Picture files, PHP, database file) in one zipped file ** Final Project Presentations and Demos (10 minutes per project): 10:30 AM-12:30 PM, Thursday, Dec. 14, 2017, in Room ET 346 {IPFW Final Exam Schedule: Dec. 14, Thursday, 10:300-12:30 PM - Final Exam, http://www.ipfw.edu/academics/finals/} C) (Hw 8, Lab 11 Working with Databases - Discussion) * Exercise 11.8 MySQL Through PHP * Exercise 11.9 Integrating User Inputs (MYSQLi) * Exercise 11.10 Integrating User Inputs (PDO) * Exercise 11.11 Sanatize Inputs * Exercise 11.12 Prepare Statements * Exercise 11.13 HTML List from a Database Query Result * Exercise 11.14 Reading and Storing Blob Data D) Announcement - Exam 3: from Thursday 5 pm, Nov. 16 to Friday, 5 pm Nov. 17, covering Ch. 8 Intro to Server-Side Development with PHP, Ch 9 PHP Arrays and Superglobals, Ch 11 Working with Databases, Ch 12 Error Handling and Validation. 11/9 Lecture (2 of 3) on Ch 11 Working with Databases (using text book figures and codes) * More PHP Data Object (PDO) and mysqli Procedural Style APIS * Integrating User Input Data Into Query * PHP and MySQL Tasks: Making MySQL connection and closing connection, Display a List of Links, Using Transactions |
13 |
11/14 * Hw9 Final Project Progress Report #1, due Nov. 16 (extended to Nov. 17), Guideline posted on HW assignment page * Model Progress Report, Mitchbot Wx: Outerwear Suggesting Daily Weather Email with Settings Web Site, by Mitch Grogg, Fall 2015 CPET 499 Web System * Exam 3: from Thursday 5 pm, Nov. 16 to Friday, 5 pm Nov. 17, covering Ch. 8 Intro to Server-Side Development with PHP, Ch 9 PHP Arrays and Superglobals, Ch 11 Working with Databases, Ch 12 Error Handling and Validation (EXCLUDE Ch. 12!). Lecture (3 of 3) on Ch 11 Working with Databases (using text book figures and codes) * PHP API Fetch Functions * More on PHP and MySQL Tasks: Search and Results Page, Editing a Record, Saving and Displaying Raw Files in the Database, Displaying BLOBs from the Database * 11.7.3 Editing a Record: Code Examples (PHP source code in zipped file), Listing3-30 to Listing3-34 11/16 Ch 12. Error Handling and Validation, Lecture note ** Errors and Exceptions, PHP Error Reporting, PHP Error and Exception Handling ** Regular Expressions, Validating User Input, Where to Perfom Validation ** HTML 5: http://www.w3.org/TR/html5/forms.html |
14 |
Makeup Exam 3 (online) from
12:00 noon, Tuesday, Nov. 21 to 11:00 PM, Nov. 22 (Wednesday) 11/21 * Ch. 13 Managing States, Lecture note * CPET 250/499 Final Project - Progress Report Review & Discussion References: (Lecture note) * HTML Web Storage, W3C Recommendation, 2016/4/19, http://www.w3.org/TR/webstorage/ * HTML5 5.4 Session History and Navigation, http://www.w3.org/TR/2011/WD-html5-20110113/history.html * Web Storage Concepts and Usage, https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API * JavaScript APIs *** window.sessionStorage, https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage *** LocalStorage, https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage PHP Cookies and Sessions • $_COOKIES, http://php.net/manual/en/reserved.variables.cookies.php • $_SESSION o Basic Usage, http://php.net/manual/en/session.examples.basic.php • bool session_start([array $option =[])), http://php.net/manual/en/function.session-start.php • References http://php.net/manual/en/reserved.variables.session.php 11/22 (Thanksgiving Break) |
15 |
12/28 ** Hw 10 Progress Report 2 – due Thursday, Nov. 30, before 2 PM (Use the same format as Progress Report 1) ** Makeup Exam (Quiz 2) - 5 PM, Nov. 30 (Thursday) to 5 PM, Dec. 1 (Friday), covering Chapter 6 JavaScript ** Ch. 14 Web Application Design, Lecture note *** Principle of Layering *** Common Layering Schemes *** Software Design patterns in the Web Context: Adapter pattern, Simple Factory pattern, Template Method pattern, Data and Domain patterns, Domain Model pattern, Active Record pattern *** Presentation Patterns: Model-View-Controller (MVC) pattern, Front Controller pattern 11/30 ** Hw 10 Progress Report 2 – due Thursday, Nov. 30 ** Ch. 16 Security, Lecture note *** ISO/IEC 27002: 2013 Information Technology -- Security Techniques -- Code of Practice for Informtion Security Controls, , https://www.iso.org/standard/54533.html *** ISO/IEC 27002, first Edition, 2005 *** NIST Risk Management Guide for Information Technology Systems (withdrawn, superseded by SP 800-30 Rev. 1), https://csrc.nist.gov/publications/detail/sp/800-30/archive/2002-07-01 *** SP 800-30 Rev.1 Guide for Conducting Risk Assessment, https://csrc.nist.gov/publications/detail/sp/800-30/rev-1/final *** Guide to Industrial Control Systems (ICS) Security, 2015, NIST, http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-82r2.pdf *** The Industrial Internet Consortium, http://www.iiconsortium.org/IISF.htm *** Securing Industrial Control Systems in the Age of IoT, Oct. 2016, Jeff Lund, www.iiconsortium.org *** 2016 Data Security Incident, Uber Newsroom, https://www.uber.com/newsroom/2016-data-incident/ *** Uber Hid 2016 Breach, Paying Hackers to Delete Solen Data, https://www.nytimes.com/2017/11/21/technology/uber-hack.html *** The top 10 classes of vulnerability from the Open Web Application Security Project (2013): https://www.owasp.org/index.php/Top_10_2013-Top_10 *** Web Application Security Project (2017): https://www.owasp.org/images/7/72/OWASP_Top_10-2017_%28en%29.pdf.pdf |
16 |
12/5 ** Ch. 16 Security, Lecture note (continue) XML and Enterprise Application Integration, e-Book, Paul Lin, http://www.etcs.ipfw.edu/~lin/CECourses/XML_EAI/ce_xml_eai_fa03_outline.html *** SOA and Distributed Computing, http://www.etcs.ipfw.edu/~lin/CPET581-CloudComputing/2015-Spring/1- *** SOAP services, http://www.etcs.ipfw.edu/~lin/CECourses/XML_EAI/9_SOAP.html *** REST services in Amazon S3 Interface 12/7 (no-face-to-face class meeting) ** Prof. Lin is in his office for any question ** Students will use this late class time for final project activities. Progress Report #2 (Final Course Projects) - Nov. 30, 2017 1) C&B Homes,Nick Bauer and Clark Collins 2) SimpleRex, Grant Harmeyer 3) Tic-Tac-Toe Web Application, Chance Meador and Jason Anderson 4) Leafy Eats Going Online, Clint Aschliman 5) Hacknet, Real-Life Hacking and You, Logan Grannis 6) College-Ty Web Site, Emmanuel Ellis and Som Amphoneohong 7) Euchre History, Craig Romano 8) Smart Home Devices Guide, Kohl Smith 9) RDIF Area Information Network, Eamonn Barry 10) The Journey, Racine Talla |
17 |
** Final Project Report, PPT Slide and Software Files
due Tuesday, Dec. 12,
2017 ** Final Project Presentations and Demos (10 minutes per project): 10:30 AM-12:30 PM, Thursday, Dec. 14, 2017, in Room ET 346 {IPFW Final Exam Schedule: Dec. 14, Thursday, 10:300-12:30 PM - Final Exam, http://www.ipfw.edu/academics/finals/} Final Projects (order of presentation) 1) C&B Homes,Nick Bauer and Clark Collins, ppt slide 2) SimpleRex, Grant Harmeyer, ppt slide 3) Tic-Tac-Toe Web Application, Chance Meador and Jason Anderson, ppt slide 4) Leafy Eats Going Online, Clint Aschliman, ppt slide 5) Hacknet, Real-Life Hacking and You, Logan Grannis, ppt slide 6) College-Ty Web Site, Emmanuel Ellis and Som Amphoneohong, ppt slide 7) Euchre History Craig Romano, ppt slide 8) Smart Home Devices Guide, Kohl Smith, ppt slide 9) RDIF Area Information Network, Eamonn Barry, ppt slide 10) Fort Wayne Web site, John Konchar, ppt slide 11) The Journey, Racine Talla, mp4 presentation |