Kuopion yliopisto Klikkaamalla nimeä pääset etusivulle

RDK 2008
Practical arrangements
Material
References
Lecture Notes
Exercises
Assumed background
Course feedback

Other links
Department of Computer Science
Wossikka
University of Kuopio

Structured-Document Processing Languages (Spring 2008) Course Homepage

Rakenteisten dokumenttien käsittelykielet (kevät 2008) -kurssin kotisivu
  • Tietojenkäsittelytieteen syventävien opintojen (III-V vuosi) kurssi (3 ov/6 op)
  • Structured-Document Processing Languages is an elective graduate level (laudatur) course (3 cu/6 ECTS cp) in Computer Science.
Goals of the course: To get a well-founded understanding of some central models and languages for manipulating, formatting, transforming and querying structured (XML) documents.

Announcements

  • June 9: A summary of student feedback is available here. Thanks for those few who returned the feedback form.
  • May 20: The final exam of May 15, 2008, has been marked and graded. Two students failed, and seven passed the course with grades in the range 2..5. You can check the grading and my comments on your papers at the Department Office.
  • May 9: What will be asked/expected in the exam?
  • May 7: The course feedback form is available here. Please fill it and return it at the last exercise session for an extra credit point.
  • May 6: The lecture of Monday, May 12 has been moved to Friday, May 9, at 10-12 in MT2.
  • May 2: Instructions for testing XQuery using Saxon 9 are available on-line. (Please let me know if you encounter problems in applying them.)
  • April 25: The contents of the table on slide 26 (FOP 0.94 XSL-FO Compliance) on XSL formatting was left empty in the PDF version (because of some PowerPoint bug?). The table should look like this:

    Implemented fully partially no total
    formatting
    objects
    38
    (64%)
    7
    (12%)
    14
    (24%)
    59
    (incl. 3 XSL 1.1
    bookmark FOs)
    formatting
    properties
    141
    (62%)
    24
    (11%)
    61
    (27%)
    226
    (non-aural)

  • April 25: Instructions for running Apache FOP (Formatting Objects Processor) at the Department, to be used for testing XSL formatting, are available on-line.
  • April 18: At yesterday's exercise I claimed on-the-fly that there would be no direct way in DOM to get from an Attribute node to its Element node, because DOM Attribute nodes are not children of Element nodes. Later I remembered that there is a way: DOM Attributes provide a method getOwnerElement() for this purpose. (In XPath the element that contains an attribute is the parent of the attribute, even though the converse does not hold: attributes are not children, but they belong to the attribute:: (or @) axis of the element.)
  • April 14: Instructions for the Course Project, due to May 8, are available in Moodle.
  • March 25: This is the course homepage. Please monitor this page for current announcements, lecture notes, and exercise assignments.

    In general, the course will follow rather closely to the Spring 2007 offering, but I may update some of the contents to reflect the latest relevant specifications. Also, some unnecessary overlap with the contents of the course Introduction to Document Standars will be eliminated from this course.

Practical arrangements
The course consists of ...
    • 16 * 2 hours of lectures (March 27 - May 13, 2008).
The first lecture takes place on Thursday March 27, 2008, at 15.15-14 in class MT2. (Please check the on-line schedules from the Wossikka for possible updates. Any unexpected changes will be announced at the top of this page, too.)

A preliminary course syllabus is available here. The course will follow for the most part the Spring 2007 version of the course, but I may update or change some of the contents, though.

Lectures are given by professor Pekka Kilpeläinen.

Language of instruction: The course will be given in English; that is, the lectures will be given in English (if there is demand), and the materials will be in English. The exercise sessions will be in Finnish and in English.

    • 7 * 2 hours of exercise sessions (April 3 - May 14)
It is likely that the two exercise groups will be combined into a single group.
The exercise sessions will be chaired by Pekka Kilpeläinen.
A practical XML manipulation course project will be included as a part of the exercises.
    • Final exam Thursday, May 15, 2008, at 12-16 in L21;
    • Retake on Thursday, June 12, 2008, at 8-12 in E26-27.
