Course Outline (cont'd.) Course Outline School of Computing and

advertisement
Course Outline
COMP4711
Internet Software Development
School of Computing and Academic Studies
Program: Computer Systems Technology
Option: N/A
Start Date:
January 2011
Total Hours:
45
Hours/Week: 3
Total Weeks:
Lecture:
15
1
Lab:
2
Prerequisites
Course No.
Course Name
COMP2510/
COMP2525
End Date:
April 2011
Term/Level:
4
Shop:
Course Credits:
3
Seminar:
Other:
COMP4711 is a Prerequisite for:
Course No. Course Name
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 learn how
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.
 Evaluation
Assignments
Labs
Midterm test
Final Examination
TOTAL
30%
30%
Comments:
10%
30%
100%
 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
COURSE OUTLINE.DOC 03/16
Format02
1
Course Outline
(cont’d.)
 Verification
I verify that the content of this course outline is current.
Jim Parry
12/13/10
Authoring Instructor
Date
I verify that this course outline has been reviewed.
Program Head/Chief Instructor
Date
I verify that this course outline complies with BCIT policy.
Dean/Associate Dean
Date
Note: Should changes be required to the content of this course outline, students will be given reasonable notice.
 Instructor(s)
Jim Parry
Office Location:
SW2-124
Office Hrs.:
T.B.A.
Office Phone:
604-432-8464
E-mail Address: jim_parry@bcit.ca
 Learning Resources
Required:



NetBeans 6.9 development environment; free download from www.netbeans.org
XAMP (Apache + MySQL + PHP) server environment, suitable for the student's platform
CodeIgniter 2.0 webapp framework; see links in course organizer
Recommended:
O'Reilly pocket guides for those technologies that you plan to use after the course would be very handy.
Candidates include:
 XML Pocket Reference (3rd edition, ISBN 0-596-10050-7)
 XSLT 1.0 Pocket Reference (ISBN 0-596-10008-6)
 HTML and XHTML Pocket Reference (4th edition, ISBN 978-0-596-80586-9)
 JavaScript Pocket Reference (2nd edition, ISBN 0-596-00411-7)
 CSS Pocket Reference (3rd edition, ISBN 0-596-51505-7)
 Apache2 Pocket Reference (ISBN 978-0-596-51888-2)
Supplementary:
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
assignment.
COURSE OUTLINE.DOC 03/16
Format02
2
Course Outline
(cont’d.)
 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 procedures, please refer to:
www.bcit.ca/about/administration/policies.shtml
Attendance/Illness:
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 Instructor, 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. Please see Policy 5101 — Student
Regulations, and accompanying procedures: http://www.bcit.ca/files/pdf/policies/5101.pdf
Academic Misconduct:
Violations of academic integrity, including dishonesty in assignments, examinations, or other academic
performances are prohibited and will be handled in accordance with Policy 5104 — Academic Integrity and
Appeals, and accompanying procedures: http://www.bcit.ca/files/pdf/policies/5104.pdf
Attempts:
Students must successfully complete a course within a maximum of three 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 be eligible
to graduate from their respective program.
Accommodation:
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 #4501), and contact BCIT’s Disability
Resource Centre (SW1-2300, 604-451-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.
Any student 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 circumstances.
COURSE OUTLINE.DOC 03/16
Format02
3
Course Outline
(cont’d.)
 Assignment Details
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
lab time.
Assignments: Four, every three-four weeks, due on Sundays 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 application, 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 lowlevel choices, and then implement the resulting completed design. Lab exercises will provide workshops to lead the
student through the techniques needed to implement each assignment.
Each term, we target a different applicaton to develop in parts. Previous subjects have included professional sports
team fansites (CFL, NHL, NBA, soccer, BCIT timetabling). Some of the work from these will be shared as
examples. The subject for this term's assignments will be announced during the first week of class. Detailed
specifications will be provided with each assignment writeup.
The intended assignment set, broadly speaking:
1.
Basic webapp, with appropriate CodeIgniter structure; reporting RDBMS data.
2.
Webapp enhanced to generate appropriate XML documents from relevant database tables, presenting the
results as HTML tables.
3.
Webapp enhanced to produce purpose-specific reporting, using XSL stylesheets.
4.
Webapp enhanced to provide for user interactivity, using AJAX to interact with the webapp.
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.
COURSE OUTLINE.DOC 03/16
Format02
4
Course Outline
(cont’d.)
 Lab Details
Lab Exercises: Weekly, due 17:30 the day following your lab.
Labs start the first week of class, but after the lecture. Labs will run thursday to tuesday, i.e. Between lectures.
Lab exercises will provide workshops to lead the student through the techniques needed to implement each
assignment.
The intended lab set:
1.
CodeIgniter & Apache familiarization
2.
CodeIgniter webapp with custom MVC
3.
XML document, constrained with DTD
4.
XML document, constrained with schema
5.
XML processed using DOM
6.
XML processed using SAX
7.
XML base model for CodeIgniter
8.
Basic XSL stylesheet
9.
Advanced XSL stylesheet, with Xpath
10.
XML-RPC
11.
AJAX
12.
Advanced CodeIgniter webapp (Server side tricks)
Lab solutions will be posted the day after the latest set's due date, for the students to learn from.
Labs are meant to be completed individually.
COURSE OUTLINE.DOC 03/16
Format02
5
Course Outline
(cont’d.)
Schedule
Week of/
Number
Reference/
Reading
Outcome/Material Covered
1
Course introduction & webapp
architecture
*
2
MVC framework (CodeIgniter)
*
3
XML concepts & DTDs
*
4
XML constraints using schemas
*
5
XML processing & DOM
*
6
XML processing with SAX
*
7
Stylesheets – XSL
*
8
Advanced stylesheets & XPath
*
9
CodeIgniter Cookbook
*
10
CodeIgniter recipes
*
11
Client-server (XML-RPC)
*
12
Client-side manipulation (AJAX)
*
13
Advanced XML & web services
*
14
Course review & crystal ball
*
15
Final exam week
Assignment
Due Date
#1
Jan 23
#2
Feb 13
#3
Mar 13
#4
Apr 10
Note: This schedule is a guideline only.
* See links in the course organizer
COURSE OUTLINE.DOC 03/16
Format02
6
Download