School of Computing and Academic Studies
Program: Computer Systems Technology
Internet Software Development
is a Prerequisite for:
C Programming or Object Oriented
Programming with Java
Course Description (required)
This course provides the students with an opportunity to develop a software application that works across the
internet. An overview of various internet software development technologies is provided. Students will lear
to build a web application using a modern webapp MVC framework and Apache server technology; and how to use
XML for data representation, structure and transport.
L a b s
4 0 %
F i n a l E x a m
i n a t i o n
3 0 %
T O T A L
1 0 0 %
Course Learning Outcomes/Competencies
Upon successful completion, the student will be able to:
Construct an MVC web application using a suitable framework
Construct a valid and well
formed XML document
Constrain XML data
through a DTD or schema
Transform XML data using XSL
Process XML data using both DOM and SAX models
Transport XML data reliably using common messaging protocols
Exchange data between dissimilar data sources, using XML
I verify tha
t the content of this course outline is current.
Sept 2, 2011
I verify that this course outline has been reviewed.
Program Head/Chief Instructor
I verify that this course outline complies with BC
Note: Should changes be required to the content of this course outline, students will be given reasonable notice.
J i m P a r r y
O f f i c e L o c a t i o n:
1 2 4
O f f i c e P h o n e:
6 0 4
4 3 2
8 4 6 4
O f f i c e H r s.:
ma i l A d d r e s s:
j i m_ p a r r y @b c i t.c a
development environment; free download from
(Apache + MySQL + PHP) server environment, suitable for the student's platform
webapp framework, from
ket guides for those technologies that you plan to use after the course would be very handy.
XML Pocket Reference (3
XSLT 1.0 Pocket Reference (ISBN
HTML and XHTML Pocket Reference (4
ion, ISBN 978
CSS Pocket Reference (3
edition, ISBN 0
Apache2 Pocket Reference (ISBN 978
Presentations, labs and assignments are all
posted on the shareout server, as well as an organizer with links to
relevant readings or reference material. The organizer includes frequently asked questions about the current lab and
Information for Students
(Information below can be adapted and supplemented as necessary.)
The following statements are in accordance with the BCIT Policies 5101, 5102, 5103, and 5104, and their
accompanying procedures. To review these policies and pr
ocedures, please refer to:
In case of illness or other unavoidable cause of absence, the student must communicate as soon as possible with
his/her instructor or Program Head or Chief Inst
ructor, indicating the reason for the absence. Prolonged illness of
three or more consecutive days must have a BCIT medical certificate sent to the department. Excessive absence
may result in failure or immediate withdrawal from the course or program. Plea
se see Policy 5101
Regulations, and accompanying procedures: http://www.bcit.ca/files/pdf/policies/5101.pdf
Violations of academic integrity, including dishonesty in assignments, examinations, or other academic
are prohibited and will be handled in accordance with
Academic Integrity and
Appeals, and accompanying procedures: http://www.bcit.ca/files/pdf/policies/5104.pdf
Students must successfully complete a course within a maximum of thre
e attempts at the course. Students with two
attempts in a single course will be allowed to repeat the course only upon special written permission from the
Associate Dean. Students who have not successfully completed a course within three attempts will not
to graduate from their respective program.
Any student who may require accommodation from BCIT because of a physical or mental disability should refer to
BCIT’s Policy on Accommodation for Students with Disabilities (Policy #450
1), and contact BCIT’s Disability
Resource Centre (SW1
6963) at the earliest possible time. Requests for accommodation must be
made to the Disability Resource Centre, and should not be made to a course instructor or Program area.
who needs special assistance in the event of a medical emergency or building evacuation (either
because of a disability or for any other reason) should also promptly inform their course instructor(s) and the
Disability Resource Centre of their personal ci
Planned out of class work hours:
roughly 1 hour for every timetabled hour.
Reading and assignments are generally done outside of class, while labs are generally completed during scheduled
Four, every three
four weeks, due on Saturdays 11.59pm.
The intent of the group of assignments is to guide the student through “proper” design and implementation of a
complete small web application. All of the assignments will pertain to the same applic
ation, and the goal is to have
a functional web application by the end of the course.
Many design decisions will have already been made, and these will be explained in the assignment handouts. The
student(s) will have to complete the design, making low
vel choices, and then implement the resulting completed
design. Lab exercises will provide workshops to lead the student through the techniques needed to implement each
Our target webapp is a sports team fansite, with each student group tackli
ng a different team. We are targeting the
Canadian Intrauniversity Sports, football specifically. Part of your work will involve ecreating and populating
appropriate XML documents with basic team information, updating the data from online sources, and then
XSL to transform the results for human consumption. Detailed specifications will be provided with each
The intended assignment set:
Basic webapp, with appropriate CodeIgniter structure; incorporating some team & roster data.
app enhanced to create and validate team and roster data as XML documents
Webapp enhanced to process the XML documents internally, presenting the results as HTML tables.
Webapp enhanced to produce purpose
specific reporting using XSL, and to provide for sc
game results, updating your data and producing game outcome predictions.
Assignment solutions will be posted the day after their due date, for the students to learn from and even perhaps
adopt for their next assignment.
The assignments can
be done individually or as a pair.
Lab Exercises: Weekly, due 17:30 the day following your lab.
Labs start on Sept 8
, after the first lecture.
Labs will run thursday to tuesday until Remembrance day, at which point they will change to tuesday through
of the missed lab.
Lab exercises will provide workshops to lead the student through the techniques needed to implement each
The intended lab set:
CodeIgniter webapp with custom MVC
XML document, constrained with DT
XML document, constrained with schema
XML processed using DOM
XML processed using SAX
XML base model for CodeIgniter
Basic XSL stylesheet
Advanced XSL stylesheet, with Xpath
Lab solutions will be posted the day after the latest set's due d
ate, for the students to learn from.
Labs are meant to be completed individually.
Course introduction & webapp
MVC framework (CodeIgniter)
XML concepts & DTDs
XML constraints using schemas
XML processing & DOM
XML processing with SAX
XML and PHP/CodeIgniter
side manipulation (AJAX)
Advanced XML & web services
Final exam week
Note: This schedule is a guideline only.
* See links in the course organizer