Advanced Web Programming with PHP COURSE OUTLINE

Document Sample
Advanced Web Programming with PHP COURSE OUTLINE Powered By Docstoc
					Advanced Web Programming with PHP
  Advanced Web Programming with PHP
  instruct@techearth.net


                                COURSE OUTLINE
  Course Title: Advanced Web Programming with PHP
  Course ID: IP440W09A
  Term:         See http://netpub.cstudies.ubc.ca/oleary/phpadvanced/index.php for
                details
  Number of sessions: 5
  Instructor:           Name:         Jim O’Leary
  Contact:              Telephone: 604-822-1420
                        Fax:          604-822-1499
                        Email:        instruct@techearth.net

  Course Description
  Continue your progress into the world of PHP programming by developing advanced
  PHP applications. Partition your PHP and HTML code into reusable elements with
  Smarty Template Engine. Create dynamic graphs with JpGraph. Familiarize yourself
  with Ajax and related packages. Encounter the object-oriented side of PHP that
  experienced programmers use, and document your program professionally with
  PhpDocumentor. Discover PHP functions for parsing XML and JSON. Create Web
  Services using PHP's SOAP extension The course project will be a fully functioning
  PHP application that incorporates these advanced features.

  Course Prerequisites
  Students must possess a solid understanding of Web programming and PHP in order
  to learn the advanced topics in this course.

  Course Changes
  Note that the course format and curriculum, including topics covered and assignments
  may be subject to changes in order to accommodate the level of expertise and needs
  of the learners.

  Course Materials
  The instructor will supply the course manual and related files.

  Participant Materials
  Please bring a USB key or mini drive to save files created in class.

  Instructional Methods
      • Class time will alternate between instruction on PHP concepts and exercises to
         implement these concepts
      • Each week students will be given homework assignments that will help them to
         understand the concepts covered in the previous week
      • Students will be encouraged to visit the PHP web site (www.php.net) and other
         PHP websites for further study in the advanced concepts of PHP.




                                                                              Page 1 of 3
Advanced Web Programming with PHP
instruct@techearth.net


Course Objectives
By the end of the course, students will be expected to be able, at a minimum, to do the
following:

Theoretical/Conceptual:
   • Define the concepts of object-oriented programming in PHP
   • Explain what templates are in PHP programming, and why they are important
   • Explain why documentation is important
   • Describe the process of creating a graph dynamically from a user form and a
      database lookup
   • Describe how PHP works with XML and JSON
   • Describe what web services are and why they are important in Internet
      programming

Technical or Software Skills:
   • Create a PHP application using object-oriented design
   • Partition a PHP application into HTML and PHP segments using Smarty
      Template Engine
   • Use 3rd party packages such as JpGraph and PhpDocumentor
   • Combine PHP with XML and JSON to transform XML documents
   • Create applications that create and consume web services

Tangible and/or Portfolio Outcomes
   • A fully functioning website that is modular and scalable, applying the concepts
      of the course.
   • A library of code examples that can be used for future applications

Session Outline
Session 1
   • Objects
   • PHP’s syntax for objects
   • Inheritance
   • Polymorphism
   • Aggregation

Session 2
   • Templates
   • Smarty Template Engine
   • Architecture for a template-based Web site

Session 3
   • PHP’s Image functions
   • JpGraph
   • Creating graphs from user forms and database lookups

Session 4
   • XML
   • PHP’s XML functions


                                                                              Page 2 of 3
Advanced Web Programming with PHP
instruct@techearth.net


   •   AJAX
   •   JSON
   •   PHP’s JSON functions

Session 5
   • Final exam
   • Web services

Requirement for Successful Completion
To successfully complete this course, the student must demonstrate advanced
knowledge of the PHP program language by creating web applications using the
advanced features of PHP as encountered in this course.

Grading
Grading will be based on the UBC grading scale for Continuing Studies:

Letter Grade          Percentage
A+                    90-100%
A                     85-89%
A-                    80-84%
B+                    76-79%
B                     72-75%
B-                    68-71%
C+                    64-67% (60% is the minimum passing grade)
C                     60-63%
F                     Below 60%

Assessment Criteria
The course project is a website in five parts. Each part of the project is due on the day
before the next session, with the final part being due one week after the course ends.

Grade points will be assigned as follows:

Criterion                                     Points
Course Project                                75 points
Final Exam                                    25 points
Total                                         100 points


Late Assignment Policy
The course project is due one week after the last day of class. Points will be deducted
at the rate of 5 points per day. The instructor, however, may extend grace in warranted
circumstances.




                                                                                Page 3 of 3