CIS 408

Internet Computing (3-0-3)

Course Content

  • Class Announcement and Post
  • Class Syllabus
  • Group Project
  • Lab Assignments
  • Class Lecture Notes


  • Class Announcement and POST



    10. April 29, 2022

    Final Exam Will be on Thursday May 12 at 12:30PM - 2:30PM in Class !!

    INFORMATION on the FINAL EXAM

    See the Links for the Lectures only for the Final Exam


    Topics to Focus on the Final Exams

    Web Application in MVC Architecture
    Communications between Web Browser and Web Server in HTTP -- Request, Response 
    AJAX, AJAX Event Handling
    Communications between clients and servers in 3-tier Web Application Platform
    REST API based Server Side Design, 
    Same Origin Policy, Cookie Protocol 


    A Hand-Written One Page Note Sheet Front and Back Is Allowed to the Final.
    Typed or Copy and Pasted Lecture Notes are NOT Allowed.





    9. March 5, 2021

    The Midterm of CIS408 Will Be on March 10 in Class !

    See The Midterm Exam Links Only Here !


    The Topics to Focus On for the Midterm:

    The Lectures Covered in Class Only

    HTML/XHTML/XML Syntax, DOM (Document Object Model), Data Processing Methods with DOM
    CSS Syntax/Rules, URL Protocol/Syntax, JavaScript Function, Object, Array,
    Everything on Form Elelemnt,
    Bootstrap Features for Reponsive Webpage Design,
    Event Basics

    Universal Data Exchange Formats in Semi Structured Data Model:
    JSON Syntax and Processing Method
    XML, XPATH, and Processing Method


    The Exam Formats:

    Q1: 10 T/F Questions on the Core Concepts of Web Technologies Covered in Class

    For the Rest of Qs: Short Answer Questions for Small Problem Sloving with SIMPLE Examples
    6-7 Main Questions with 1-2 subquestions for Short Answer for Small Problem Solving Questions
    For Example, for Given Simple Code Snippets, Fill the blank lines
    For the given simple HTML codes, Draw the corresponding DOM Tree


    One Page Note is NOT Allowed to the Midterm
    It Will Be allowed to the Final Exam Later




    8. Jan 18, 2022

    Only the registered students can access the course blackboard.
    If you have a problem with your blackboard access, please contact the registar and CSU e-learning Tech Support to resolve the issue !

    Faculty do not control your registration in the CSU Campus Systems and the course blackboard access.

    CSU Tech Support



    8. Jan 18, 2022

    TA info:

    Paul Antonescu

    Email: p.antonescu@vikes.csuohio.edu

    Office Hours: Tues, Thurs 11:00 AM - 1:00 PM (Send him email ahead to let him know you are coming)

    Location: Zoom Meeting (FH305 Big Data Analytics Lab -- Not Available This Semester for Your Saftey)

    Zoom Meeting ID: 882 3618 7308
    TA's Zoom Meeting Link
    If you have questions about Labs or grading your Labs, Send email to TA to See During the TA Office Hours in a ZOOM Meeting.



    Dr. Chung's Office Hours:

    Mon, Wed 1:00 PM - 3:00 PM (Email for an appointment in a Zoom Meeting !)

    Dr. Chung's Zoom Meeting ID: 869 6032 0016
    Office: FH222 (Not Avaliable This Semester); Zoom Meeting Only


    6. Jan 18, 2022:

    Lab Submission:

    The Output of each lab is your report in Doc file that shows your screen captures of each of your executions with Your Outputs in your web browser or the server returned the correct results in the webpage.
    your Report in Doc file also should expain all the platform set up, the execution steps, and copy of each source code files ) Each of your screen capture must show your results returned in your web browser of your system to prove that your lab is done correctly !!

    Submit your Zip file that includes your report in .doc file (that expains all the platform set up, the execution steps, and copy of each source code files ) and
    all the Source files, and output files on Blackboard for a timestamp and as a proof.

    5. Jan 18, 2022:
    Instructions to Set Up Webpage is Posted in the Lab Section!
    See Updated Instructions for File Permission Error 403 in the Lab Section!

    4. Jan 18, 2022:
    If you didn't get an email from CIS408 Blackboard or me (to your CSU Email address that you provided for CSU CampusNet, Search your Clutter or Spam Folder !

    3. Jan 18, 2022:

    Each Class Attendance is Required for CIS408 !
    There Will Be Random Quizzes or Sign Up Sheet to Check the Attendance As Well !

    2. Jan 18, 2022:
    You can use any SQL Server for your Database such as MySql, MS SQL Server. See MySql Set up Guide in the Lab section.




    1. Jan 18, 2022:

    The Link to the Class Webpage for This Semester will be given on Blackboard ! Make Sure to Follow the Spring 2021 Link for This Course !

    The Class Webpage can be reached at:
    Class Webpage for Spring 22 Class
    If you have a trouble to display the webpage correctly with MS Internet Explorer, open it with Google Chrome

    Check the Last Day to Add and Drop here !
    University's Official Academic Calendar for the Semester and the Final Exam schedules

    Final Exam Schedule:
    Thursday 12-May 12:30 PM - 2:30 PM


    CIS408 Midterm and Final Exam Information


    Midterm Information:

    The Topics to Focus On for the Midterm:

    The Lectures Covered in Class Only

    HTML/XHTML/XML Syntax, DOM (Document Object Model), Data Processing Methods with DOM
    CSS Syntax/Rules, URL Protocol/Syntax, JavaScript Function, Object, Array,
    Everything on Form Elelemnt,
    Bootstrap Features for Reponsive Webpage Design,
    Event Basics

    Universal Data Exchange Formats in Semi Structured Data Model:
    JSON Syntax and Processing Method
    XML, XPATH, and Processing Method


    The Exam Formats:

    Q1: 10 T/F Questions on the Core Concepts of Web Technologies Covered in Class

    For the Rest of Qs: Short Answer Questions for Small Problem Sloving with SIMPLE Examples
    6-7 Main Questions with 1-2 subquestions for Short Answer for Small Problem Solving Questions
    For Example, for Given Simple Code Snippets, Fill the blank lines
    For the given simple HTML codes, Draw the corresponding DOM Tree


    One Page Note is NOT Allowed to the Midterm
    It Will Be allowed to the Final Exam Later







    INFORMATION on the FINAL EXAM

    Final Exam Schedule:
    Thursday 12-May 12:30 PM - 2:30 PM

    See the Links for the Lectures only for the Final Exam


    Topics to Focus on the Final Exams

    Web Application in MVC Architecture
    Communications between Web Browser and Web Server in HTTP -- Request, Response 
    AJAX, AJAX Event Handling
    Communications between clients and servers in 3-tier Web Application Platform
    REST API based Server Side Design, 
    Same Origin Policy, Cookie Protocol 

    One page Note is allowed to the final.



  • CIS 408 Syllabus
  • ABET Syllabus

  • Group Project


    Group Projects


    Final Group Project Specification and Instructions:

  • Project Specification and Suggested List
  • Requirement for Final Project Specification
  • FAQs for Final Project

  • Extra Credit Final Project:
  • Extra Credit Final Project Required for the Honor/Scholar Contract Course Students



  • Final Group Project Time Line:

    Group Project Proposal Due by April 9 !
    Group Project Status Report Due by April 22 !
    Group Project Presentation Either on May 3rd or May 5 !
    Final Group Project Report Due By May 6 !


  • For Group Project Presentation schedule, Invite to Google Doc Scheduler Will Be Sent Out to Your CAMPUSNET email for Sign Up


  • Important Notes for Final Project:

    - One Person Final Project is Allowed. You Can Work Alone.
    - Three Person Group is Allowed. Make Sure to Make the Project in a Bigger Scale
    - You can change Your Project Plan/Proposal or the Details even after Your Proposal is submitted until the Deadline of the Status Report.
    - If You Need to Find Group Members, Use Blackboard Email to Send to the Class, Some will respond to you if they are looking for a group member.


    - It is not required to request your full data set to create your database from a real existing server site
    because you need to have a permission from the server to create an account ahead to request the data, which is not always possible.
    - If you can't get a real Data set to create a database, you can create a small set of your own data, for example, create your data set from the CSU CampusNet Class List.


    - It is ok to Use a REST API Call from any real API Server for database information with Firebase Platform, but they are NOT for learning to create/manage your own database as a backend.
    - They are to create a simple web application without your own database in your database server as a backend of your server.
    - If You haven't Taken CIS430 Database Course, You Can Build a Project with REST API call to any real server for information without Database Server.
    - For Those Who Haven't Taken CIS430 Database Course Yet, it is ok to do a Final Project without a Database Server as Backend.
    - Make Sure to Specify that You Haven't Taken CIS430 Database Course in the CoverPage of Final Report and Presentation Slides
    - Make Sure to Specify Any Extra Credit Part Done in the CoverPage of Final Report and Presentation Slides


    Use of a Graph Visulaization API, a Map API, Multimedia Data (Image or Video) will be counted more.

    Free Open Source Map APIs:
    Leaflet Map
    Open Street Map
    documentation of eegeo

    Not Free Open Source:
    Google Map

    Graph Visulaization APIs:

    ChartJS
    ChartJS Documentation to start
    Tableau JS API
    D3JS API



    Examples of Projects for Your Project Ideas:

    The Best Senior Design Projects Created from CIS408 and CIS430:


    2020 - 2021:
    Big Data and Data Science Projects:

  • The Candidate of Best Senior Project in Engineering College of 2021 (Created From the Final Project of CIS408 and CIS430)
  • 2021 Senior Project: Stock Market Analysis Service System (From the Final Project of CIS408 and CIS430)
  • Intelligent Infectious Disease Tracking System (From CIS408 and CIS430)
  • Product Review Sentiment Analysis System (From CIS430 and CIS408)

  • The Candidate of Best Senior Project in Engineering College of 2019 (Created From the Final Project of CIS408 and CIS430) by Joel Stell et. al.
  • 2017 Senior Project: Wikipedia Search Engine (Created From the Final Project of CIS408 and CIS430) by Nick McCoy, et al
  • The Best CS Senior Project Winner of 2017 (Created From the Final Project of CIS408 and CIS430) by Mike D'Arcy and Utkarsh Patel
  • The First Prize Winner of 2016 Senior Project From CIS430 and CIS408 by Nick White (Now in FaceBook), et al


  • Best Group Projects in 2017:

  • Sharesci: Research Paper Online Search Engine (Mongo DB, Node Js and Angular JS with Part of the Server Code Example) by Mike D'Arcy and Utkarsh Patel
  • Welp: Yelp Busineess Info with MongoDB by Corinne Dmitruk and James Saporito
  • Welp: Project with Yelp Data with MongoDB and Angular JS Code Examples by Corinne Dmitruk and James Saporito
  • Web Service with Game DB by Spencer Gang and John Ligget
  • Game DB with Part of Server and Controller Codes by Spencer Gang and John Ligget
  • Pokeman Game on Azure by William Pierce
  • Photo Album Manager (in Java) by Saleh Alkadhem and Michela Ramsay



  • Useful Tools: Swagger API Tool for REST API Developments

    Group Project Data Sources: You can choose to work on these data sets for your group project for the advanced !
    More to Come per request
  • Yelp Business JSON Data file for 100 Business Data
  • Wiki Page Data set
  • Complete Yelp Callenge Data set: 5 BIG JSON Files
  • Download Database tables : vTargetMailCustomer table and Population table



  • Lab Assignments and Resources

    Lab Assignments:

    Useful Lab Helpers:

  • XHTML Validator
  • JSON Validator
  • How to debug HTML, JAVA SCRIPT, DOM, XPath in a Web Browser
  • JavaScript Debugger


  • For a Serverside Application for Final Project (Not for Javascript in HTML in a Client):
  • Node.JS Setup Recommendation
  • MDN Site for DOM with XPath in Java Script
  • XPath Setup Guide for java Script
  • XPath Methods
  • Setting Up DOM with XPath for Python
  • Webscapping with DOM, XPath for Python with BeautifulSoup
  • Python XPath Guide




  • Indiviual Regular Labs/Projects

    Lab Submission:

    The Output of each lab is your report in Doc file that shows your screen captures of each of your executions with Your Outputs in your web browser or the server returned the correct results in the webpage.
    your Report in Doc file also should expain all the platform set up, the execution steps, and copy of each source code files ) Each of your screen capture must show your results returned in your web browser of your system to prove that your lab is done correctly !!

    1. Submit your Zip file that includes your report in .doc file (that expains all the platform set up, the execution steps, and copy of each source code files ) and all the Source files, and output files on Blackboard for a timestamp and as a proof.

    2. If You did an Extra Credit Part, Mention about What Part is Done for Extra Credit in the Heading of the Front Page of Your Report in Bigger and Bold Font !



    Project 0:

    Create Your Personal Webpage on the Linux host eecs.csuohio.edu where the EECS Dept WebServer(Apathe Webserver) is running !
    See the instruction to set Up your Webpage below and Class Lecture Notes on URL.

  • Instructions on Linux Account, Linux Labs, and How to Set Up Your Webpage on the web server: eecs.csuohio.edu Updated with the Instruction for 403 Error !
  • If you have a file permission Error 403, see the instruction to set your home directory with execution permission !

  • How Your Personal Webpage Works with the Webserver on the EECS Host in URL

  • The following server names are all aliases to the EECS Dept Linux host name grail that are resolved to the same IP address: 137.148.204.40
    The Apathe webserver is running on this host where your home directory (~youruserid) as well as your webpage index.html under public_html directory are.
    So login with any of these names:

    cis.csuohio.edu
    eecs.csuohio.edu
    grail.cba.csuohio.edu
    grail.eecs.csuohio.edu


    Notes !!

    Putty from Dr. Jackie Woldering's site is OUTDATED and NOT Working Anymore !
    Install WinSCP a New Free Open Source to Connect from Window to Linux grail server
    WinSCP download
    How to Send Project Files from Your Laptop to Your Web Directory on Grail Server in WinCSP


    Submission Instruction for Project 0:

    Test your webpage by typing eecs.csuohio.edu/~youruserid in the address bar of your browser in your labtop. Submit a Lab Report with the Screenshots of your browser displaying your webpage with your website address in a correct URL.
    Nothing much needed for Your Webpage. Display Your name and ID with Your Picture in Your Webpage







    Debugging JavaScript in HTML for a Client side:

    JavaScript Debugger
    How to Debug HTML with JavaScript, DOM Elements with XPath
    Debugging Functions in a Web Browser for HTML, JavaScript, DOM, XPath



    Project 1:

  • Project 1

  • ATTENTION !!
    All the files should be sent to your web page directory on the grail server where the eecs web server is running to make Project 1 work !

    How to Send Project Files from Your Laptop to Your Web Directory on Grail Server in WinCSP

    How to Avoid iFrame errors:
    For those who want to add iframe into your webapge:
    Note that as of late 2017, any Web browser does not allow you to insert iframe with any webpage that is not on the same domain as your site because of Web Security and the Content Protection Rules.
    To avoid an error, use any html file on the eecs.csuohio.edu (for example, CIS408 webpage, CIS430 webpage, or other CS student webpage), or another html file in your webpage directory for your iframe.

    Or You can download a google crome feature that allows cross domain reference (not recommended). See below for this.
  • Workaround to Avoid the iframe Error by XFrame Option with the Same Origin Policy
  • HTTP Header with X Frame Option










  • For Your Lab Submissions for Project 2 - Project 4
    For each Lab,
    Create a html file (Other than index.html) under your public_html directory in a Unique file name with a Combination of your ID and 2-4 Characters of Your Last Name to List the Links for your Lab outputs !
    For example, for the Project2, create ssch_2999999.html file to post your lab outputs then provide your Lab submission URL of your website (http://eecs.csuohio.edu/~youruserid/ssch_2999999.html) in your Lab report cover.

    Make sure to put the URL of your html file name for each lab at the Beginning of your Lab Report for TA to grade your Lab.
    This is to prevent from cheating and copying someone else's lab.
    Do NOT create/show the links to your Lab html sites on your index.html file. Your index.html page should NOT show your Lab report html pages. Only TA can get the URL of Your Lab html pages





    Project 2:

  • Project 2 with Extra Credit Problem
  • Note that all the files should be sent to your web page directory on the grail server where the eecs web server is running to make Project 2 work !

    You May Use Bootstrap for All the Parts of Project 2 or Any Project From Now On!

  • FAQs for Project2
  • Example Output of Project2

  • Notes and Corrections:

    For Problem 2 of Project1:
    For those who want to add iframe into your webapge:
    Note that as of late 2017, any Web browser does not allow you to insert iframe with any webpage that is not on the same domain as your site because of Web Security and the Content Protection Rules.
    To avoid an error, use any html file on the eecs.csuohio.edu (for example, CIS408 webpage, CIS430 webpage, or other CS student webpage), or another html file in your webpage directory for your iframe.


  • Section 3 Displays Your Class List under Your Current Semester !
  • For the Problem 2, Name your video file "Project2Video.mp4".
  • Do NOT Include Your Video file to your Zip file for the Blackboard Submission.
  • Do NOT PUT Your Video File in Your Webpage On the EECS Server !
  • For Problem 3:
  • Copy and Paste of the URL String in the Address Bar of Your Browser when Clicked Submit button at the end of your report of Problem 3 and
  • Display the URL String in your result page in ServerScriptFile.html as well.

  • Note that all the files should be sent to your web page directory on the grail server where the eecs web server is running to make Project 2 work !

    How to Send Project Files from Your Laptop to Your Web Directory on Grail Server in WinCSP
    Data Sets for Lab2:

    For the Project 2, Name your video file "Project2Video.mp4".
    Do Not Include Your Video file to your Zip file for the Blackboard Submission.
    Use a small video file as provided. Do NOT PUT a large Video File in Your Webpage On the EECS Sever !

  • sample Project2Video.mp4
  • zip file for Sample Animation Image Set
  • Extra Credit Lab: Data Picker Test Script


  • For those who want to request a Server side file in your javascript, read this !
  • Same Origin Policy

  • Same Domain Policy:
    You can only read (Request) a file in your Java Script as long as the file is located on the same domain as your webserver and your Java Script are.


    Debugging JavaScript in HTML for a Client side:

    JavaScript Debugger
    How to Debug HTML with JavaScript, DOM Elements with XPath
    Debugging Functions in a Web Browser for HTML, JavaScript, DOM, XPath



    Debugging DOM with XPath in Javascript in HTML and XML:

    Note that You don't Need to Do Any Extra Set Up to Use XPATH in your JavaScript in HTML in a Web Browser for a Client side.
    All the RECENT Web Browsers Have XPATH Features in their Debugger by Default

    JavaScript in HTML for a Client side:
    XPath Examples in Javascript
    MDN Site for DOM with XPath in JavaScript








  • Example Codes (Solution) of How to create Animation in HTML




  • Project 3:
  • Project 3 on Dynamic Webpage Changes with Event and JSON Data Processing
  • Data Files:
  • Data File: Yelp One Business Json file
  • Yelp One Business Data Format
  • Data File: restaurant_menu XML file
  • All Three JSON Data Files in Zip for Project 3

  • Validate Your JSON Data file. There are many free JSON Validators available:

  • JSON Validator

  • FAQs for Project 3
  • FAQs for Project 4 which uses the same input

  • Important Notes on Project 3:
    The real life JSON data sometimes could have a few incorrect JSON syntax or invalid special characters like line feeds like \n are inserted by a text editor when opened.
    They are all corrected in the json file in the JSONData.zip, so it may not be seen but always check with JSON Validator to correct or remove them.
    In case you are encountered with those wrong syntax, correct them to the valid JSON syntax as in the examples below.

    1. Change $$ to 2 for PRICE in the JSON input then use it.
    2. Not every elements has NAME element -- Intended irregular data. Text data (whether with/without NAME element) is the name for the menu.
    3. There is a misspelled tag: Correct it to first then use it. -- Aleways do XML data validation first before processing it !
    4. If you can't get input as a file, you can directly use each JSON and XML text as text string in your codes ONLY for this Project 3.
    5. Use FireFox for Project 3 if you have a problem with Google Chrome


    Same Domain Policy: You can only read (Request) a file in your Java Script as long as the file is located on the same domain as your Java Script domain.
  • Same Origin Policy
  • Because of the Same Domain Policy, if you want to request the grade file directly from the Class Webapge,
    You have to Put your JaVa Script with your Html file under your webpage directory on our eecs webserver domain ( eecs.csuohio.edu) where the CiS408 Class webapge is on.



    Project 4:

    Do the same processing of Project 3 Using AJAX to request two input files (JSON and XML files) on CIS408 Class Webapge from the eecs webserver: JSON file and XML file to Process.
  • Project 4 on File requesting in AJAX with XML and JSON Data Processing
  • FAQs for Project 4 New Update !
  • FAQs for Project 3 See for Possible Invalid JSON Data Handling

  • Data Files:

    Use the same data files (YelpOneBusinessJsonData.json and restaurant_menu.xml) in Project3 Section for Project 4.
  • Data File: restaurant_menu XML file
  • All Three JSON Data Files in Zip File for Project 3


  • How to Debug HTML, JavaScript, DOM, XPath in a Google Chrome


    Debugging DOM with XPath in Javascript in HTML and XML:

    Note that You don't Need to Do Any Extra Set Up to Use XPATH in your JavaScript in HTML in a Web Browser for a Client side.
    All the RECENT Web Browsers Have XPATH Features in their Debugger by Default

    JavaScript in HTML for a Client side:
    How to Debug HTML with JAVA Script, DOM, XPath
    Learn How to Inspect Element in Chrome to Debug HTML with for DOM and XPath
    JavaScript Debugger
    XPath Examples in Javascript
    MDN Site for DOM with XPath in JavaScript



    For Serverside Application Codes in Different Languages or NodeJS Server Codes for a Final Project,
    You May Need To Set UP XPATH for the Other Scripts/Languages to Use XPATH Methods in the Server side Application Codes as below.

    Node.JS XPath Setup Guide and XML Parser in JavaScript
    DOM with XPath Setup Guide for JavaScript
    XPath Methods

    Node.JS XPath Setup Guide
    XPath Setup with npm for Node JS in Java Script
    Google Crome XPath Helper Setup

    Setting Up DOM with XPath for Python



    Project 5:

  • Project 5 for Building a CD Catalog Search Web Application with Database Server New Update !
  • cd_catalog XML data file
  • FAQs for Project 5
  • How to Load/Insert MySQL Table from a text (CSV) file
  • How to import csv file into a mysql table

  • See the Zoom Lecture for Project 5 Description on BB.

    Important Notes:
    Automatic Database Table Creation is NOT required for Project 5 ! (See instructions below for Database table Craetion)

    1. For the Automatic Database Table Creation from the XML file, instead of loading from the converted CSV file, you can insert one CD record at a time directly to your table in your PHP script in ODBC connection
    2. Make Sure to Process the JSON CD search result (which was sent by the server) to Be Dispalyed in HTML Nicely in your response Handler Function in Java Script at the Client Side !
    3. Look Up the Serverside Script with PHP Section in the Class Notes and Sample Web Applications Posted there for this Project !



    Important Notes for Plaform Set Up on Your Own System !

    WAMP Server Set Up: READ ALL the Instructions Below FIRST BEFORE Starting Download and Setting Up !!

    New Issues As of April 2022: (Reported by Igor Matsenko)

    During the installation of WAMP, I had the following error when tried to start it up: “cannot start due to MSVCR110.dll is either missing or incorrectly install”
    To fix that, we need to download and install the following package to resolve the issue: “Visual C++ Redistributable for Visual Studio 2012 Update 4”.

    Another potential problem with WAMP could be that port "80" is being used by some other tool on the PC,
    I would suggest switching to port "8080" and to get access to the WAMP simply utilize this link: "http://localhost:8080/phpmyadmin/".
    Any other port can be used, but whatever is the port WAMP set up on, will need to be updated after: "localhost:port#/phpmyadmin/".


    Notes as of 2020/2021: NEWER VERSION of WAMP Server from 3.2.0 or higher (in 2020), there were important changes in default port number of MySQL :
    Default Port Number for MySQL is changed to 3308 from 3306
    Default Port Number for Apache Webserver: 80 or 8080
    Default userid: root, pw: (bypass with empty blank)

    Older Version from 2019 and older: Default Port Number for MySQL: 3306
    the default port number for Apache WebServer: 80, userid: root, pw: (bypass with empty blank without entering any for pw then click Go) for configuration.


  • WAMP Server Download Site
  • What is WAMP Server and What To Do to Build a Simple Web Project with Example Codes in PHP and Mysql

  • WAMP Server Set UP Instructions:

  • Step by Step Set Up Guide of WAMP Server VERSION 3.2.0 or higher (in 2020) with Apache Webserver and MySql NEW POST (by TA Maulik Gohil)
  • Trouble Shooting Important Information to Know When Setting Up WAMP Server VERSION 3.2.0 or higher (in 2020) with Apache Webserver and MySql NEW POST
  • Complete WAMP Server (in Older Version in 2018) Set Up Guide with Apache Server and MySQL Table Creation, and PHP Example Codes for ODBC Connection to MySQL (For Default Set up in 2018 Vesion of WAMP Server, Do NOT Change Default Port Number 80 to 81)



  • More Trouble Shooting WAMP Server Guides:

  • Trouble Shooting WAMP Server Set Up from 2018 Package Guide 1
  • How to set login to phpmyadmin for default user password in wamp server New Post !
  • How to Create an User Account and Database in Wamp MySQL Server (New Post by TA Maulik Gohil)
  • How to Change Default Port Number for MySQL Server from 3306 to another when conlict
  • Port Number Change in MySQL port in my.ini
  • Port Number Change in Newer Version WAMP Server Set Up in Apache server
  • Trouble Shooting WAMP Server Set Up This issue was seen in 2017, it may not seen in newer versions
  • Trouble Shooting Site for How to Create an User Account and Database in Wamp MySQL Server


  • MAMP Server Set up on Window: Good Alterative instead of WAMP Server

  • Set Up Instruction for MAMP Server on Window
  • FAQs for Set Up Instruction for MAMP Server on Window


  • MAMP Server Set up for MacOS:

  • Set Up Instruction for MAMP Server on MacOS (Prepared by TA)
  • MAMP site Documentation for Set Up Instruction on MacOS



  • Trouble Shooting Error Resolutions When Set Up SQL Server with ODBC/JDBC

  • Only for Those Who want to Use MS SQL Server(Instead of MySQL) Connected to WAMP Server: Change Port Number to 81 (See how to change Port Number below)
    DO NOT Change Port to 81 for General WAMP Server Set up with Built-in MySQL !!

  • Instruction of WAMP Server (2018) Set Up with MicroSoft SQL Server (Not MySQL) and Sample codes for index.php and insert.php to Connect to MS SQL Server
  • Set Up Instruction for WAMP Server Connected to MicroSoft SQL Server (2018)
  • Set Up Guide for WAMP Server Connected to MicroSoft SQL Server (2018) in YouTube


  • LAMP Server on Linux Set Up:
  • LAMP Server Set Up Guide


  • PHP Tutorial:
  • PHP Site Manual
  • PHP Installation and Configuration

  • Note that you don't need a separate PHP Server Download and installation if you set up a WAMP Server, which already have a PHP server built in

  • How to start the first Php script on the Server
  • How to get PHP Server Info
  • How to get PHP Server Configuration file content php.ini
  • Dealing with form in PHP

    To Connect MySql Server from Your PHP Script

    PHP MySQL ODBC API Guide - MySQLi
    Tutorial: PHP MySQL Connect/Login using ODBC




    For those who have not taken CIS430/530 Database Course:

    Process the CD XML file to Output in CSV file in any language then manually creatte a table from MySQL server using "Import" feature as below.

    MySQL Tutorial:
  • How to Create a database and select the database to create a table in MySQL
  • Example Script to Create a database and select the database to create a table in MySQL (Sample Script that you can follow for your table creation in a database in MySql server)
  • How to Import a CSV file to Create a database table in MySQL manually (Import CSV File Into MySQL Table)
  • How to Import CSV file to Create a database table in a Script in MySQL (This tutorial shows you how to use LOAD DATA INFILE statement to import CSV file into MySQL table.)
  • How to Create a database and a table in MySQL on WAMP Server (Skip the Ad at the beginning)




  • If You want to Use MS SQL Server instead of MySql: For the installation guides of MS SQL Server in detail, see the guides below !
    For the Instructions for the Procedure to Get an Account in MS Imagine Site to Download: See at the bottom of this Announcement Section
    For Installation Guides:
    SQL Server Installation Guide site
    Read the Installation Guides FIRST before starting downloading ! See the guide site for More details !



    How to Create a Web Application with Java Based Application Server with MS SQL Server:
  • Set Up Instructions for Java Based Application Server with MS SQL Server
  • How to Create Java Servlets for CRUD Operations
  • How to Create Java Servlets for CRUD Operations



  • Project 6: NOT Required for this Semester

    Image in XML:
  • Book Image data files
  • XML Data Description for Book Store
  • Example on How to Store and Retrieve Image Data in MySql with PHP


  • Amazon Cloud:
    Amazon RDS (Relational Database Service)
    Amazon Elastic Cloud Computing (EC2) for Web service
    How to Create Amazon Virtual Hosting (EC2) with a Web Server and Amazon Database Server (RDS)

    Microsoft Cloud Azure:
    Trial account for Microsoft AZURE Cloud
    How to Create/Retrieve a Table in Microsoft AZURE Cloud
    Sample Project on Microsoft AZURE Cloud
    How to Create/Retrieve BLOB data in Microsoft AZURE Cloud
    AZURE Cloud
    How to Create a SQL Database Server in Microsoft AZURE Cloud
    Tutorial for MS AZURE Cloud


    Useful Resource Sites:
  • Useful MSDN Sites on Video Element, Methods, Properties in HTML5/XHTML
  • HTML5 Tutorial
  • XHTML on WWW.W3.Org
  • XML Version 2.0 on WWW.W3.org
  • DOM XML Parser
  • Microsoft XML DOM Parser Beginner's Guide
  • SAX XML Parser
  • Example Codes of XML Processing with XML Parser (DOM Parser and SAX Parser)
  • XML Editing with OXIGEN
  • Useful XML Resource Sites
  • Beginner's Guide to XML DOM

    JPEG File Effects in HTML5
  • Java Script for Slide In effecct
  • Java Script for Kenburn effect
  • Java Script for Fade In Fade Out effect

  • Video Play in Html5

  • Class Lecture Notes with Tentative Schedule

    Class Chapter / Topic / Specific Objectives / Activities
    1



    Introductions:

    Introduction to Web Applications on WWW

    Picture of Web Application Architecture


    2-3



    Web Application Standard on WWW


    Brief History of WWW and Evolution of Markup Languages


    World Wide Web Consortium (W3C) Reference Sites:

    Official World Wide Web Consortium (W3C) Standard for Markup Languages: HTML/HTML5/XHTML
    XHTML1 XHTML2 is on the way !

    Official W3C Site for Standard HTML/HTML5
    Official HTML/HTML5 Syntax


    Useful Online Tutorial Sites:
    Tutorial Point
    W3C Schools Tutorial
    MDN (Mozzilla Developers Network)
    HTML/HTML5 Syntax by W3 Consortium



    Class Lectures:

    HTML/HTML5, XHTML, CSS, URL, Java Script


    HTML:

    Class Note_1: Introduction to HTML with New Web Application Platforms
    Class Note_1_2: HTML Example: How html Works !
    Class Note_1_3: Overview of Web Application Components: HTML/XHTML, CSS, Java Script, CGI, PHP (Traditional Web Application Platforms)

    W3C Tutorial Site: Introduction to HTML

    XHTML:

    XHTML Basics: Main Syntax Differences Between HTML5 vs XHTML
    HTML5 and Comparison to XHTML
    XHTML Syntax Quick Summary from the official W3C Site


    Html Element Examples
    Html Atrribute Examples


    HTML References:
    HTML Element List
    HTML Attribute LIST
    Global HTML Attribute LIST
    HTML Event Attribute LIST

    Examples of HTML Elelents and Attributes:
    Table Element Examples
    Examples of Table Formats in Web Applications
    List Element Examples
    Style Attribute Examples
    Style Element Examples
    DIV Element Examples
    SPAN Element Examples

    Link Element Examples
    Image Element Examples
    Button Examples
    Button with event attribute and alert fn Examples

    HTML Form Element Examples
    HTML Form with Input Type Examples
    HTML Form with Input Type with Reset Examples
    HTML Form with Input Type Radio Button

    HTML Select Element Examples
    HTML Select Element with Submit

    Iframe Elelent Examples
    Iframe Elelent with target attribute Examples

    List of HTML Event Attributes with Form and Input Elements


    HTML5:

    Basic Review For Image Files:
    Basics on Digitizing Images
    Basics on Color Representation
    HTML Color Code Picker

    New Multimedia Elements Available in HTML5:

    Class Note_2_1: Intro to HTML5 for Multimedia Processing on the Web
    HTML5 New Element List
    Video Element Examples
    Canvas Element Examples
    Canvas Context
    Canvas Example: Fill Canvas with Image
    Canvas Example 2: Fill Canvas with Drawing
    You can create animation in Canvas with Java Script ! -- Lecture for Animation will Come later
    Simpe Example for Creating Animation using Canvas
    MDN Tutorial:Multimedia_and_embedding Examples

    Image Map Examples
    Input datetime
    Date Picker (available only in latest HTML5)
    Geolocation
    Drag and Drop

    Local Storage
    How to Request HTML5 Offline Storage in Google Chrome
    Sample Java Scripts for HTML5 Objects


    Useful Site for MIME Type


    CSS:

    Class Note_1_4: Letcture Notes CSS
    Basic Html CSS Tutorial with Examples
    CSS Example To Start
    Full CSS Example Site

    CSS Example: Changing Colors of Link element Per Event
    CSS Example: Create a Table with Two different Looks
    CSS Example:How to Add a Caption to Image

    Full CSS Tutorial Site From Beginning to Advanced


    Examples of Table Formats in Web Applications


    Responsive Webpage: BootStrap

    Lectures:

    Class Note_14: Responsive Web Design
    Bootstrap Getting Started
    Quick Bootstrap Code Summary

    CSS Bootstrap Overview:
    Tutorial: Intro to Responsive Webpage
    Bootstrap Viewport

    Code Examples:

    Bootstrap Getting Stared

    Grid:
    Two basic Bootstrap pages: Container
    Two basic Bootstrap pages: Container-fluid
    Bootstrap Grid Basics Bootstrap Grid System and its classes: 12 columns and xm, sm, md, lg
    Grid unequal coulmns

    Table and Button:
    Bootstrap: Table
    Contextual Table
    Responsive Table
    Bootstrap example: Button Group
    Nesting Button Group Drop Down List

    Form and Input Sizing:
    Bootstrap example: Form
    Bootstrap example: Form - Bootstrap Horizontal Form
    Bootstrap example: Form Control Select
    Bootstrap example: Form Inputs
    Bootstrap example: Form input Group Size Control
    Bootstrap Input Sizing
    Bootstrap Foam Group Sizing

    @Media Query and Breakpoint:
    @media query and Rules
    Responsive CSS: Adding CSS Breakpoint
    Example: Adding CSS Breakpoint
    Example : Adding multiple Breakpoints


    Other Useful Features:
    bootstrap carousel (slider)




    URLs:

    Class Note_1_5: Letcture Notes on URLs
    HTML URL Encoding
    URL Query Parameter Example with Form Element
    How Your Personal Webpage Works with the Webserver on the EECS Host in URL
    HTML File Path Rules in URL
    Difference Between URI (Uniform Rresource Indentifier) and URL (Uniform Rresource Locator)



    4-6


    JavaScript Basics:
    Class Note_2_1: Letcture Notes JavaScript Basics
    Tutorial of JavaScript
    JS typeof operator
    JS Data Types
    Difference Between null and undefined

    JS Function
    Example:JS Function Invocations with () operator
    Example2:JS Function Invocations with ()
    Example3:JS Function Invocations ()
    Example4:JS Function Invocation without ()

    JS Object
    JS this Object and its Method Invocation
    JS Date Object
    JS Array Object

    JS RegExp
    RegExp: ignoreCase property of i modifier
    JS Error Handling
    JS Global Functions
    JS Sample Codes for Input Validation

    JavaScript Code Examples:
    Style display None Property
    Javascript Timing methods

    CSS with JavaScript Example: How to Create a Slide Show



    JavaScript Programming

    Class Note_2_2: Letcture Notes JavaScript Programming Only for the Part Covered in Class
    JS this object
    First Class Function Example








    Debugging Functions for Javascript in Web Browser:

    console.log
    console.assert()
    console.error
    console.trace







    Document Structure - Document Object Model (DOM):

    Official Document Object Model (DOM) for HTML/XHTML/XML by W3 Consortium

    DOM Lectures:

    Class Note_3_1: Example Picture of DOM Tree of Web Browser for HTML and Java Script
    Example of Document Object Model (DOM) for HTML and Java Script
    Class Note_3: Intro to Document Object Model (DOM) for HTML and Java Script

    Node Types of DOM Tree: (From W3C Schools Tutorial on HTML DOM)

    DOM Document Node Type for Document object of HTML window object
    DOM Element Node Types and Methods/Properties
    DOM Attribute Node Type and Properties
    DOM Text Node Type

    Mozilla Developers Network (MDN): HTML DOM Object
    MDN: Useful Example Sites of DOM Objects

    DOM References:
    Document Object Model (DOM) Specification for HTML/XHTML/XML by W3 Consortium

    Code Examples:
    Example of DOM property InnerHtml
    Example of How to Find DOM Objects: getElementByTagName
    Example of How to Access DOM objects and values: childen element count
    Difference between DOM Element children and childNodes properties:

    Difference between DOM Element children (Element children only) and childNodes (All the Child Nodes -- Element Nodes, Text Nodes, Comment Nodes)
    Exampe: DOM Element children (Element children only)
    Example: DOM Element children (Element children only)

    Difference between DOM Element children (Element children only) and childNodes (All the Child Nodes -- Element Nodes, Text Nodes, Comment Nodes)
    Example of DOM Element childNodes (All the Child Nodes -- Element Nodes, Text Nodes, Comment Nodes but No Attribute Nodes)
    Example of DOM Element childNodes (All the Child Nodes -- Element Nodes, Text Nodes, Comment Nodes)
    Example of DOM Element Select with childNodes (All the Child Nodes -- Element Nodes, Text Nodes, Comment Nodes starting from an empty Text Node as index 0)
    But
    Example of DOM Element Select with childNodes (Example before Changes?)



    Example of HTML DOM Object with button
    Element.className
    How to set an attribute value of a DOM element

    Example of How to Access DOM Atrributes: namednodemap: getnameditem
    Examples of HTML DOM Object creation
    Examples of HTML DOM Object Create and Append
    Example of How to Create Text Node
    How to create DOM Objects and Replace: replaceChild


    Form Element in DOM: How to Access User input values in Form Element

    Understanding Form Element with Http Get method to send parameter values from Client site html page (by Web Browser) to a Serverside program (with Web Server)

    Form object and Submit Type with get Method
    How to Access an attribute value of Form Element
    How to Create Form object

    Example of HTML DOM Object - div
    Example of HTML DOM Object - date



    Useful DOM Tree Query Features:

    Document.querySelector with CSS Selector or Rex
    XPath in Java Script


    Webpage Processing Tool:
    DOM Example: Webscrapping with Python BeautifulSoup
    DOM Example: Python BeautifulSoup Documentation


    Summary of Example Codes (Above) of DOM Objects: Input and Function to access value
    Summary of Example Codes (Above) on How to Use DOM objects and Functions to Manipulate DOM Objects



    Window Object of html page:

    DOM Window Object of your html and Full List of Its Methods/Properties

    Examples: Methods of Window object
    alert method of Window Object
    confirm method of Window Object

    Examples: Properties of Window object:
    Property location of Window Object
    Property parent of Window Object
    Exampel Code: parent of Window Object
    Property top of Window Object
    Example of Window Object Local Storage

    Debugging Methods: Console object Methods to access Browswer's degugging console
    Console Object and Its Methods
    Example of console.log Method
    assert method of Console object for Debugging
    error method of Console object for Debugging
    trace method of Console object for Debugging


    How to Debug HTML, JavaScript, DOM, XPath in a Google Chrome (Any Web Browser Has the Same Debugging Features)




    Animation:

    Class Note_7: Lecture Notes On Drawing Vector Graphics on Web
    Canvas Element Examples
    Canvas Context Element
    Canvas Context

    Class Note_7_2: Lecture Notes on Animation
    Class Note_7_3: Lecture Notes On Animation using Loop


    MIME (Multi-Purpose Internet Mail Extensions) Type for Internet Media Type:
    MIME Type/Internet Media File Exchange Type Guides
    Internet Media File Type validator







    Event:

    Class Note_4: Event
    Example: Three Ways to specify HTML DOM Onclick Event with Java Script
    addEventListener() Method

    Examples:

    HTML DOM event OnChange
    Onclick Dropdown
    HTML Form Event: OnChange
    HTML DOM event Onkeyup Onkeydown
    addEventListener and removeEventListener

    HTML DOM Event Attributes List

    HTML DOM Event Attributes List on Window Object, Elements, and Mouse/Keyboard Event Attributes
    HTML DOM Event attribute: onerror

    DOM Event List and Event Object Properties:

    HTML DOM Event List and Event Object Property List

    Event Object Properties: target element
    Mouse Event object Properties: clientX, clientY

    Things to Know in Event Programming in JavaScript:
    Tutorial: Things to Know in Event with Java Script
    cannot assign more than one event handler using HTML only as there’s only one onclick property (scroll down to see the example for)
    common mistakes in Event with Java Script event handler function should be assigned without () operator

    Multiple Events on One Elelement:

    HTML DOM Javascript addEventListener
    Multiple Event Handlers on one Element
    Multiple addEventListener on One Elelment
    addEventListener: Passing Parameters

    Multiple Events on Nested Elelements:

    Event Execution Sequence For Nested Elements with Their Event Handler Functions

    HTML DOM Javascript addEventListener with Capturing and Bubbling flagScroll down for the examples
    Execution Sequence of EventListeners: Bubbling Mode and Capturing Mode
    Event object Method: stoppropagation method

    Execution Sequence Explained with Examples for Multiple Events on Nested Elelements :

    Good Examples of Event Execution Rules with Bubbling and Capturing on the Nested Elements
    Explained with the Exampe for Event object's currentTarget(this) and Target Elements







    7-9



    Architecture of Web Application on Internet

    Semi-Structured Data Processing in Web Applications

    Universal Data Exchange Formats in Semi-Structured Model between Web Applications

    Lecture Note on Semi-Structured Data Model with XML and JSON


    Universal Data Exchange Formats in Internet Between Web Applications As Client and Server -- Platform Independent

  • XML (eXtensible Markup Language) in Semi-Structured Format
  • JSON (JavaScript Object Notation) in Semi-Structured Format
  • CSV (Comma Separate Value)/TSV(Tab Separate Value) Structured Format from Relational Model

  • Good Example of Web Service Site
    Bad Example of Web Service Site
    Bad Example of Web Application Site





    Lectures:

    Universal Data Exchange Formats in Semi-Structured Model



  • XML (eXtensible Markup Language):
  • XML as Universal Data Exchange Format in Semi-Structured Model

    Class Note_5: Introduction to XML

    Tutorial for XML with Examples of XML Data
    Tutorial site (w3school.com): How to Use XML

    Data Processing for XML DOM

    XML Parser to Convert a XML Data to a DOM When a Client Recieved a XML Data in a Text Format
    XPATH To Query (Serach) XML DOM Tree
    XPATH Syntax
    Class Note_5_5: Lecture Notes On XPATH Only for the Part Covered in Class


    XML Data Processing Examples in Java Script with AJAX in HTTP in a Client Site:
    XML File Example: cd_catalog.xml
    AJAX XML File Processing Examples
    AJAX Examples - XML File Processing
    AJAX XML Processing Example






  • JSON:
  • JSON (Java Script Object Notation): Universal Data Exchange Format in Semi-Structured Model

    What is JSON ? How to Exchange and Process JSON Data
    Intro to JSON
    JSON Syntax vs Javascript Object Syntax for values

    Example of json data format of a real life application : Yelp One Business Data Format

    How to Exchange and Process JSON Data: JSON.parse and JSON.stringify:
    For JSON Data Processing -- JSON.parse to Convert a JSON Text to a JSON Object when Recieved JSON Data in a Text Format
    Processing Date in JSON
    JSON.stringify to Convert JSON Object to a Text When Sending JSON Data
    JSON.stringify with Date()
    JSON.stringify with Function()

    Example of JSON Object
    Accessing Values of JSON Object
    Accessing Names(Scheme) of JSON Object
    Accesing and Changing JSON Object
    Delete Object in JSON
    JSON Array - Nested Array

    Summary of Basic JSON Data Processing Examples

    Examples of JSON Processing When recieved in Client side Html codes:
    JSON Data Processing with HTML in a Client


    Examples of JSON Processing in Server side application codes:
    JSON Data Processing with PHP in Server Side

    Lecture Note6_5_5: On How to Process JSON data (in Mobile App)


    http://www.json.org/








    Serverside XML Data Pocessing For Advanced Study -- Not Required for CIS408

    DOM with XPath Guides for HTML and XML Processing:
    How to Debug HTML with JAVA Script, DOM, XPath
    MDN Site for Code Examples of DOM with XPath in Java Script
    MDN Site for Code examples of DOM in Java Script


    XML API for Server side Applications: DOM Parsers to Download for Programming in JAVA or Other Languages:
    SAX XML Parser

    XML DOM Processng Examples for Other Application Programming in Other Languages:
    Class Note_5_4:Example Codes of XML Processing with XML Parser in Java
    Examples Conversion Between XML and Table
    Examples of Mobile APP On How DOM Parser and SAX Parser Work to Process XML data (Examples in Mobile App)




    10-11



    Client Server Communications in a Web Application


    HTTP (HyperText Transfer Protocol):
    Protocol in that your Web Browser as a Client Communicates with a Webserver

    Lectures:

    HTTP: How to Communicate between a Web Browser and a Web Server:

    Class Note_17: Introduction to HTTP Protocol on How a Web Browser Brings(Requests) Source Files (in URL) in HTML and JavaScript from a Web Server
    Lecture Note_5_1: more on HTTP

    This a Form element Example and an Example of an AJAX request to be transformed to a http request by the web browser.
    Example: From Form Element to HTTP Request by a Web Browser


    How to write HTTP (in your Java Script with HTML) to Communicates (Request Files as a Client) with a Webserver

    AJAX (Asynchronous Java Script and XML):


    Lectures:

    Class Note_18: Controller as Server Communication with Client in JavaScript Using AJAX

    AJAX Intro
    AJAX XMLHttpRequest Object with Methods and Properties
    Class Note_11_2: AJAX Intro and Syntax Quick Summary


    AJAX Code Examples:

    A form element like this is transformed to an AJAX request like this by a web browser.

    Client Request:

    AJAX Send a Request to a Sever with GET/POST methods
    AJAX Examples - XMLHttpRequest
    URL Query Parameter Example: GET method
    AJAX Examples - POST method

    Server Response:

    AJAX Server Response (Scoll Down to Look at the Example for Using a Callback Function)
    AJAX Examples - Callback Function
    AJAX Example - retrieving Server Response
    AJAX Examples - Processing XML Response
    Example with a Callback Function for ResponseText Handling
    AJAX Examples - Accessing Server Response Header


    AJAX and JSON Data Processing:
    AJAX and JSON Data Processing
    AJAX and JSON Array Processing


    AJAX XML Processing:
    AJAX Example for XML File Processing
    When cd_catalog.xml file looks like cd_catalog.xml
    Example with a Callback Function for Response XML File processing
    AJAX with XML Example navigate Server XML Response
    Summary of AJAX Examples with Response Handler for File Processing

    XML Processing Examples in Java Script with AJAX:
    XML File Example: cd_catalog.xml
    AJAX XML File Processing Examples
    AJAX Examples - XML File Processing
    AJAX XML Processing Example


    AJAX Event Handling :

    Class Note_11_3: Lecture on AJAX Asynchronous Event Handling
    Example of Asynchronous AJAX Request and Handling Server Response Data (Scoll Down to Look at the Example for Using a Callback Function)
    Class Note_11_3: Example of AJAX Asynchronous Event Handling Sequence
    AJAX Example for Navigating with Server's XML Response


    HTTP Basics on MDN









    Same Origin Policy:

    HTTP Communication Protocols on File Request from Same Origin Domain (SOP) and Cross Origin Domain (CORS) for Web Security:

  • HTTP Same Origin Policy Background Picture
  • MDN: HTTP Communications on Same Origin and Cross Domain


  • Same Origin Policy:
  • Same Origin Policy Summary
  • Same Origin Policy with Project4 Example
  • MDN Site on Same Origin Policy Deatils
  • Why is the same origin policy so important?



  • Code Examples for XML and JSON File Request and Same Origin Policy and Handling Functions for Processing with AJAX and JQUERY
    ***************


    CORS (Cross Origin Resource Sharing): Cross Domain File Request Protocol: Controlled by Server Side HTTP Response

  • CORS: Cross Origin Resource Sharing - HTTP Comunication Protocol for Web Security
  • Cross Origin Network Access Rules
  • W3 Consortium: Cross Origin Network Access Rules

  • Examples show that Server side script controlls the cross domain file access by adding Acess-Control-Allow-Origin to the header of Response to tell the Browser in a Client side to allow a JS script read/display this file.
    Example: Cross Doman Server side Code Example to Generate JSON Output with PHP, Mysql
    Angular Example: Cross Domain File Include
    jsonp





    Misc:
    Java Script Window object - Browser Object Model (BOM)
    Java Script Window Location object
    Things to Know in Controller Server Communication







    JavaScript Framework for AJAX: JQUERY

    Quick Basic Summary of JQuery, AJAX and Bootstrap

    JQUERY:

    Class Note_10: Lecture Notes: JQuery
    Code Examples:
    JQuery Tutorial to Start
    JQuery Syntax
    JQuery Event
    JQuery Selectors
    JQuery Effects
    JQuery hide class Example
    JQuery sliding down Example
    JQuery HTML DOM Get/SET
    JQuery Get Content
    JQuery Set Content
    JQuery Attr Call back Function
    JQuery Traversing Example
    JQuery Parents Example
    JQuery parentsUntil method Example

    JQuery Examples
    JQuery Examples -- stop slide

    Jquery Examples with Event object
    JQuery example:Event object property: currentTarget property
    JQuery example: Event Methods

    JQuery with Examples

    JQUERY with AJAX:
    JQuery AJAX Tutorial with Examples
    JQuery AJAX Load Method
    JQuery AJAX Load
    JQuery AJAX GET/POST Method
    JQuery AJAX GET Method
    JQuery AJAX POST Method

    JQuery API Reference Site:
    JQuery with AJAX Call Syntax with Data Types
    JQuery ParseXML




    11-13


    Server Side Programming (as CGI) with PHP on Apache Webserver


    Architecture for Web Application: Model-View-Controller (MVC)

    Building 3-Tier Web Service in Model-View-Controller (MVC)

    There are So Many New Web Frameworks Come and Go Constantly...
    Class Note_16:Building 3-tier Web Service with MVC Architecture and 4 common Platforms

    Class Note_18: Controller Server Communication
    Class Note_19: Introduction to Web Server




    CGI (common Gateway Interface):

    Class Note_1_1: Letcture Notes on Introduction to CGI and Serverside Scripts
    Class Note_8: CGI Tutorial and REST API Example with Perl




    Simple Serverside Script Code Examles of AJAX with Server Side Script in PHP/ASP:

    AJAX with PHP in Server side
    AJAX Examples Processing Server Response text
    Summary of Examples of Server Side Script in AJAX with ASP
    Summary of Server Side Script Examples

    Code Examles of AJAX with ASP Server Side:
    AJAX with ASP in Server Side
    AJAX ASP Example











    Server Side Programming (as CGI) with PHP, Apache Webserver, and WITH MySQL Database Server:

    Architecture for Web Application: Model-View-Controller (MVC)

    Building 3-Tier Web Application in Model-View-Controller (MVC) on WAMP/LAMP Server Platform

    Class Note_16:Building 3-tier Web Service with MVC Architecture and 4 common Platforms



    Three Sides Communications Need to be Set Up on Server Side on Any Web Application Platform

    For Example with WAMP/LAMP Server Platform:

    1) Communication Between Web Browser and Apache Webserver on Server side to Listen HTTP Request on the Default Port:80 -- Remote Connection

    2) Communication Between Apache Webserver and Your Server Program (Usually on the Same Server Side Host) -- (For PHP Server through Global System Variables)

    3) Communication Between Your Server Program and Database Server on either on the Same Domain or Different Host within LAN (For Example, MySql Server of WAMP Server to Listen on the Default Port:3308)



    PHP Tutorials for Server Progarmming:

    Class Note_9: Introduction to PHP: Summary of Syntax ***

    Class Note_9_2: Basic PHP Syntax and Database Programming Using PHP ***


    Usefule PHP Tutorial Sites with Examples:

    Note that You don't download PHP from the Php.net site for Project5. We will download an Open Source WAMP/LAMP Server Platform that has a PHP Server in the package.
    The detailed Instruction to set up a WAMP Server with PHP will be given in the Lab5 Section


    PHP Getting Started:
    Read All in this Section: Most Important Lectures for Project 5 !!

    How to start the first Php script on the Server

    Two Sides Communications Need to be Implemented as Server Side Codes:
    Example Codes for Two Side Communications in PHP Server Codes:

    1) Communication Between Apache Webserver and Your PHP Server Codes through Global System Variables Usually on the Same Server Side Host

    Dealing with Form element in PHP ***
    PHP Predefined Super Global Variables ***
    How to get PHP Server Info ***
    How to get PHP Server Info: php.ini ***
    Where to find/print the PHP Server Info: phpinfo(); to find php.ini file path ***

    How to get PHP Server Configuration file content php.ini

    2) Communication Between PHP Server and MySql Databse Server Using ODBC: (For Example, MySql Server of WAMP Server to Listen on the Default Port:3308) on either on the Same Domain or Different Host within LAN

    PHP Basic Example Codes with ODBC(Open Database Connectivity) mysqli to Connect to MySql ***
    PHP Basic Tutorial with ODBC(Open Database Connectivity) mysqli to Connect to MySql ***
    All the Important MySqli for PHP and MySQL Communication using ODBC ***
    Tutorial: PHP MySQL Connect/Login using ODBC ***



    Quick PHP Tutorial with Code Examples for Connection to MySQLNote that the version of PHP in this tutorial is old ***

    More PHP Programming Tutorial


    Useful PHP Features:

    File I/O:
    PHP File I/O Tutorial
    Useful PHP Filesystem Functions
    PHP: file_get_contents()
    PHP: file()
    PHP for creatng File Upload
    Useful PHP Programming Tutorial

    Index Page to Useful PHP Features

    XML Related Features:
    XML Related Features
    PHP with XML: simplexml_load_file()
    PHP with XML: simple xml parser functions
    Tutorial: PHP with DOM Document for XML
    PHP with DOM Document Class

    Database Related Features for ODBC (Open Database Connectivity):
    mysqli basic example code
    All the Important MySqli for PHP and MySQL Communication using ODBC
    Three Different ODBC APIs to Choose for PHP Server and MySQL Communication using ODBC ***
    PDO (PHP Data Object) related

    PHP MySQL ODBC API Guide - MySQLi: How to Install a Driver to Set Up
    All the Database Related Feature List

    Other:
    Command Line Usage
    text Processing Features
    XDebug

    PHP Manual/Documentation with Examples (Note that You don't download PHP from this site for Project5. We will download a WAMP/LAMP Server Platform that has PHP in the package)

    Index Page to Useful PHP Features by category
    Index Page to Useful PHP Features in Alphabetical Order




    14-15



    Building 3-Tier Web Application in Model-View-Controller (MVC) on WAMP/LAMP Server Platform

    WAMP/LAMP Server Platform

    Server Side Programming with PHP with Apathe Webserver and Relational Database Server- MySQL or MS SQL Server


    Server Side Programming with Database Server:

    Class Note_22: Database Server


    Basic Database Query Examples in MS SQL Server: DDL to Create a Table Scheme, DML to Insert/Update/Delete Rows, and SQL to Query
    Noet that you have to "Create Database" first before "Create Table"


    MySQL Tutorials:

    MySQL Tutorial
    MySql: How To Connect and Log into MySQL Server
    MySql: How To Create Database and Use it
    MySql: How To Create a Table
    MySql: How to Load/Insert MySQL table
    MySql: How to Select/Retrieve Table Records
    MySql: SQL Examples

    How to Create a Database From Visual Studio in ASP.NET
    Summary Lecture on How to Create and Query Database Tables




    Lectures on JDBC(Java Database Connectivity/ODBC(Open Database Connectivity) to Connect To a Database Server from Your Serverside codes:


    JDBC(Java Database Connectivity) for Communication to MySql Databse Server in a Java based Server (Controller):

    MySQL Applications Using Java & JDBC ***
    Summary of Database Creation, SQL, Programming with JDBC and Java with Example Codes(Scroll Down for JDBC Codes)


    ODBC(Open Database Connectivity) for Communication Between PHP Server and MySql Database Server:
    For Example, MySql Server of WAMP Server to Listen on the Default Port:3308 on either on the Same Domain or Different Host within LAN

    List of All the ODBC MySqli Classes and Methods with Code Examples for PHP Server and MySQL Server Communication ***

    PHP Basic Example Codes Using ODBC(Open Database Connectivity) mysqli to Connect to MySql ***

    ODBC MySqli: Connection class ***

    ODBC MySqli: Statement class ***

    ODBC MySqli: Prepared Statement class ***
    ODBC MySqli: Prepared Statement with parameter binding ***
    ODBC MySqli: Prepared Statement and Accessing the SQL Result of Prepared Statement ***

    ODBC MySqli for Stored Procedure in MySQL ***

    ODBC MySqli: (SQL) Result Class with Examples for Accessing SQL Result ***

    Three ODBC(Open Database Connectivity) APIs to Choose for PHP Server to Communicate To MySql Database Server





    Sample Codes of Web Applications in MVC with Server Side Examples on WAMP Server:

    Example of Server Side PHP Script to Connect to MySql on WAMP Server:

    PHP Application Code Examples 1: Search Music by Name (This sample codes shown here are only a part of a full web application project files)

    Lab Guide with Set Up instruction for WAMP Server (2017) and Simple Example Codes for Building Web Application with PHP and Mysql

    Note that the PHP ODBC API for MySQL Used here is an OLD Version (deprecated) ! Use the Most Updated Mysqli or PDO (See the PHP Database Features Above)

    source script of index.html
    source php script of search_musicapp.php
    source php script of search_musicapp1.php



    Full Web Application Example with PHP, Bootstrap, AJAX on WAMP Server : Online Book Store Catalogue Search*** (the Most Related Sample Web Application Codes to Look up !!!)

    Online Book Store: Example of Web Application with PHP, AJAX and BootStrap, and How to Create a Database Table from a XML file in a Serverside Script



    Simple Examples of PHP Codes with MySql:

    PHP Code Examples for a Simple Search Funtion with PHP and Mysql

    Example 3: Simple Search Funtion with PHP, Mysql and Bootstrap
    Example 4: for Building a Web Based Automatic maintenance of Database for Insert/Update with PHP and Mysql Stored Procedures
    Example 5 for Building Web Application with PHP and Mysql Calling Stored Procedure to a Database Server for Database Insert and Update
    Example 2: Cross Doman Server side Code Example to Generate JSON Output with PHP, Mysql


    Example Server Controller Codes as Rest API Based Web Application on .Net Framework as a MS Client Using ODBC to Map to CRUD Operations in SQL Server


    Examples of Database Programming: How to Create Stored Procedure in a Database Server
    Example Code of Stored Procedure for CRUDE in MS SQL Database Server
    Stored Procedure, View, Trigger in MySql for CRUDE Operations


    Supplementary Database Guides:

    Processing Multimedia with Databases Server:
    Class Note_11: Lecture Notes on ODBC and PHP
    Example Codes to Insert and Retrieve Image Data in Oracle DB with JDBC and JAVA
    Example on How to Store and Retrieve Image Data in MySql with PHP



  • How to Publish Your Website on Internet



  • 15-16



    How to Design Web Application Server

    Better Way to Build Web Service:

    RESTful (Representional State Transfer) API: Framework to Provde a Design Approach for Architecture of Web Application Server to Communicte in HTTP

    Stateless Communication Protocol between Client and Server:

    Class Note_18: Controller Server Communication in HTTP and Rest API
    Class Note_19: Introduction to Web Server (Handling HTTP Requests)

    Web Server Implementation in NodeJS:

    Lecture: Webserver with Express (Node JS Webserver Framework) and Design in REST API
    Example Codes of a Simple Webserver (in Node JS with Express)
    Example Codes of Express Routing (in Node JS with Express)

    See the NodeJS Section below For more on NodeJS App with Express !



    REST API Based Web Application Server Side Design Means:

    REST API Requires All the Components for Web Framework:

    Adding Web Browser and Web Server in HTTP for Stateless Communication Protocol between Client and Server

    Rest API Web Application Module Design Guide:
    What is Rest API? ***

    REST API Basic Guides
    More Descriptions of Rest API in wiki ***

    REST API Tutorials with Examples in Different Languages

    Lecture Note_5_1: HTTP Overview for Stateless Communication between Client and Server Used in Rest API Web Applications




    Design Guide of REST API Based Web Application Server Implementation with Database Server:

    1. One Server Module to Handle Resources (objects/records, files, or blocks) for Each HTTP Method Type to Handle Get/Post/Put/Delete Requests
    2. Mapping Each Method to each CRUD (Create/Retrieve/Update/Delete) Operation in Database Server with Stored Procedures

    Client HTTP Request Method Types Handled by the Corresponding REST API Based Web Application Server Modues that Maps to CRUD Operations in Stored Procedures in Database Server

  • Get ==> Retrive/Search Resources ==> SP_Search(input parameters): Select
  • Post ==> Create, Update Resources ==> SP_Insert(input parameters)/SP_Create, SP_Update(input parameters)
  • Put ==> Change /Update State of Resources ==> SP_Update(input parameters) or SP_Insert(input parameters)
  • Delete ==> Delete Resources ==> SP_Delete(input parameters)


    Example Codes of a Rest API Based Web Application on .Net Framework to Handle(Map) CRUD Operations to a Call each Stored Procedure in MS SQL Server

    Example Code of Stored Procedure for Create Operation (Insert Procedure) in CRUD in MS SQL Database Server




    Initial Sign-On Design: Login Mechanism based on Rest API for Web Application by WebISO




    Supplementary More on HTTP:
    Class Note_5_3: HTTP Quick Tutorial Examples For Server and Client Application on WWW
    Full Tutorial on HTTP for Client Server Applications On WWW

    Tutorial Site on Web Server
    HTTP Guides on MDN


    Lecture Note On Web Service with SOAP and REST API on Android









    Sessions and Cookies:

    Initial Sign-On Design: Login Mechanism based on Rest API for Web Application by WebISO


    Class Note_23: Cookies and Sessions
    Communication in Cookie and Cookie Life Cycle
    Lecture Note_18: Cookie with Same Origin Policy, Problems for Web Security
    Class Note_29: Lecture on Web Security

    Tutorial on Cookies
    Tutorial: JavaScript Cookies
    Example JavaScript: Set and Check Cookies

    Wiki: TLD (Top Level Domain)



  • 11-12



    JavaScript Framework for Web Application Design:

    Web Application Design:

    Lectures:

    Class Note_13: Single Page Application
    Class Note_15: Web Apps



    Integrated Lectures on Angular JS to Build a Application Server in the Java based Platform Will be Given Below !
    Angular JS :

    Class Note_12: Introduction to Angular JS
    Class Note_12_1: Quick Angular JS Summary to Start
    W3School: Angular JS Tutorial Site
    Tutorial Point: Angular JS Tutorial Site
    Good Angular JS Tutorial Site
    Angular JS Site
    Angular JS Example Sets:
    Angular JS Example Set


    The Site for the Code Examples Used in the Lecture on Angular JS


    Lectures of Each Component with Examples:
    Angular JS Expression
    Angular JS Module
    Angular JS Directives
    Angular JS Model
    Angular JS Model: Data valiation
    Angular JS Model: model application status
    Angular JS Data Binding
    Angular JS Data Binding Example with Input Value
    Angular JS Data Binding with Controller
    Angular JS Data Binding Example with Check Box and attribute
    Angular JS Data Binding Example with Form
    Angular JS Controller
    Angular JS Scope
    Angular JS Example
    Angular JS Example with http

    Angular JS Filters
    Angular JS: Example to Add a Custom Filter
    Angular JS Services
    Angular JS AJAX http
    Angular JS Example with http
    Angular JS Include

    Example shows that Server side script controlls the cross domain file access by adding Acess-Control-Allow-Origin to the header of Response to tell the Browser in a Client side to allow a JS script read/display this file.
    Example: Cross Doman Server side Code Example to Generate JSON Output with PHP, Mysql
    Angular Example: Cross Domain File Include
    jsonp

    Angular JS Table
    Angular JS Select
    Angular JS SQL
    Angular JS DOM
    Angular JS Event
    Angular JS Form
    Angular JS API

    Angular JS Routing
    Angular JS Routing Summary with Examples
    Angular JS Routing Example
    Angular JS Routing Example with templateUrl
    Angular JS Routing Example with templateUrl
    Angular JS $routeParams

    Class Note_24: Angular Input validation
    Angular JS Validation


    Good Tutorial Site for Angular JS
    Good Tutorial Site for Angular JS

    13



    Java Based Web Application Platform

    Building 3-Tier Web Service on Java Based Web Application Platform for Model-View-Controller (MVC)
    Class Note_16:Building 3-tier Web Service with MVC Architecture and 3 common Platforms

    Java Based Web Application Platform and Sample Application Codes:

    How to Create a Web Application with Java Based Application Server with MS SQL Server:

  • Set Up Instructions for Java Based Application Server in Eclipse Connected to MS SQL Server
  • How to Create Java Servlets for CRUD Operations


  • Building Web Service with JAVA in Eclipse with MS SQL Database Server and JDBC-ODBC:
    How to Set Up JDBC-ODBC in Eclipse to Connect to MS SQL Server
    Example Codes 6: to Build Web Application in Eclipse with JAVA/JDBC and MS SQL Server



    14



    ASP.NET Platform

    Building 3-Tier Web Service in C# in ASP.NET for Model-View-Controller (MVC)

    Building Web Service in C# in ASP.NET with MS SQL Database Server and ODBC on IIS Webserver:


    Set up ASP.NET with local IIS Web server : How to Create Webserver site in local host in ASP .NET
    How to Create Webpage in ASP .NET
    Quick Tutorial: How to Create WebPage with Action in ASP .NET

    How to Start to Create the first project for MVC Web Application in ASP .NET
    How to Create the first project for MVC Web Application in ASP .NET
    Adding a Controller
    Adding a View


    Sample Web Application Code Exampes in C# in ASP.NET (WebForm in Old Framework):

    Fraternity Membership Management Application:
    Buiding Fraternity Membership Management Site for How to Create a Web Service in ASP .NET with SQL Server
    How to Connect to a Database in SQL Server From ASP .NET
    Set Up Example in SQL Server From Visual Studio in ASP .NET


    Sample Web Application Code Eamples in C# with Web Matrix/GRidview in ASP.NET (Old Framework):

    Hotel Room Reservation Service:
    Example Codes 4_1: Hotel Room Reservation Service - Building Web Application with SQL Server, GridView and MS IIS Manager in ASP .NET
    Example Codes 4_2: Hotel Room Reservation Service with Calling Stored Procedure in SQL Server and WebMatrix on ASP .NET FrameWork
    Example of Stored Procedure in Database Server


    NEW ASP.NET Web Application Framworks:

    Set Up ASP .NET Platform with Entity Framework6 Using MVC5:

    How To Set Up Web Aplication From Visual Studio in ASP .NET with SQL Server
    Getting Started with MVC Entity Framework: Setting up Database NEW !
    How to Create a Web Application Project in Visual Studio in ASP .NET
    ODBC Setup to Add MS SQL Server in ASP .NET (Managing the Database Driver and Data Source)


    Web Application Code Examples Entity Framework6 Using MVC5:
    How to Create CRUD Operations in ASP .NET


    Sample Web Application Codes using Entity Framework6 with MVC5 in ASP.NET:

    Course Enrollment System:

    Course Enrollment System: Sample Codes for Controlling Courses in C# in ASP .NET with Entity Framwork6 Using MVC5 and Linq
    Note that the sample code doesnot show entire codes and design for simplicity.


    How to Publish Your Web Application on ASP.NET with IIS Web Server:
    Set Up Instruction for Deploying Web Application with IIS


    Creating a Database Using AZURE Cloud:
    Quick Tutorial: How to Create a Database on Azure Cloud
    Quick Tutorial 2: How to Create a Database on Azure Cloud

    Object Relational Mapping Framework in ASP.NET:
    Linq TutorialNote that the example in this note is an old version of Entity Framwork. See the example codes above for the most recent version of Entity Framework with Linq


    15


    Web Server Programming with Node JS and Mongo DB (MEAN Stack)

    Serverside Java Script Framework: NODE JS

    Class Note_18: Controller Server Communication
    Class Note_19: Introduction to Web Server
    Class Note_20: Introduction to Node JS
    Class Note_21: Express

    Good Node JS/Express Tutorial Site
    Express Basic Routing
    Angular route Parameters




    NodeJS Set Up Guide

    NodeJS Setup Guide
    NodeJS Site
    NodeJS Download
    NodeJS Package Manager Download
    NodeJS Installation Tutorial on Window
    NodeJS Installation Tutorial on MacOS
    NodeJS Installation Tutorial on Ubuntu/Linux

    Another NodeJS new source site for NodeJS Set Up
    NodeJS Download





    NodeJS Frameworks: Express
    Node JS Framework: Express
    Express Set Up: Getting Started

    Express Coding Guide:
    Express Example: How to Create a Simple App
    Express Tool to Generate an Express App
    Express Basic Routing
    Angular route Parameters
    Express Guide: Routing to Write
    Node JS HTTP Methods to Write

    Basic Express Built In Frameworks/Middleware:
    Node JS Documentation: Global variables
    Node JS Documentation: _dirname, _filename
    Express Guide: API Methods: res.json()
    Express Guide: Writing a Server Side Code:Middleware
    Express Guide: Integrating a Database
    Express Guide: Static File Server
    Node JS: server.address()
    How to Know your server address on Window
    Node JS: multer for file upload
    Node JS: bodyparser.urlencoded with extended false/true
    Node JS: bodyparser.urlencoded with qs
    Node JS: bodyparser.urlencoded

    Node JS: request object
    Node JS: Node JS: response object
    Node JS: setting response object
    Node JS: http API




    NODEJS SAMPLE APPLICATION CODES

    Web Server Code Examples with NodeJS and Express :

    Good Node JS Express Tutorial Site
    Tutorial for Express Basic Routing
    First Node App





    NodeJS works with Most of Databases:
    Example Codes for Connectivity to Each Database in NodeJS

    Database Connectivity in NodeJS

    Node Package Manager (NPM) for Database Connectivity

    Microsoft SQL Server: Database Connectivity in NodeJS
    MySql: Database Connectivity in NodeJS
    Postgre: Database Connectivity in NodeJS



    Application Code Examples with Node JS with Database Server MongDB or MySql :


    Simple Node Application Codes with MongoDB

    Node Application Codes in MVC with MongoDB

    Node Application Codes in MVC with MySql




    Other Resourses:
    Node JS Documentation
    Framework Built on Node JS Express
    Free Tutorial Sites on NodeJS and MEAN Stack




    Set up Guide for MEAN Stack: Also See Project 3 Section For Node JS Set up Guide
    Node JS with Mongo DB Setup Guide
    Node JS with Mongo DB Setup Guide
    Angular JS with Node JS with Setup Guide

    Node JS API for MongoDB:
    NodeJS: Integrating to MongoDB
    Mongoose: Node JS API for MongoDB: For connecting/querying to MongoDB:
    Mongoose To Set Up
    Mongoose Guide



    How to Call (Integrate) a Python Script/App from NodeJS with Express:
    Codes for How to Call a Python Script in NodeJS with Express Routing
    Codes: How to Call a Python Script in NodeJS with Express Routing
    Three Ways to Call a Python Script in NodeJS with Express




    Integrating a Database Server with Node JS: MySQL/MongoDB/PostgreSQL/SQL Server:

    Class Note_22: Database Server

    Node API for MySQL:
    NodeJS: Integrating to MySQL
    Node-MySQL

    NOSQL Database: Object Relational Mapping for Semi Structured Database

    MongoDB:

    MongoDB Installation:

    MongoDB Installation: Either Enterprise Version or Community Version:
    MongoDB Download and Installation
    MongoDB Enterprise Version Download
    MongoDB Installation Guides on Window
    Or
    MongoDB Community Version Installation
    MongoDB Installation on Window

    MongoDB GUI Compass Download


    Mongo DB Setup:
    Full Menu of MongoDB Manuals for Getting Started
    MongoDB Cilent: Mongo Shell to start
    Start your mongo Shell (client) and Connect to MongoDB Server
    MongoDB Site: How to Import Data Set


    MongoDB CRUD Operations

    Introduction to Mongo DB
    Mongo DB: Databases/Collections
    Mongo DB: Document Format
    Mongo DB: CRUD Operations
    Mongo DB Getting started
    Mongo DB Mapping Chart to Compare to SQL

    Mongo DB Query: Select Operation
    Mongo DB: Aggregations
    Mongo DB Query Examples Comparison with SQL
    Mongo DB Join Operator: lookup with unwind for array

    Class Note_22_3: MongoDB Resources
    Mongo DB Documentation


    Application Examples Built with Node JS
    Sample Web Application Using Node JS with Mongo DB
    Sample Web Application with Angular JS and MS SQL Server



    16


    Security on Web Applications on Internet:

    Class Note_29: Lecture on Web Security
    Class Note_20: Malicious Javascript
    Class Note_21: Lecture on NetworkAttacks
    Class Note_22: Lecture on SessionAttacks
    Class Note_23: Lecture on Code Injection
    Class Note_24: Lecture on Phishing Attacks
    Class Note_25: Lecture on DOS Attacks


    16


    Cloud Computing

    Class Note_21: Large Scale WebApps I
    Class Note_22: Large Scale WebApps II

    Multimedia Service on Cloud
    Mobile, Multimedia and Cloud Computing
    Class Note_11:Lecture Note on Cloud Computing


    Amazon Cloud Service:

    Amazon AWS RDS (Relational Database Service)
    Amazon AWS Elastic Cloud Computing (EC2) for Web service
    How to Create Amazon AWS Virtual Hosting (EC2) with a Web Server and Amazon Database Server (RDS)

    Microsoft Cloud Service Azure

    Trial account for Microsoft AZURE Cloud
    AZURE Cloud
    Tutorial for MS AZURE Cloud
    Sample Project on Microsoft AZURE Cloud
    How to Create/Retrieve a Table in Microsoft AZURE Cloud
    How to Create/Retrieve BLOB data in Microsoft AZURE Cloud
    How to Create a SQL Database Server in Microsoft AZURE Cloud


    16

    Project Presentation
    Project Presentation Scedule

    ==> Completion of Homeworks/Labs is required for obtaining a passing grade.

  • This is a tentative scale and
    it could be changed

    Letter
    Grade

    Quality Points

     


      A

    > 93%  

    A: Outstanding (student's performance is genuinely excellent)

      A-

    90% - 93%

     

      B+

    87% - 90%   

     

      B

    82% - 87%

    B: Very Good (student's performance is clearly commendable but not necessarily outstanding)

     

      B-

    80% - 82%

     

     

      C

    75% - 80%

    C: Good (student's performance meets every course requirement and is acceptable; not distinguished)
        D 65%-75% D: Below Average (student's performance fails to meet course objectives and standards)

     

      F

    <65%

    F: Failure (student's performance is unacceptable)

    ADA Adherence. If you need course adaptations or accommodations because of a disability, if you have emergency medical information to share with me, or if you need special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible. My office location and hours are listed on top of this syllabus. If you need further information, please contact the ACCESS office, phone number 687-5106.

     


    Programming standards

    • Every program must include your name, CSU ID number, Class, Section Number, Hours, the words 'Homework # ...', and a short description of the assignment. For example:
       ' Name: Mark Zuckerberg  
       ' ID: 1234567            
       ' Homework #1            
       ' Description: Computing the average life of a light bulb
    • Every variable should have a meaningful name (this includes function/procedure/subprogram names).
    • Every portion of the program should be as cohesive (single purposed) as possible. This leads to a large number of small functions.
    • Every function (including the main function) should be preceded by a comment indicating its arguments and a description of the transformation it performs.
    • Non-obvious code within a function should be explained.
    • Code should not be over commented.