Kuopion yliopisto Klikkaamalla nimeä pääset etusivulle

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

Other links
Department of Computer Science
University of Kuopio

Structured-Document Processing Languages (Spring 2006) Course Homepage

Rakenteisten dokumenttien käsittelykielet (kevät 2006) -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 6: The final exam of May 31, 2006, has been marked and graded. One student failed and 12 passed the course with grades in the range 2..5. Please check the grading and my comments on your papers at the department office.
  • May 29: A summary of student feedback is available here. Thanks for all those who returned the feedback form.
  • May 22: The last exercise session (no. 7) has been moved from Tuesday, May 30, to Monday, May 29, at 10.15 - 12 in MT1. (The general opinion was that it is better to have it a bit earlier than on the day preceding the final exam.)
  • May 15: What will be asked/expected in the exam?
  • May 15: Instructions for testing XQuery using Saxon 8.7 are available on-line. (Please let me know if you have problems in applying them.)
  • May 12: Instructions for running Apache FOP at the Department are available on-line.
  • April 27: Harjoitusryhmä 2 on peruttu vähäisen osallistumisaktiivisuuden takia. Ryhmään ilmoittautuneet voivat siirtyä ryhmän 1 harjoitustilaisuuksiin.
  • April 24: Instructions for the Course Project, due to May 17, are available on-line.
  • March 28: This is a preliminary version of 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 2005 offering, but I'll probaly update some of the contents of the course.

Practical arrangements
The course consists of ...
    • 16 * 2 hours of lectures (March 29 - May 24, 2006).
The first lecture takes place on Wednesday March 29, 2006, at 8.15-10 in class E26-27. (Please check the on-line schedule 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 2005 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: If there is demand (say, by at least two active participants) the course will be given in English. Otherwise the course will be given in Finnish. (For communication, either English of Finnish can be used.)

    • 7 * 2 hours of exercise sessions (April 6 - May 30)
The first exercise group is chaired by Mikko Saesmaa, and the second one by Pekka Kilpeläinen.
A practical XML manipulation course project will be assigned as a part of the exercises.
    • Final exam Wednesday, May 31, 2006, at 8-12 in L2;
    • Retake on Tuesday, June 20, 2006, at 8-12 in L21,L22.
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. (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.

There is no single textbook for the course. The course is mainly based on original articles and technical specifications, most of which are available as on-line references. I highly recommend that you learn to use these original sources, which contain the correct authoritative specifications, often even in quite a readable form!

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; never versions may exist) is the best reference book for XSLT programming that I have come across.
  • I am currently browsing "An Introduction to XML and Web Technologies" by Anders Møller and Michael Schwartzbach (Addison-Wesley, 2006). It would seem to give a reasonable high-level overview.
Lecture Notes (Slides)
Copies of slides will be delivered here prior to the lectures. Please note that the slides are skeletons of lectures, that is, they are not written especially for self-study. If you cannot attend the lectures, you'd better study the references for the contents of those lectures.
  1. Introduction (March 29)
    [Reduced PDF for printing] * [PowerPoint]
  2. XML Document Instances and Grammars (March 29 - April 5)
    [Reduced PDF for printing] * [PowerPoint]
  3. XML Schema Definition Language (April 5)
    [Reduced PDF for printing] * [PowerPoint]
  4. XML Processor Interfaces - SAX (April 7)
    [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] * [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 21)
    [Reduced PDF for printing] * [PowerPoint]
  7. Introduction to Style Sheets (April 21, 26)
    [Reduced PDF for printing] * [PowerPoint]
  8. Cascading Style Sheets (April 26 (and 28))
    [Reduced PDF for printing] * [PowerPoint]
  9. Document Transformations: XSLT (April 28 - May 3)
    [Reduced PDF for printing] * [PowerPoint]
  10. Additional features, and computing with XSLT (May 5-10)
    [Reduced PDF for printing] * [PowerPoint]
  11. XSL: Extensible Stylesheet Language (May 10 and 12)
    [Reduced PDF for printing] * [PowerPoint]
  12. Querying XML Data and Documents (May 16-23)
    [Reduced PDF for printing] * [PowerPoint]
  13. Course Review (May 24)
    [Reduced PDF for printing] * [PowerPoint]
Exercise assignments
Session 1 (April 6/7)
Session 2 (April 20)
Session 3 (April 27)
Session 4 (May 4/5)
Session 5 (May 11)
Session 6 (May 22)
Session 7 (May 30)
Assumed background
  • Subject studies of Computer Science, especially a course on Data Structures and Algorithms
  • Sufficient familiarity with programming and the computing environment at the department.
  • Basic knowledge of structured documents, e.g., from a course on Document Standards ("Johdatus dokumenttistandardeihin"); 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 10 who returned the course feedback form.
Summaries of feedback from previous years:
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 06.06.06