COMP4711 Course Outline

advertisement
Course Outline
COMP4711
Internet Software Development
School of Computing and Academic Studies
Program: Computer Systems Technology
Option: N/A
Start Date:
September 2011
42
Hours/Week: 3
Total Hours:
Total Weeks:
Lecture:
14
1
Lab:
2
Prerequisites
Course No.
Course Name
COMP2510/
COMP2525
End Date:
December 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
30%
Labs
Final Examination
40%
30%
TOTAL
Comments: 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 09/11
Format02
1
Course Outline
(cont’d.)
 Verification
I verify that the content of this course outline is current.
Jim Parry
Sept 2, 2011
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.x webapp framework, from www.codeigniter.com
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 09/11
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 09/11
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 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 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 low-level 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.
Our target webapp is a sports team fansite, with each student group tackling 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 using
XSL to transform the results for human consumption. Detailed specifications will be provided with each assignment
writeup.
The intended assignment set:
1.
Basic webapp, with appropriate CodeIgniter structure; incorporating some team & roster data.
2.
Webapp enhanced to create and validate team and roster data as XML documents
3.
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 scraping online game
results, updating your data and producing game outcome predictions.
4.
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 09/11
Format02
4
Course Outline
(cont’d.)
 Lab Details
Lab Exercises: Weekly, due 17:30 the day following your lab.
Labs start on Sept 8th, after the first lecture.
Labs will run thursday to tuesday until Remembrance day, at which point they will change to tuesday through
thursday because of the missed lab.
Lab exercises will provide workshops to lead the student through the techniques needed to implement each
assignment.
The intended lab set:
1.
CodeIgniter 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
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 09/11
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
XML and PHP/CodeIgniter
*
8
Stylesheets – XSL
*
9
Advanced stylesheets - XPath
*
10
Client-server (XML-RPC)
*
11
Client-side manipulation (AJAX)
*
12
Advanced XML & web services
*
13
Course review
*
14
Final exam week
Assignment
Due Date
#1
Oct 01
#2
Oct 22
#3
Nov 12
#4
Dec 02
Note: This schedule is a guideline only.
* See links in the course organizer
COURSE OUTLINE.DOC 09/11
Format02
6
Download