Kuopion yliopisto Klikkaamalla nimeä pääset etusivulle

RDK 2007
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 2007) Course Homepage

Rakenteisten dokumenttien käsittelykielet (kevät 2007) -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 familiar with the central models and languages for manipulating, representing, transforming and querying structured (XML) documents.

Announcements

  • June 9, 2008: A summary of student feedback is available here. Thanks for all those who returned the feedback form.
  • June 11: The final exam of May 29, 2007, has been marked and graded. Two students failed while four passed the course with grades in the range 3..5. You can check the grading and my comments on your papers at the department office.
  • May 16: What will be asked/expected in the exam?
  • May 15: The course feedback form is available here. Please fill it and return it at the last exercise session for an extra credit point.
  • May 4: Instructions for testing XQuery using Saxon 8.9 are available on-line. (Please let me know if you encounter problems in applying them.)
  • May 4: Instructions for running Apache FOP (Formatting Objects Processor) at the Department are available on-line.
  • May 2: A question about producing zero-based numbers with xsl:number was asked at the lecture. Here is a reply.
  • April 18: Instructions for the Course Project, due to May 11, are available on-line. Instructions for running XSLT processors at the Department are also available.
  • March 26: This is the course homepage. Please monitor this page for topical announcements, lecture notes, and exercise assignments.

    In general, the course will follow rather closely to the Spring 2006 offering, but I plan to update some of the contents to reflect the latest relevant specifications (DOM3, JAXP 1.3, XPath and XSLT 2.0, XQuery 1.0).

Practical arrangements
The course consists of ...
    • 16 * 2 hours of lectures (March 28 - May 16, 2007).
The first lecture takes place on Wednesday March 28, 2007, at 10.15-12 in class E16-17. (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 2006 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. By default, the main language of communication for Exercise Group 1 is Finnish and for Exercise Group 2 English.

    • 7 * 2 hours of exercise sessions (April 4 - May 21)
The exercise sessions will be chaired by Mikko Saesmaa.
A practical XML manipulation course project will be included as a part of the exercises.
    • Final exam Tuesday, May 29, 2007, at 8-12 in L2;
    • Retake on Tuesday, June 19, 2007, 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 28)
    [Reduced PDF for printing] * [PowerPoint]
  2. XML Document Instances and Grammars (March 28 - April 3)
    [Reduced PDF for printing] * [PowerPoint]
  3. XML Schema Definition Language (April 3)
    [Reduced PDF for printing] * [PowerPoint]
  4. XML Processor Interfaces - SAX (April 4)
    [Reduced PDF for printing] * [PowerPoint]
    (Please bring also the SAX Quick Reference with you in class; I'll probably refer to it, too.)
  5. Document Object Model (April 12)
    [Reduced PDF for printing (Formatting of slide 27 corrected on Apr 12) ] * [PowerPoint]
    (Please bring also the DOM Quick Reference with you in class; We'll probably refer to it, too.)
  6. JAXP: Java API for XML Processing (April 13)
    [Reduced PDF for printing] * [PowerPoint]
  7. Introduction to Style Sheets (April 18)
    [Reduced PDF for printing] * [PowerPoint]
  8. Cascading Style Sheets (April 20)
    [Reduced PDF for printing] * [PowerPoint]
  9. Document Transformations: XSLT (April 25, 26)
    [Reduced PDF for printing] * [PowerPoint]
  10. Additional features, and computing with XSLT (May 2, 3)
    [Reduced PDF for printing] * [PowerPoint]
  11. XSL: Extensible Stylesheet Language (May 3 and 9)
    [Reduced PDF for printing] * [PowerPoint]
  12. Querying XML Data and Documents (May 9-15)
    [Reduced PDF for printing] * [PowerPoint]
  13. Course Review (May 16)
    [Reduced PDF for printing] * [PowerPoint]
Exercise assignments
Session 1 (April 4)
Session 2 (April 12/13)
Session 3 (April 19/20)
Session 4 (April 26)
Session 5 (May 3)
Session 6 (May 10)
Session 7 (May 21)
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.
  • Basic knowledge of context free grammars, regular expressions and automata may be useful, for example from a course on theory of computing (e.g., "Ohjelmoinnin ja laskennan teoria"), but not necessary.
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:
2006; 2005; (Did I forget the feedback 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