HLD - 6-17-13

advertisement
ID:
SME: Justin Gates
Development Round:
Accelerated Online Course Development High-Level Design Template
Course Name: Server-Side Scripting
Course Number: NM260
SME: Justin Gates
Address:8303 Mark Twain Place, Tampa, FL 33637
Email: justin.gates@rasmussen.edu
Phone: 813.704.0858
Course Description:
This course focuses on dynamic interactive web sites from a multimedia perspective. Emphasis is on data driven pages, interactivity through client side
scripting, dynamic web content and database access through server side scripting.
Pre-Requisites: Dynamic Content Management Fundamentals of Web Authoring and Design
Credit Hours: 3
Required Textbook:
Title: PHP and MySQL Web Development, 4th ed.
Author: Luke Welling and Laura Thomson
ISBN: 0672329166
Publisher Addison-Wesley Professional
Additional Publisher Digital Assets: CD containing software: PHP, MySQL, and Apache (included with textbook)
Other Required Materials: N/A
Course/Performance Objectives: These must exactly align with the official syllabus
Page 1 of 1
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
1.
2.
3.
4.
5.
6.
7.
Development Round:
Identify server side technologies used on the web to an accurate level.
a. Differentiate Between Server-Side and Client-Side Technolgoies/Languages
b. Compare the role of Frontend (client-side) and Backend (server-side) development activities.
c. Contrast the functions performed by HTML, PHP, and MySQL as it relates to interactive websites/web applications.
d. Interpret basic core PHP functionality (including basic operators)
Demonstrate basic programming of variables, calculations, and comparisons utilizing PHP and MySQL to 100% accuracy.
a. Differentiate between variable data types used in PHP and MySQL.
b. Demonstrate the ability to create variables of various types in PHP and discuss/describe the relationship between PHP variables and MySQL database
fields/columns based on data type.
c. Produce examples of a number of different functions commonly used in PHP to perform basic calculations, comparisons, and variable manipulation.
d. Construct basic functions using variables created in PHP and to store function output as new variables.
Develop error free code that is optimized and efficient through the use of arrays, functions, and constants
a. Analyze how data structures such as arrays, collections, constants and groupings function in PHP and MySQL and how functions can be used to take
advantage of each data structure to optimize the performance of a website/application.
b. Explain the concept of Refactoring and optimizing/improving existing functions or creating new functions and reducing potential for errors in PHP and
MySQL.
c. Investigate basic error codes reported in MySQL and using the MySQL Reference Manual as a resource for error checking.
Create dynamic forms using PHP and HTML forms to dynamically manipulate data to an accurate level.
a. Describe the role of forms on HTML-based web pages and frontend interface design.
b. Analyze the DOM (Document Object Model) concept and how PHP uses field data entered on forms and translates the information into variables to be
used as part of functions and stored within a record within a MySQL database.
c. Create scripts to output manipulated information (through PHP) to a browser window.
Manipulate multidimensional arrays, and strings for advanced data manipulation to an error free level.
a. Perform activities needed to enhance existing functions to include advanced manipulation of variable-based data in PHP and to output information to a
browser window or to a MySQL database.
b. Basic analysis of PHP error reporting in a browser session.
c. Apply best practices relating to data manipulation to reduce potential errors.
Utilize external files, sessions, and cookies to dynamically display information to an error free level.
a. Employ sessions and cookies – Demonstrate the ability to determine the difference between and when to use sessions and cookies.
b. Demonstrate ability to attach an external file to a client-side form and for the file to be saved as part of a record in a MySQL database or within a thirdparty file system.
c. Manipulate SOURCE script files to generate MySQL databases or information population (such as record entry) and to export existing databases to .sql
format for use/porting of databases and records from one server environment to another.
Produce error free custom classes and methods for advanced tasks utilizing PHP.
a. Create, modify, and deploy custom classes.
b. Apply functions to perform specific or routine tasks such as form data validation.
Page 2 of 1
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
8.
Development Round:
c. Apply Stored Procedures in a MySQL database.
Demonstrate troubleshooting and debugging skills with common MySQL and PHP issues based on error codes at both the runtime and development levels
a. Diagnose browser-based PHP errors and/or MySQL-based errors
b. Demonstrate ability to use existing tools to correct errors and to incorporate measures to reduce future errors.
c. Execute comprehensive reference queries within the MySQL Reference Manual and other resources for error diagnosis and correction.
Final Project Details:
Description:
PHP-Based Budgeting Web App
The course project will consist of three components, a frontend interface for user data entry, a backend database to store data entered using the interface and a
transactional/transfer component built in PHP and used to manipulate user-entered data into meaningful information to then be stored within a MySQL database
record for editing and/or later recall by a user.
The concept is to provide users with a web form-based application to enter in data for creating a monthly budget to include information relating to a user’s income
and expenses. Once entered, text-based data will be manipulated (using PHP) and converted from text to numeric values to be used within functions to determine
key metrics such as the percentage of the user’s income used for paying a key expense such as monthly rent or a mortgage and to present the output of calculations
to the user in a browser window using a well-formatted presentation structure. In addition to collecting and manipulating user data, data entered by users will also
be stored within a MySQL database for editing or later recall by the user at a later time. For example, a user may want to recall a budget from a previous month or
edit the current month’s budget.
Deliverables:
Week 4: Project Kick-Off – Review Full Project Requirements and Create plan for HTML form and field names/data types for data intake.
Week 5: PHP Data Manipulation I – Identify the PHP processes needed to collect and convert user-entered data into variables to be used within calculations and
functions.
Week 6 – PHP Data manipulation II – Create PHP-driven functions to manipulate data into outputs to be reported to the user and staged for entry into the MySQL
database.
Week 7 – Browser Output – Use function output results from PHP-based functions/calculations along with concatenation to present output from a user created
budget to a browser window for the user to review.
Week 8 – MySQL Database Setup – Create MySQL database with appropriate tables and fields to store data entered into a budget as a record within the database
to be accessed by a user.
Page 3 of 1
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 9 – Database Linking – Link existing PHP-based budget with the MySQL database to allow for user data to be saved within the database such that the user
is able to use the Web Form to enter budget data, PHP is able to take the data and convert the data into information that is used by functions/calculations and
reported back to the user as results in the browser and calculation results are also stored within the MySQL database as a record for each period such as a month.
Weekly Schedule Details:
Page 4 of 1
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Example
Performance Objectives Met this Week
1.
Performance objective 1
2.
Performance objective 2
3.
Etc.
Weekly Objectives
a.
b.
c.
Learning Activity
Assignment/Activity Description
Textbook Reading
Online Lecture
Online Lecture
Media
Discussion
Written Assignment
Activity
Project
Read Chapter 1
Descriptions of the key theories
First Person perspective of theory in practice
Podcast from Newsweek
Given... What would you do?
Research topic for course project
Introduction
Objective(s)
1a
1b
1b
1c
1.c
1b
1a, 2c, 3b
1a, 2b, 3b
Total Time Commitment
Completion
Time (hrs)
1 hour
1 hour
20 minutes
2 hours
4 hours
.
Key Challenges with Learning this Material:
Students often struggle tying the theoretical basis back to practice.
Potential Media Opportunity:
Podcast
Interview based audio for online lecture
Widget explaining theories
Page 5 of 1
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 01 – Introduction to Server-Scripting Using PHP
Performance Objectives Met this Week
1. Identify server side technologies used on the web to an accurate level.
Weekly Objectives
a.
b.
c.
d.
Differentiate Between Server-Side and Client-Side Technologies/Languages
Compare the role of Frontend (client-side) and Backend (server-side) development activities.
Contrast the functions performed by HTML, PHP, and MySQL as it relates to interactive websites/web applications.
Interpret basic core PHP functionality (including basic operators)
Learning Activity
Assignment/Activity Description
Objective(s)
Textbook Reading
Online Lecture
Online Lecture
Media
Discussion
Written Assignment
Activity
Project
PHP and MySQL Web Development, Introduction, Chapter 1
Overview of Client-Side and Server-Side Languages and Technologies
N/A
Student Web Hosting / PHP and Apache packages (as needed and if required)
Week 01: Examples of Server-Side Languages and Technologies
“Applying PHP in the Real-World “
Setup PHP, Apache, and MySQL
N/A
1a, 1b, 1c
1a, 1b, 1c
N/A
N/A
1a
1a, 1b, 1c
N/A
Total Time Commitment
Page 6 of 1
Completion
Time (hrs)
2 hrs
N/A
1 hr
N/A
1 hr
2 hr
3 hr
.
9 hrs
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 02 – Basic Programming in PHP
Performance Objectives Met this Week
1. Demonstrate basic programming of variables, calculations, and comparisons utilizing PHP and MySQL to 100% accuracy.
Weekly Objectives
a.
b.
c.
d.
Differentiate between variable data types used in PHP and MySQL.
Demonstrate the ability to create variables of various types in PHP and discuss/describe the relationship between PHP variables and MySQL
database fields/columns based on data type.
Produce examples of a number of different functions commonly used in PHP to perform basic calculations, comparisons, and variable
manipulation.
Construct basic functions using variables created in PHP and to store function output as new variables.
Learning Activity
Assignment/Activity Description
Objective(s)
Textbook Reading
Online Lecture
Online Lecture
Media
1a, 1c
1b, 1d
N/A
N/A
Discussion
Written Assignment
Activity
PHP and MySQL Web Development, Chapter 2
The Role of Functions in PHP
N/A
Adobe Dreamweaver CS6, Student Web Hosting / PHP and Apache packages (as needed and if
required)
Week 02: Creating Simple PHP Functions
“Creating Your First PHP Function”
Creating A Basic Information Intake Script in PHP
Project
N/A
Page 7 of 1
1b, 1d
1b
N/A
N/A
Total Time Commitment
Completion
Time (hrs)
2 hrs
1 hr
1 hr
3 hrs
2 hrs
.
9 hrs
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 03 – Title Interface Design Using HTML and PHP
Performance Objectives Met this Week
1. Create dynamic forms using PHP and HTML forms to dynamically manipulate data to an accurate level.
Weekly Objectives
a.
b.
c.
Describe the role of forms on HTML-based web pages and frontend interface design.
Analyze the DOM (Document Object Model) concept and how PHP uses field data entered on forms and translates the information into
variables to be used as part of functions and stored within a record within a MySQL database
Create scripts to output manipulated information (through PHP) to a browser window.
Learning Activity
Assignment/Activity Description
Textbook Reading
Online Lecture
Online Lecture
Media
N/A
N/A
Frontend Engineering Using HTML and PHP
1a, 1b
Creating a Data Map Using PHP Variables
1b, 1c
Adobe Dreamweaver CS6, Student Web Hosting / PHP and Apache packages (as needed and if
N/A
required)
Week 03: Form Design in Dreamweaver CS6
1a
“Common Uses of Forms”
1a, 1b
Using a Data Map to Create PHP Variables
1b, 1C
Week 04 Deliverable Assigned – Project Kick-Off
N/A
Total Time Commitment
Discussion
Written Assignment
Activity
Project
Page 8 of 1
Objective(s)
Completion
Time (hrs)
N/A
1 hr
2 hr
N/A
1 hr
2 hr
2 hr
1 hr
9 hrs
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 04 – Title Advanced PHP and Error Handling Best Practices
Performance Objectives Met this Week
1. Develop error free code that is optimized and efficient through the use of arrays, functions, and constants
2. Demonstrate troubleshooting and debugging skills with common MySQL and PHP issues based on error codes at both the runtime and
development levels
Weekly Objectives
a.
b.
c.
d.
e.
Analyze how data structures such as arrays, collections, constants and groupings function in PHP and MySQL and how functions can be used
to take advantage of each data structure to optimize the performance of a website/application.
Explain the concept of Refactoring and optimizing/improving existing functions or creating new functions and reducing potential for errors in
PHP and MySQL.
Investigate basic error codes reported in MySQL and using the MySQL Reference Manual as a resource for error checking.
Diagnose browser-based PHP errors and/or MySQL-based errors
Demonstrate ability to use existing tools to correct errors and to incorporate measures to reduce future errors.
Learning Activity
Assignment/Activity Description
Objective(s)
Textbook Reading
PHP and MySQL Web Development, Chapter 7
Online Lecture
Creating Arrays and Constants in PHP and Introduction to Error Handling
Online Lecture
Media
Discussion
N/A
Adobe Dreamweaver CS6, Student Web Hosting / PHP, Apache, and MySQL packages (as needed
and if required)
Week 04: On Error Patrol
2b, 2c, 2d,
2e
1a, 2b, 2c,
2d,2e
N/A
N/A
Written Assignment
“Resolving PHP Errors”
Activity
Debugging Errored PHP Scripts
Project
Week 04 Deliverable Due
Week 05 Deliverable Assigned – PHP Data Manipulation I
2b, 2c, 2d,
2e
2b, 2c, 2d,
2e
2b, 2c, 2d,
2e
1 hr
N/A
N/A
1 hr
2 hr
2.5 hr
.N/A
Total Time Commitment
Page 9 of 1
Completion
Time (hrs)
2 .5 hrs
9 hrs
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 05 – Title Combining PHP with MySQL
Performance Objectives Met this Week
1. Manipulate multidimensional arrays, and strings for advanced data manipulation to an error free level.
Weekly Objectives
a.
b.
c.
Perform activities needed to enhance existing functions to include advanced manipulation of variable-based data in PHP and to output
information to a browser window or to a MySQL database.
Basic analysis of PHP error reporting in a browser session.
Apply best practices relating to data manipulation to reduce potential errors.
Learning Activity
Assignment/Activity Description
Textbook Reading
Online Lecture
Online Lecture
Media
1a, 1b, 1c
PHP and MySQL Web Development, Chapter 4
A Friendly Handshake: PHP Meets MySQL
1a
N/A
N/A
Adobe Dreamweaver CS6, Student Web Hosting / PHP, Apache, and MySQL packages (as needed N/A
and if required)
Week 05: PHP and My SQL Around the Web
1a, 1b, 1c
“MySQL in the Real-World”
1a
Adding MySQL Connections to a PHP Script
1a, 1b
Week 05 Deliverable Due
N/A
Week 06 Deliverable Assigned – PHP Data Manipulation II
Total Time Commitment
Discussion
Written Assignment
Activity
Project
Page 10 of 1
Objective(s)
Completion
Time (hrs)
2 hrs
1 hr
N/A
N/A
1 hr
2 hr
2 hr
.
9 hrs
Confidential & Proprietary
Rasmussen, 2010
ID:
Page 11 of 1
SME: Justin Gates
Development Round:
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 06 – Title PHP Browser Behavior and MySQL Interaction
Performance Objectives Met this Week
1. Utilize external files, sessions, and cookies to dynamically display information to an error free level.
Weekly Objectives
a.
b.
c.
Employ sessions and cookies – Demonstrate the ability to determine the difference between and when to use sessions and cookies.
Demonstrate ability to attach an external file to a client-side form and for the file to be saved as part of a record in a MySQL database or within
a third-party file system.
Manipulate SOURCE script files to generate MySQL databases or information population (such as record entry) and to export existing
databases to .sql format for use/porting of databases and records from one server environment to another.
Learning Activity
Assignment/Activity Description
Textbook Reading
Online Lecture
Online Lecture
Media
1a, 1b, 1c
PHP and MySQL Web Development, Chapter 23
Using Sessions and Cookies Within a PHP Website or Application
1a, 1b, 1c
N/A
N/A
Adobe Dreamweaver CS6, Student Web Hosting / PHP, Apache, and MySQL packages (as needed N/A
and if required)
Week 06: When to Use Sessions and Cookies
1a
“Common Examples of Sessions and Cookies”
1a
Using Sessions and Cookies within a Web Application
1a, 1b, 1c
Week 06 Deliverable Due
N/A
Week 07 Deliverable Assigned – Browser Output
Total Time Commitment
Discussion
Written Assignment
Activity
Project
Page 12 of 1
Objective(s)
Completion
Time (hrs)
2.5 hrs
1 hr
1 hr
2 hrs
2.5 hrs
.
9 hrs
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 07 – Title Using and Creating Classes in PHP
Performance Objectives Met this Week
1. Produce error free custom classes and methods for advanced tasks utilizing PHP.
Weekly Objectives
a.
b.
c.
Create, modify, and deploy custom classes.
Apply functions to perform specific or routine tasks such as form data validation.
Apply Stored Procedurse in a MySQL database.
Learning Activity
Assignment/Activity Description
Textbook Reading
Online Lecture
Online Lecture
Media
1c
PHP and MySQL Web Development, Chapter 6
Using Classes and Objects in PHP
1a, 1b, 1c
N/A
N/A
Adobe Dreamweaver CS6, Student Web Hosting / PHP, Apache, and MySQL packages (as needed N/A
and if required)
Week07: Why Use Custom Classes?
1b, 1c
“Solving Programmatic Challenges with Custom Classes”
1a, 1b, 1cI
Creating and Using a Custom Class
1a
Week 07 Deliverable Due
N/A
Week 08 Deliverable Assigned – MySQL Database Setup
Total Time Commitment
Discussion
Written Assignment
Activity
Project
Page 13 of 1
Objective(s)
Completion
Time (hrs)
2 hrs
1 hr
N/A
N/A
1 hr
2 hr
2 hr
.
8 hrs
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 08 – Title Debugging in PHP and MySQL
Performance Objectives Met this Week
1. Demonstrate troubleshooting and debugging skills with common MySQL and PHP issues based on error codes at both the runtime and
development levels. (Part II)
Weekly Objectives
a.
b.
c.
Diagnose browser-based PHP errors and/or MySQL-based errors
Demonstrate ability to use existing tools to correct errors and to incorporate measures to reduce future errors.
Execute comprehensive reference queries within the MySQL Reference Manual and other resources for error diagnosis and correction.
Learning Activity
Assignment/Activity Description
Textbook Reading
Online Lecture
Online Lecture
Media
1a, 1b, 1c
PHP and MySQL Web Development, Chapter 26
Debugging and Error Triage in PHP and MySQL
1a, 1b, 1c
N/A
N/A
Adobe Dreamweaver CS6, Student Web Hosting / PHP, Apache, and MySQL packages (as needed N/A
and if required), MySQL Reference Manual
Week 08: Using the MySQL Reference Manual
1a, 1b, 1c
“Debugging Techniques”
1a, 1b, 1c
Debugging PHP in Adobe Dreamweaver CS6
1b
Week 08 Deliverable Due
Week 09 Deliverable Assigned –Database Linking
Total Time Commitment
Discussion
Written Assignment
Activity
Project
Page 14 of 1
Objective(s)
Completion
Time (hrs)
2.5 hrs
1 hr
N/A
2 hrs
2 hrs
2 hrs
.
9.5 hrs
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 09 – Special Topics in Server-Side Scripting
Performance Objectives Met this Week
1. Identify server side technologies used on the web to an accurate level.
Weekly Objectives
a.
b.
Differentiate Between Server-Side and Client-Side Technologies/Languages
Compare the role of Frontend (client-side) and Backend (server-side) development activities.
Learning Activity
Assignment/Activity Description
Objective(s)
Textbook Reading
Online Lecture
Online Lecture
Media
Discussion
Written Assignment
Activity
Project
User Experience (UX) Article on Alternative Server-Side Scripting Languages
Additional Server-Side Scripting Technologies
Bridging the Gap from PHP
Adobe Dreamweaver CS6
Week 09: Beyond PHP and MySQL
“The Power of Server-Side Scripting in Action”
Creating Similar Functions to PHP-Based Functions
Course Project Final Submission Due
1a, 1b
1a, 1b
1a, 1b
N/A
1a, 1b
1a, 1b
1a,1b
Total Time Commitment
Completion
Time (hrs)
1 hr
1 hr
1 hr
N/A
2 hrs
2 hrs
2 hrs
.
9 hrs
Notes:
Opportunity to discuss the role User Experience (UX) plays in relation to creating interactive web applications
Page 15 of 1
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 10 – Title Alternatives to PHP for Server-Side Scripting
Performance Objectives Met this Week
1. Create dynamic forms using PHP and HTML forms to dynamically manipulate data to an accurate level.
Weekly Objectives
a.
b.
c.
Describe the role of forms on HTML-based web pages and frontend interface design.
Analyze the DOM (Document Object Model) concept and how PHP uses field data entered on forms and translates the information into
variables to be used as part of functions and stored within a record within a MySQL database.
Create scripts to output manipulated information (through PHP) to a browser window.
Learning Activity
Assignment/Activity Description
Objective(s)
Textbook Reading
Online Lecture
Online Lecture
Media
Discussion
Written Assignment
Activity
Project
W3Schools Tutorial on JavaScript Forms
JavaScript vs. PHP
N/A
Adobe Dreamweaver CS6
Week 10: Choices
“When to Use JavaScript”
Creating a JavaScript-Enabled Web Form
N/A
1a, 1b, 1c
1a, 1b, 1c
N/A
N/A
1a, 1b, 1c
1a, 1b, 1c
1a, 1b, 1c
Completion
Time (hrs)
1.5 hrs
1.5 hrs
N/A
N/A
1.5 hrs
2.5 hrs
2.5 hrs
.
9.5 hrs
Total Time Commitment
Notes:
This weekly module is designed to give students exposure to a scripting language outside of PHP and one that is significant in the current market as a skill
needed to be competitive in the job market. JavaScript is used for a number of different applications and also works with PHP and can be used on the client-side
to work in conjunction with PHP on the server-side.
Page 16 of 1
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Week 11 – Title Course Wrap Up
Performance Objectives Met this Week
1. Demonstrate troubleshooting and debugging skills with common MySQL and PHP issues based on error codes at both the runtime and
development levels
Weekly Objectives
a.
b.
c.
Diagnose browser-based PHP errors and/or MySQL-based errors
Demonstrate ability to use existing tools to correct errors and to incorporate measures to reduce future errors.
Execute comprehensive reference queries within the MySQL Reference Manual and other resources for error diagnosis and correction.
Learning Activity
Assignment/Activity Description
Textbook Reading
Online Lecture
Online Lecture
Media
W3Schools Review of Debugging and Exception Handling
1a, 1b, 1c
Testing and Publishing A Web Application
1b, 1c
N/A
N/A
Adobe Dreamweaver CS6, Student Web Hosting / PHP, Apache, and MySQL packages (as needed N/A
and if required), MySQL Reference Manual
Week 11: Publishing A Web Application
1b, 1c
1a, 1b, 1c
Designing a Contingency Plan for Diagnosing Errors with a Published Web Application
1a, 1b, 1c
Debugging and Error Handling After Publishing a Web Application
N/A
Total Time Commitment
Discussion
Written Assignment
Activity
Project
Page 17 of 1
Objective(s)
Completion
Time (hrs)
2 hrs
2 hrs
N/A
N/A
1.5 hrs
2 hrs
1.5 hrs
.
9 hrs
Confidential & Proprietary
Rasmussen, 2010
ID:
SME: Justin Gates
Development Round:
Online Course Development High-Level Design Template Revision Record
Revision: Complete the following table ONLY if there is a revision made to the above content following formal sign-off.
Module
Page 18 of 1
Revision
Purpose/Goal of Revision:
Date
Confidential & Proprietary
Rasmussen, 2010
ID:
Page 19 of 1
SME: Justin Gates
Development Round:
Confidential & Proprietary
Rasmussen, 2010
Download