PHP701 - PHP Scripting

Outline info
Semester
School
Last revision date 2017-05-29 00:32:51.579
Last review date 2017-07-17 00:15:39.524


Subject Title
PHP Scripting

Subject Description

Students will be introduced to the skills necessary to design, code, and deploy a client-server web-based application. They will create a database driven value-added user-centric application built using PHP and utilizing an FSOSS XAMPP/LAMP development environment.  Students will learn to develop AJAX-ified applications, that must be deployed for both desktop and mobile platforms.

Solutions will utilize Object Oriented PHP, jQuery, jQuery.UI, CSS and HTML5. All work in the course requires a db backend, usually MySQL and SQLite (for mobile solutions), use of the mysqli class, and session management to supply a persistence framework for application data.  jQuery.mobile will provide the touch-optimized UI framework for mobile solution development in the course.

Credit Status
1 credit in the CTY program

Learning Outcomes
Upon successful completion of this subject the student will be able to:


1. Use project design and management skills to design and implement a web-based PHP application in a FSOSS LAMP/XAMPP development environment

2. Use management and job tasking skills to participate in and manage a small team on a project

3. Use appropriate User Centered Design to add value to an application

4. Design and develop client-server web-based applications in PHP appropriate to their use in their aesthetics, usability, standard coding practices, and technical requirements and restrictions.

5. Logically separate application design elements from functional elements

6. Write PHP using an Object Oriented Programming and Design paradigm, and adhering to specified guidelines and style when writing source code.

7. Design and concurrently develop mobile and desktop business solutions with reusable PHP code and multiple platform-specific interfaces

8. Use and extend session management in PHP

9. Implement and interact with an application's RDBMS back-end.

10. Use jQuery.mobile as a framework for the mobile interface.

11. Use jQuery and jQuery.UI as required for dynamic client-side processing

12. Acquire skill with any variety of languages, libraries, and IT assets needed to develop AJAX-ified applications

Cheating and Plagiarism
Each student should be aware of the College's policy regarding Cheating and Plagiarism. Seneca's Academic Policy will be strictly enforced.

To support academic honesty at Seneca College, all work submitted by students may be reviewed for authenticity and originality, utilizing software tools and third party services. Please visit the Academic Honesty site on http://library.senecacollege.ca for further information regarding cheating and plagiarism policies and procedures.

Discrimination/Harassment
All students and employees have the right to study and work in an environment that is free from discrimination and/or harassment. Language or activities that defeat this objective violate the College Policy on Discrimination/Harassment and shall not be tolerated. Information and assistance are available from the Student Conduct Office at student.conduct@senecacollege.ca.

Accommodation for Students with Disabilities
The College will provide reasonable accommodation to students with disabilities in order to promote academic success. If you require accommodation, contact the Counselling and Disabilities Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.

Prerequisite(s)
DAT702 and OPS435 or OPS335

Topic Outline
Introduction to PHP                                                                            1%

  • Origins of the language
  • Benefits over other dynamic languages
  • Demonstration of a simple program
Installation of PHP                                                                               1%
  • Installing PHP with Apache and MySQL
  • php.ini file
PHP Basics                                                                                               8%
  • Documentation of Syntax
  • If Statements
  • Loops
  • PHP defined variables
  • PHP defined functions
  • HTML forms and PHP
Programming Styles                                                             10%
  • How to access and validate information in HTML forms
  • Setting variables
  • If Statements
  • Looping through information
  • Handling database information
  • Documenting code functionality outside of the code syntax
PHP and MySQL                                                                                      20%
  • Basic syntax of mysql (creating databases, tables, queries)
  • Using PHP functions to use MySql to its full potential
  • Handling the results of a database query
  • Displaying data from mysql results using PHP
Arrays                                                                                      20%
  • User defined arrays
  • Database recordsets
  • Treating normal variables as arrays
  • Learn the Foreach loop when using arrays
  • Modify data inside arrays
  • Use for loops to create arrays
  • Examine PHP defined functions for arrays
Sessions                                                                                        10%
  • Functionality in user accounts
  • Benefits and Warnings of session variables
  • Sessions vs HTTP header information vs Form data
  • Sessions and Databases
  • Explore the PHP defined session function
Templates                                                                                    10%
  • How to install/setup Smarty
  • php template code
  • How to separate html from php syntax
  • Learn of Smarty fuctions for easy html display
Classes                                                                                        10%
  • Object oriented terminalogy
  • How to create modular re-useable code
Remote files and system queries                                                               10%
  • Handling files – opening, closing, saving, deleting
  • Navigating the directory structure using php defined functions
  • Creating simple log files for admin usage 

Mode of Instruction
Classroom lectures and discussions are supplemented by lab sessions with the instructor, reinforced by assigned readings and assignments between classes.

It is the student's responsibility to save documents, articles and notes that the instructor has provided on BlackBoard or in class. Students will not be able to access BlackBoard as of the last day of the student’s class.

Prescribed Texts
Web Database Applications with PHP and MySql, 2nd ed., H.E. Williams, D. Lane., O'Reilly
ISBN 10:0-596-00543-1,  ISBN 13: 978-0596005436 

Reference Material
PHP Pocket Reference, 2nd ed., R. Lerdorf, O'Reilly ISBN 10:0-596-00402-8, 
ISBN 13:  978-0596004026

MySql Pocket Reference, 2nd ed., G. Reese,  O'Reilly,  ISBN 10-596-51426-3,
ISBN 13:  978-0596514266  

Required Supplies
None.

Promotion Policy

Grading Policy
A+ 90%  to  100%
A 80%  to  89%
B+ 75%  to  79%
B 70%  to  74%
C+ 65%  to  69%
C 60%  to  64%
D+ 55%  to  59%
D 50%  to  54%
F 0%    to  49% (Not a Pass)
OR
EXC Excellent
SAT Satisfactory
UNSAT Unsatisfactory

For further information, see a copy of the Academic Policy, available online (http://www.senecacollege.ca/academic-policy) or at Seneca's Registrar's Offices.


Modes of Evaluation
Since this is a professional credit subject, marking standards reinforce professional practice by demanding legible, tidy work. Written materials should be well organized and grammatically correct, with proper spelling and punctuation.

Assignments

  • Students must retain a duplicate of all assignments.
  • Computer assignments should be documented to the instructor's standards.
  • Assignments must be handed in on the scheduled due date. Late assignments are penalized.
  • For particulars, please obtain standards, dates, etc. from your instructor.

Absenteeism and Tests
  • Students should be aware that absenteeism will impact on their ability to achieve satisfactory grades.
  • If you miss a test, you must provide the reason in writing to the instructor prior to the next scheduled class. If your reason is accepted, you will be permitted to write a make-up test. Otherwise, you will be given a zero for the test. You must submit an original doctor’s certificate identifying the date, length of time of expected absence and the specific reason for your absence, or other appropriate documentation.
Term Work and Final Exam
  • Students must attain a combined grade of at least 50% on term work and the final exam. Students must pass the final exam in order to pass the subject
  • For further information on evaluation and academic standing, see a copy of the Academic Policy available at Seneca registration offices.

Grading is based on the following marking scheme:

Labs (x10) 20%
Assignment (x2) 25%
Mid-Term 20%
Final Exam 35%






Approved by: Denis Gravelle