Home Skills Resume Portfolio Contact
 

 

 

 

HUMBER SCHOOL OF INFORMATION TECHNOLOGY

COURSE OUTLINE

ACADEMIC YEAR FALL '02 TO SUMMER '03

 

COURSE NUMBER CPAN 561
   
COURSE NAME Web Solutions - Open Source
   
CREDITS 4
   
PRE-REQUISITES CPAN 460 Web Programming & Design
   
TEXT REQUIRED Webmaster in a Nutshell
  Stephen Spainhour and Robert Eckstein
  O'Reilly
   
ISBN 1-56592-325-1
   
REFERENCE WEBSITE hal.humberc.on.ca/~dymond
SOFTWARE    
     
ORIGINATED BY: Eric Dymond DATE: May 15 2000
     
REVISED BY:   DATE:
     

COURSE DESCRIPTION

Programming in Perl enables web sites to deliver fast, dynamic data to their users. Perl has evolved into a powerful programming language capable of solving any enterprise level problem. With approximately sixty percent of the web server market hosted by Apache Web Servers, common administration tasks and custom web applications have Perl as the underlying language. PHP a Perl like wrapper is an open source language supporting rapid database and e-commerce solutions. The MYSQL database is a lightweight ( in terms of server resources), yet powerful enough tool to meet small and medium size database requirements. The four tools, Perl, PHP, Mysql and Apache come packaged with most distributions of the Linux operating system. Students in this course will learn how the four work together to solve most web application requirements.

LEARNING OUTCOMES

Upon completion of this course, the successful student will be able to:

1. Program CGI applications in Perl
2. Program administrative tasks in Perl
3. Access and include common Perl modules
4. Access and manipulate database information with Perl DBI.
5. Program PHP database connections
6. Parse XML documents with Perl and PHP
7. Configure and install Apache
8. Create Apache modules in Perl
9. Program embedded Perl with mod_Perl.
10. Configure MySql
11. Manage the MySql database.
12. Develop MySql/PHP applications
13. Develop online e-commerce applications

GENERIC SKILLS

The following generic skills will be acquired and/or enhanced:

COMMUNICATION

  • Write clear, concise sentences and paragraphs in program documentation, projects and tests.
  • Communicate in written, oral, and diagrammatic form using appropriate formal and information vocabulary and format.
  • Respond to oral and written instruction.
  • Read and comprehend reference materials, diagrams and reports
  • Interpret a range of technical and non-technical instructions (program specifications) through dialogue and refined questioning skills.
  • Read and interpret policy and procedure.

MATHEMATICS

  • Apply the fundamentals of mathematics to the solution of routine programming problems.
  • Apply appropriate formulae to solve common business problems.
  • Define precision and accuracy in mathematical calculations and use the rules for significant figures.
  • Solve word problems through the use of equations.

INTERPERSONAL

  • Complete projects as an effective member of a team.
  • Participate effectively in group discussion on technical problems.
  • Work with others by co-operating, sharing ideas and constructively resolving conflicts.

CURRICULUM DETAIL:

Class materials etc. are made available to students on the website. Students are expected to visit the website regularly to read/download these materials, as directed by their professor(s).



 
Curriculum Detail
Reference
1.

Perl Basics

  • Whereis Perl, which Perl and path information
  • Scalar Variables
Handouts and web
2.

Arrays and Hashtables

  • Sorting Arrays and Hashtables
  • Manipulating Arrays and Hashtables
  • Searching Hashtables.
Handouts and web
3.

Regular Expressions

  • Matching options
  • Finding and Replacing data with RE's
  • $_ and @_
Handouts and web
4.

CGI Perl module

  • Form data and CGI.PM
  • CGI.PM shortcuts and Dynamic Web Pages
Handouts and web
5.

Sub Routines and Perl

  • Object Oriented Perl Programming
  • Bless, my and variable scope
  • Creating classes in Perl
Handouts and web
6.

CPAN

  • Installing and employing existing Perl modules
  • Perl DBI and DBIx modules
  • Creating a Custom Perl module.
Handouts and web
7.

PHP basics. Escaping from HTML

  • Variable declarations.
  • Form data and PHP
  • Arrays and PHP
Handouts and web
8.

PHP Functions

  • Constants, operators and expressions
  • User defined functions
Handouts and web
9.

MySql and PHP

  • Connecting to a database in PHP
  • Manipulating a database with PHP
Handouts and web
10.

PHP/MySql Ecommerce

  • Sessions and PHP
  • Cookies and PHP
  • PHP/MySql shopping cart
Handouts and web
11.

Apache Installation and Configuration

  • Access and directory configuration
  • Enabling SHTML, CGI and PHP with apache
  • The Apache module list
Handouts and web
12.

Installing Custom Modules on Apache

  • Mod Perl installation in Apache
  • Programming embedded Perl
Handouts and web
13.

MySql Adminstration Tools

  • Command line programming with MySql
  • Web management and Mysql
Handouts and web
14
  • HTTPS and secure sockets

  • Installing certificates in apache
  • PHP Perl and XML
Handouts and web
15.

Final

 

ASSESSMENT AND EVALUATION

An average of 60% must be achieved on the tests for the assignments to be counted for the final mark.

The Marking distribution is as follows:

MIDTERM 30%
FINAL 30%
ASSIGNMENTS AND EXERCISES 40%

Please note: The Distance Learning version of this course (if available) may have a different grading scheme than the classroom version. Check the information page of the Distance Learning version for details. Students must pass the proctored final exam for any other test and lab assignments to count towards their final mark.

PRIOR LEARNING ASSESSMENT

(PLA) College PLA requirements must be followed. PLA consists of an oral qualifying interview and, if successful, a challenge exam. Depending on the level of success on the challenge exam, a case study may be assigned.

ACADEMIC REGULATIONS

It is the responsibility of each student to be knowledgeable of the Humber College Academic Regulations and the School of Information Technology Academic Standards and Regulations. Copies of the standards are available in the School of Information Technology main office H221. It is the student's responsibility to retain course outlines for possible future use in support of applications for transfer credit to other educational institutions. **A charge of $5.00 per course outline may apply for additional copies.**

DISCLAIMER

Every effort will be made by the instructor of the course to cover all the material listed. However, in the event of special circumstances (i.e. time constraints due to inclement weather, sickness, technology problems or changes, etc) the order, content and/or evaluation may be changed with prior notification to students and approval from the Dean/Associate Dean