B336 title
Murdoch University logo

Assignments 2


Part I: Basic XML Solutions (65%)

The Pie-in-the-Sky University's School of IT is planning on offering two new courses in IT. Information about the two courses is available by following the two links below:

  1. Computer Science
  2. Internet Computing

Your task is to create XML solutions to allow information on these two new courses to be accessed and maintained. You need to:

  1. (10%) Design a DTD for a new XML application called Course Markup Language (CoML) appropriate to capture the information about the courses offered by the School. Put the DTD into a file named course.dtd.

    For this part, you only need to consider the information on the two pages from (i) and (ii). You do not need to consider the pages subsequently linked from those two pages (eg. links to unit details). Also, on the two pages in (i) and (ii), only capture the information contained in the orange coloured box, and not the rest in the heading and footer of the pages (eg. navigation bar at the top, document author details at the bottom).

  2. (10%) Create XML documents CS.coml and IC.coml that can be validated against course.dtd and contains all information from (i) and (ii) above.

  3. Create XSLT style-sheets for various purposes.

    1. (5%) Create an XSLT style-sheet units.xsl to extract a list of course units code and unit titles from a CoML document.

    2. (5%) Create an XSLT style-sheet count.xsl to determine the number of units in a particular CoML document.

    3. (10%) Create an XSLT style-sheet tohtml.xsl to convert the information in a CoML document into HTML. The HTML document should be structurally as similar to what is in pages (i) and (ii) above as possible.

  4. (5%) Add CoML support to the Apache web server by changing your web server so that it can serve CoML documents. The CoML documents when served through the Apache web server should be displayed similarly to the pages in (i) and (ii).

  5. Create Perl scripts for various purposes.

    1. (5%) Create a script search.pl that accepts a CoML document as its first parameter and a search string as a second parameter. The script must return all units codes in a single comma-separated line where the unit title contains the search string.

    2. (15%) Create a script plan.pl that accepts a CoML document as its first parameter. The script must return a unit study plan for a new student wishing to complete the degree(s) in the CoML document. The study plan should list the required units to complete in each semester of the student's 3 year study. You do not need to list elective units. Assume a student starts in the first semester. The restrictions on the study plan are: all 100-level units must be completed before 200-level units, and all 200-level units must be completed before 300-level units; a student may only take a maximum of 4 units a semester in their first year, and 3 units a semester in subsequent years; the student must complete within 3 years of 2 semesters each. If a study plan is not possible, then your script should display an error message. You do NOT need to consider the pre-requisite trail of the units since they are not in the CoML document.

You do not need to consider the existing IT infrastructure for the School (eg. how they currently store their course information), since the School have decided to revamp their IT infrastructure. The solutions you create will form the basis of their new revamped infrastructure.

When assessing your style-sheets and scripts, your XML documents CS.coml and IC.coml may be modified (existing elements deleted, new information put in, text changed, etc) to see if your style-sheets and scripts will still work. It will however still conform to your DTD.

Part II: Extending XML (10%)

Extend your CoML in Part I so that it now contains unit details as well. You may find the details of the units by following the links in pages (i) and (ii) (for example, B102 and B104). You must define the new DTD in course-more.dtd. Create an example CoML document IC-more.coml conforming to course-more.dtd that is the same as IC.coml except with the details of B102 and B104 in it.

All your style-sheets and scripts in Part I should still work with this extended CoML. They should just ignore the new information. The only modification you must make is to the tohtml.xsl style sheet (create a new tohtml-more.xsl). The style sheet should now convert the available unit details into appropriate HTML as well. It is your decision on where the information should be display in the HTML, as long as all the available information appear somewhere.

Part III: XML Solution Design (20%)

Design a infrastructure using XML technologies to enable the Pie-in-the-Sky to handle their course information.Your design should include (but is not limited to):

  • Where data will be stored?
  • How it will be retrieved?
  • Who are the users?
  • How users can access, modify, and maintain the data?
  • Software to support dealing with the data.

This part of the assignment is to test your understanding of how to put various XML technologies together to formulate solutions.You will be assessed on your understanding on materials given in the unit, as well as your own independent research into XML technologies. You are not required to write specific XML documents or scripts, but the more technical detail you supply, the better your submission will be.

Your description of the solution should be given in a report of no more than 5 pages (not including cover pages, table-of-contents, and references, if you have them). The primary readers of your report will be the School's staff.

Part IV: Learning to Learn (5%)

Read the Learning to Learn document, and complete the information in the two forms:

  1. Plans. (2%)
  2. Evaluation of plans and methods. (3%)

Marks Breakdown

Here is a link to a description of how the marks will be broken down.

Your source code and document details will be assessed. Read the "Source Code" section of this link to guidelines for programming for a description on what to consider when writing code.

You may use and modify the example XML documents and Perl code given in lectures, labs and the textbook, with appropriate acknowledgements in your submission. The code you borrowed from these sources will not be assessed, only the sections you add or modify.

Submission Requirements

Your submission should include the following:

  1. B336 Assignment Cover Sheet. All submissions (Internal and External on all campuses) must include this cover sheet. External students must complete this assignment sheet as well as the cover sheet sent to you by the External Studies Office.
  2. A statement of what you have completed - this is essential to guide the marking. Functionalities not stated as completed will not be assessed. Incomplete functionalities misleadingly stated as complete will incur heavy penalities.
  3. Parts I & II:
    • Copies of your XML documents, DTD documents, style-sheets and perl scripts submitted on floppy disk.
    • A print-out of the source code for your DTDs, style-sheets and scripts. You do not need to print-out the example XML documents.
  4. Part I question 4:
    • A working version of the Apache web server configured to do satisfy the stated functionality, installed in and run from your home area on gryphon.murdoch.edu.au. Although having a full web site is not necessary in this assignment, you need to include enough example files (such as CoML and XSL files) in your directories to demonstrate that the requirements are satisfied.
      Do not to have a server daemon running at all times. You will be notified when you need to turn on your server to have it assessed.
    • Copies of your configuration file(s) submitted on floppy disk.
    • A print-out of (only) the sections in the server configuration files that you have modified, with comments.
  5. Part III:
    • A print-out of your report, AND a copy of the electronic copy of your report on floppy disk.
  6. Part IV:
    • A print-out of your plans and evaluation of plans.

Submission Dates

Submit a copy of your plans (part IV a) directly to your tutor before or during week 10. Internal students may do so during your lab sessions. External students may email a copy directly to your tutor. External students should ensure you receive and save the email message sent by your tutor acknowledging he/she has received your plans.

The whole assignment (including part IV a) is due at 12noon Tues 27th May 2003 (week 13). Internal students must submit their assignments to the School of IT's assignment boxes. External students must submit through the External Studies Office.

Learning Objectives:

As with all assignments, this assignment is to assess how well you have achieved the unit's learning objectives. This assignment is principally focused Learning Objectives 1 (understanding technologies), 2 (writing software) and 3 (constructing solutions). Part IV is to assess your progress in Learning Objective 4 (self-learning). To do well in this assignment, you will need to show good performance in these objectives.

Errata

This page is subject to change based on errors found. Any errors found and corrected will be posted to the "Corrections to Unit Materials" group in the unit's discussion forum. If you print out a copy of this page, please follow the developments in that group for corrections.


Document author: H.L. Hiew, Unit Coordinator
Last Modified: Wednesday, 14-May-2003 03:30:26 MST
Disclaimer & Copyright Notice © 2003 Murdoch University
This document is relevant for semester 1, 2003 only