Programming help home

Monday 25 July 2016

CSC8409 Project Assignment Case Study

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.

 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