Grading: The grade is determined by the formula
    round(6*Exam + 2*Exerc - 2.5) ,
where Exam is the fraction of given exam points out of the maximum, and Exerc is the fraction of solved exercise assignments out of the total (including the course project). (Examples of grades given by the formula are shown here.) The lowest accepted grade is 1, and the highest grade is 5. A minimum of 50 % of exam points is required for passing the course.

Please notice that exercise activity forms 25 % of the grade. Actively solving homework assignments is central for learning to understand and to apply the techniques; The process of working on the assignments is more important than the "solutions" that are discussed at the exercise sessions!

The exercise points can be taken into account for grading the first retake exam, too, if that yields a better result, but not for the later retake exams.

Material
Copies of lecture slides and exercise assignments will be made available online.

The course is mainly based on original articles and technical specifications, most of which are available as on-line references. (Learning to consult these original sources is one of the practical learning goals of the course.)

There are numerous superficial, often slightly erroneous, and quickly out-dated books about XML technology. The following are reasonably good, and could be used as background literature:

  • "XML - How to Program" by Deitel, Deitel, Nieto, Lin and Sadhu (Prentice Hall, 2001) gives a good practical grasp on some of the topics of the course (and many others). The book should be available in the department library. On the negative side, this book starts to be outdated on many of its topics.
  • "XSLT Programmer's Reference" by Michael Kay (Wrox Press, 2000; newer versions may exist) is the best reference book for XSLT programming that I have come across.
  • "An Introduction to XML and Web Technologies" by Anders Møller and Michael Schwartzbach (Addison-Wesley, 2006). (would seem to give a reasonable high-level overview)
Lecture Notes (Slides)
Copies of slides will be delivered here prior to the lectures. The slides are skeletons of lectures, and not written especially for self-study. If you cannot attend the lectures, I recommend that you study the references for the contents of those lectures.
  1. Introduction (March 27) [Reduced PDF]
  2. XML Basics (March 27 - 28) [Reduced PDF]
  3. XML Processor Interfaces - SAX (April 2) [Reduced PDF]
    (Please bring also the SAX Quick Reference with you in class; I'll probably refer to it, too.)
  4. Document Object Model (April 3) [Reduced PDF]
    (Please bring also the DOM Quick Reference with you in class; We'll probably refer to it, too.)
  5. JAXP: Java API for XML Processing (April 9) [Reduced PDF]
  6. Introduction to Style Sheets (April 10) [Reduced PDF ]
  7. Cascading Style Sheets (April 16) [Reduced PDF]
  8. Document Transformations: XSLT (April 17, 23) [Reduced PDF]
  9. Additional features, and computing with XSLT (April 23 - 28) [Reduced PDF ]
  10. XSL: Extensible Stylesheet Language (April 28 and 30) [Reduced PDF]
  11. Querying XML Data and Documents (May 5-9) [Reduced PDF]
  12. Course Review (May 13) [Reduced PDF]
Exercise assignments
Exercise 1 (April 3)
Exercise 2 (April 10)
Exercise 3 (April 17)
Exercise 4 (April 24)
Exercise 5 (April 29)
Exercise 6 (May 8)
  • A possible solution to assignment 6.6 is given here.
Exercise 7 (May 14)
Assumed background
  • Bachelor studies in Computer Science, especially a course on Data Structures and Algorithms, and aptitude for programming (with Java) and using the the computing environment of the department.
  • Basic knowledge of structured documents, e.g., from a course ("Introduction to Document Standards"); especially familiarity with Web and HTML.
Course feedback
A summary of student feedback is available here. Thanks for those few who returned the course feedback form.
Summaries of feedback from previous years:
2007; 2006; 2005; (Did I forget to ask in 2004?); 2003; 2002; 2001 (in Finnish)
Pekka Kilpeläinen
University of Kuopio, Department of Computer Science, P.O.Box 1627, FI-70211 Kuopio, email: FirstName.LastName@cs.uku.fi
Microteknia, Microkatu 1, D wing, 2nd floor, phone. (017) 162 761
Last modified 09.06.08