XML and Databases
COMP4317/9317
Session 1, 2009
General Information and Formal Notices
Course Aims
XML has become the lingua franca for data on the web.
Practically all programming languages offer XML support and an
increasing number of jobs in industry require proficiency with XML
technologies. This course gives an introduction to semi-structured data,
and XML in particular. It explains tools and languages for XML processing
and gives the student a hands-on experience with them. The main focus,
however, will be on understanding the fundamental new aspects of dealing
with XML data, which are not present in the relational data world.
In this way, the student will gain some industrial relevant skills as
well as an exposure to fundamental topics (such as tree automata) of
significant intellectual depth.
This course will introduce you to the
world of XML
and to the challenges of dealing with XML
in a RDBMS
(relational database management system).
You will learn about
-
Tree structured data (XML)
-
XML parsers & efficient memory representation
-
Query languages for XML (XPath, XQuery, XSLT)
-
Efficient evaluation using finite-state automata
-
Mapping XML to databases
-
Advanced topics (query optimizations,
access control,
update languages)
Student Learning Outcomes
At the start of this course students should be able to
- understand fundamental data structures; use of pointers.
- produce correct programs in either Java or C/C++, compile them,
run them, test them, etc.
- appreciate use of abstraction in computing
Graduate attributes (UNSW graduate attributes and our
Engineering's
contextualised graduate attributes) are the qualities,
skills and understandings a university agrees its students should
develop during their studies.
Some of these graduate attributes will be developed and assessed in this
course in terms of the following
knowledge and skill outcomes:
-
Represent data, using XML, DTDs, and XMLSchema
-
Use XML from within a programming language, using DOM and SAX
-
Use and know how to implement XML queries languages such as
XPath, XQuery, and XSLT
-
understand algorithms and programming techniques to
efficiently manipulate XML data (such as regular expressions
and finite-state automata)
-
be able to digest and understand the thick pile of W3C
standards such as XQuery, XPointer, XLink, XHTML, XInclude,
XML Base, XML Schema, etc, etc.
Credit value and mode of instruction
6UOC and 3L+1T/L
Assessment criteria
- 5 Assignments (each worth 12%), Total: 60%
====> IMPORTANT: YOU MUST NOT COPY!! Read the
Plagiarism policy of UNSW!!
- Final exam: 40% (3h, written, open book)
To pass, you must get at least 40% for the final exam.
Late assigments:
The maximum possible mark is reduced by
10% per day for the first 5 days after the due date;
after that no further penalty until 2 weeks,
after which the assignment is regarded as not submitted at all.
Supplementary exam
Supplementary exams will only be awarded in well justified cases, in accordance with School policy, not as a second chance for poor performance.
In particular, it is unlikely that a supplementary will be awarded to students who have actually sat the proper exam.
Supplementary exams will be oral. The supplementary final exam will be held after the written supplementary exams held for other courses.
Relation with other courses
Prerequisite: COMP2011 or COMP2711 or COMP2911.
Equivalent: COMP9317, COMP9341
Pointers to important information
- Students enrolled in this course are expected to
attend all classes.
-
Plagiarism policy.
- The use of School of Computer Science and
Engineering computing laboratories is subject to
rules described in the
Yellow Form, which you acknowledge (electronic)
receipt of when you receive your computing account.
The Yellow Form also outlines what to do in case
illness or misadventure that affects your assessment,
and supplementary examinations procedures within the
School of Computer Science and Engineering.
- UNSW
Occupational Health and Safety policies and
expectations.
-
Equity and Diversity.
Continual course improvement - Feedback
Student feedback on this course, and on the lecturing in this course,
will be gathered via questionnaires held at or after the end of the course.
Student feedback is taken seriously, and continual improvements are
made to the course based in part on this feedback.
The course was run in Session 1 of 2008 and received
very positive feedback. Only two issues were
critizied:
-
too much time spent on XPath
-
would like more of XSLT and XQuery, as they seem very practical
I am planning on removing one of the several lectures on
XPath, and to instead have one more lecture about XSLT/XQuery.
CRICOS Provider Number: 00098G