Goal and Platform & Language requirements
The goal of the CSC8409 project
is to create an interactive web information system (website) built almost
exclusively using XML languages and tools. Students determine a project content
based on their hobbies and interests, the assignment requirements, and possible
consultation with the course lecturer. A project typically contains a subset of
possible ingredients, listed below.
The project must be implemented within the confines of
a traditional LAMP or WAMP platform because the course examiner will assess the project within such a platform.
It is important that students
use no other software than what is included in a recent version of XAMPP. In
addition, scripting in either PHP or Perl should be kept to a minimum (e.g. do
transformation work by using XSLT inside a simple PHP script, not through a PHP
script that doesn't use XSLT at all), and use of the relational database engine
MySQL should be strongly avoided. The reason for these restrictions is that
this is a course on XML, not on PHP or MySQL.
Generally speaking, scripting
in PHP or Perl will indeed be necessary, but typically these scripts will be very
short (e.g. loading an XML document and transforming it on the fly through
XSLT). Longer scripts will be necessary to change the content of an XML
document through parsing and serialization. Any data used in the project should
be stored in XML documents, not in a database.
The course examiner will assess
your project using a fresh install of XAMPP and the Firefox browser. Where
animated SVG is present, the Opera web browser will be used to assess the
animation. Note that your project should work on all major browsers. Code in
accordance with the W3C standards!
Possible
Ingredients
The following is a list of
possible (conceptual level) ingredients for your project. You will need to
think of ways to include several of these in a meaningful way in your project.
1.
A set of XML documents valid
over one or more schemas of your own design (data files). Your submission also
includes the Schemas for these data documents. At least some of the data should
be updatable through a web form using DOM.
2.
One or more XML documents that
contain the structure of your web site or application. The structure should be
updatable using DOM through a web interface (eg adding or deleting pages and
menu items).
3.
A set of XHTML documents that
contain part of the content for web pages.
4.
Rendering of webpages in the
browser using XSLT to create dynamic webpages. This will involve using the
techniques of XSLT and (X)HTML, with the content from the data files and/or the
structure files).
5.
One or more dynamically
generated and interactive SVG graphics web pages. The SVG can be embedded
inside an XHTML document, or be stand-alone. Such web pages will only be
rendered by SVG-enabled browsers such as Firefox and Opera (not MS IE).
6.
One or more dynamically
generated RSS feeds. The RSS icon should appear within the browser's address
bar (eg as in Firefox) telling the user that an RSS feed is available.
7.
One or more simple Web Services
which allow user programs to request and receive data in an XML format.
8.
One or more web pages that use
AJAX technology to update data in an asynchronous manner.
Note that ingredients 4 – 6
will normally involve the development of XSLT scripts that range in complexity
from simple to complex. The XML data content is transformed through the XSLT
script into the desired output format (eg SVG or RSS).
Example Project
Here is an example project that can give you an idea of how the
above ingredients can be included in a meaningful way in one project.
Marking Criteria
The marking criteria are based
on the list of possible ingredients given above. Each ingredient carries a
maximum amount of points that you can earn for the ingredient. If you implement all ingredients perfectly,
you will be able to score much more than 100% (110 to be precise). In other
words, not all ingredients need to be implemented for you to obtain a high mark.
|
max
|
Updatable data files + schemas
|
10
|
Updatable
structure files
|
10
|
XHTML content
pages
|
5
|
XSLT to render
html
|
15
|
Dynamic and
interactive SVG graphic
|
15
|
Dynamically
generated RSS feed
|
10
|
Simple web
services
|
5
|
AJAX
|
5
|
Demonstration
video
|
25
|
Documentation
(readme)
|
10
|
As an example, suppose student
XYZ has included only 5 ingredients in her project, and some of them were not
implemented very well. She would earn 10 + 7 + 5 + 9 + 6 = 37 marks out of 100.
On the other hand, student RTG has attempted to include everything, and did a
pretty good job with most of them. This student has earned 107 marks, which
means he gets 100%, or an HD.
This marking scheme allows
students to either work deeply, or broadly (or both, of course). Working in
depth means that you choose a few ingredients that interest you, and you
implement them exceptionally well. Working broadly means that you attempt all
ingredients, but don't go in deep detail. Doing both means that you try to do
everything perfectly.
Instruction for the
Demonstration Video of your system
One of the most important
assessment items that you need to submit is a short (3-5 min.) video clip that shows how your system
is executed and working. This video is important as it provides a good
opportunity for training your skills in presenting your good work to others and
significantly facilitate the evaluation of your project by the marker. Your
video should cover the whole operation of your system, from the start of the
system until finishing going through all the major functions/features that are
developed.
You can use ANY existing on-screen activity capturing
softwares to produce this video. One of the good candidates is Camtasia Studio
or Camtasia Mac (www.techsmith.com/Camtasia). This software is not free though
but you can download a trial version for producing your video.
Your video shouldn't be fancy
and doesn't need to have any (sophisticated) editing. A simple recording of
running your system is sufficient. It is highly recommended to record
voice in the video
at the same time for any explanations you may want to provide. Please export
the video using the lowest resolution in order to keep its size minimum.
Please submit the video in some
commonly-used formats such as MP4 or AVI. Please do
not submit the source video file. You can submit the video together with other
documentations and source code of your project to Studydesk or you can upload
your video to some other websites such as YouTube and provide a link in your
submission.
Please kindly note that, irrespective
of how well you develop your system, you will lose a
significant portion of
your mark if you fail to provide this video for assessment.
Timing Issues
On the one hand, this is a
large and challenging project, so you need to start relatively early. On the
other hand, some of the ingredients require knowledge that you gain in Modules
towards the end of the course. So how do time your work?
At the start of the semester,
it is recommended to think of a problem area that interests you, and see what
kind of web site and services would be useful for that area. You can design a
static version of your project simply by using your current knowledge of HTML
and perhaps some scripting. Later on, when you have the required knowledge, you
can replace the static version with the XML technology.
After week 2 or 3, you should
be able to design XML document structures for the first few ingredients of your
project. After week 4 or so you should be able to create schemas (DTD or other)
for the data files.
Before the semester break by
week 8, you will have the required knowledge to work on XSLT scripts. Writing
XSLT will take up most of your time. By then, you will also know how to use the
DOM to make changes in your XML data files through a web interface.
Individual XML languages such
as SVG and RSS will be looked at immediately after the break. They are nothing
more than XML documents over a specific schema, so it is a matter of learning
the correct elements and their attributes.
The web services Module is
towards the end of the semester. Students wanting to include this ingredient
into their project may request an extension of the deadline. However, if an
extension is granted for this reason, I do expect to see a web service in your
final submission.
Read about Java Programming Assignment Help.
Submission Instructions
This course contains 3
assessment items whose instructions are provided as follows. Please refer to
the course specification for their respective due date.
Assignment 1
(Proposal, 5%)
Submit your proposal for the
project you would like to do for this course. Make sure to submit a stand-alone
HTML, word or PDF file (no any other format) containing the XML-related
features you want to include in your project. Please refer to an example for
the XML features that you can possibly incorporate in your project. Please note
you do not necessarily need to have the exactly same features as given in the
example. You should list your own features for your project. You need to
include the following 3 major components in the proposal with typically a
2-page length:
1.
Introduction.
Introduce the area of your project, the background and the motivation of your
system;
2.
The list of XML features that
you're going to incorporate in your system. This
is important as marks are given based on the implementation of those features;
3.
Timeline and milestones. Lay
out your planning of the whole project and the associated time and milestones
to be completed along the process.
Please submit Assignment 1 via the
electronic submission page on the course website.
Assignment 2 (Project Milestone 1: progress report, 15%)
Please submit a ZIP file
containing the following:
·
Your updated proposal (HTML,
word or PDF). You can take this chance to update the features you need to
include in your projects.
·
A separate directory containing
all the data and schema files which must include the following files:
·
o An
index.html or index.php file that forms your web site's front page;
o All
the raw data XML files for your application;
o XML
schema files (either in DTD or XML schema, but not both).
o Screen
snapshots of a Web-based schema validator to show that your XML documents are
all valid with regard to the schema you have created.
Make sure you don't include any examples, documentation,
libraries, executables, etc that belong to the XAMPP software package.
Also, make sure that your xml
files are valid with respect to the schema files before your submission as you
will lose a significant portion of marks for this assignment if the xml files
are invalid. I will use Web browsers to check your xml files.
Please submit Assignment 2 via
the electronic submission page on the course website. That should be possible
because almost all content is text files which compress very well. Only the images
will take up space, but you should limit those.
Assignment 3 (Final
project submission, 85% )
Please submit a ZIP file
containing the following:
·
Your final project proposal
(HTML, word or PDF).This proposal should be consistent with the final project
you submit;
·
A readme
file explaining
where (e.g. files/web pages) each feature is implemented. This document is very
important. It can help examiner to quickly go to that file/page for assessment.
Please also indicate very clearly at the beginning of the documentation which Web
browser(should be one of the mainstream Web browsers) you have
been using to develop and test your system/website;
·
A short
video (AVI or MP4
file) to demonstrate your system or a link pointing to external site where your
video is uploaded;
·
A separate directory containing
the following files:
o An
index.html or index.php file that forms your web site's front page;
o All
the raw data XML files for your application;
o XML
schema files (either in DTD or XML schema, but not both);
o Screen
snapshots of a Web-based schema validator to show that your XML documents are
all valid with regard to the schema you have created;
o Other
files (PHP scripts, XSL stylesheets, SVG, XHTML, small images, ...) that
support the features you include in the project.
Make sure you don't include any examples, libraries,
executables, etc that belong to the XAMPP software package.
Please submit Assignment 3 via
the electronic submission page on the course website. That should be possible
because almost all content is text files which compress very well. Only the
images will take up space, but you should limit those.
Programming
Assignment Help provides plagiarism free assignments
i.e. all our solutions are genuine and written by best technical assignment
writers who have years of experience. Get
a quote now.
No comments:
Post a Comment