University homepage Suomenkielinen versio puuttuu Inte på svenska In english
University of Helsinki Department of Computer Science
 

Department of Computer Science


http://www.cs.helsinki.fi/u/oheinone/teaching/xml_k07/

582304 The metalanguage XML (4 cr, 2 cu) - Spring 2007

582304 XML-metakieli (4 op, 2 ov)
582304 Metaspråket XML (4 sp, 2 sv)

Contents of this page

News & Noteworthy

Results of the exam on 15 June are now available.

Remember that you may register for a separate exam only if you have completed the project work during the course.

Registration

Registration for the course starts on January 9th. Please do not register for the groups (1 - 4) if you do not plan on participating in the exercises, so that those who do want to participate can do so. You can still pass the course by doing a larger stand-alone project work as well. In that case, register in group 99. Please consider whether you are really dedicated to the course before registering. Register through the registration system.

Course content

XML basics. Modelling of document structures (DTD). Namespaces. Processing of XML documents (DOM, SAX, XSLT). Formatting with styles (CSS, XSL). Related standards.

Course description

The goal of the course is to give you a basic understanding of XML and its use in document production. To this end the course will teach DTDs and production of HTML and XSL-FO (print-oriented) output with XSLT. After the course you shall have both a good working knowledge of the technical aspects and use of freely available tools, as well as an understanding of the more theoretical concepts that affect real-world document processing.

Prerequisites

The course is an optional intermediate-level course. Students should be familiar with HTML and basic data stuctures, and have basic programming skills. The following courses (or similar skills and knowledge) are required: Programming project, Data structures. This is not a programming-oriented course, though.

How to complete the course

In order to complete the course, you must

  • take either
    • the course exam or
    • a separate exam
  • and either
    • participate in the exercises completing the work given in them and complete the smaller project work or
    • complete a stand-alone larger project work

The above means that the exercises are obligatory if you want to pass the course with the more limited smaller project work. 'Obligatory' means attending at least 5 exercise sessions. Exercises are highly recommended and lectures and later exercises will assume that you have learned the material presented in previous exercises. All the required material will be available online.

Programme

The lectures will be in Finnish. Assistance in the exercises will be provided in Finnish and in English. The course material is in English.

Lectures (8 * 2 hours)

Lectures: Oskari Heinonen
January 15th - February 19th, Mondays 12-14, Exactum A111
January 17th - January 24th, Wednesdays 12-14, Exactum A111

Schedule:

Lect.
No.
Date Content Bradley
Chapters
Slides
for viewing
Handouts
for printing
1 15.1.2007 Motivation. Introduction. History. 2, 3, 31 pdf ps pdf
2 17.1.2007 Markup. XML syntax. Well-formedness. 3, 4 pdf ps pdf
3 22.1.2007 DTD basics. Validity. Document modelling. 4, 5, 6 pdf ps pdf
4 24.1.2007 DTD limitations. Alternatives. XML Schema. 14, 15 pdf ps pdf
5 29.1.2007 XML processing. Namespaces. 8, 10, 16, 29 pdf ps pdf
6 5.2.2007 CSS. XSLT. XPath. 13, 17, 22, (24), 25 pdf ps pdf
7 12.2.2007 XSL-FO. n/a pdf ps (large!) pdf
8 19.2.2007 Combining. Wrapup. Related standards. 7, (27, 28) pdf ps pdf

The lectures are based on the course book (see below). The book is useful but not absolutely necessary. You will be able to complete the course with the material presented in the lectures, exercises (these will be available online), and additional material available on the web.

In addition to the lectures you are encouraged to study the comprehensive DTD+XML & XSLT->HTML & XSLT->FO example used as a basis for some of the lectures and exercises. (The files po* make another example. This time about schemas and namespaces.)

Exercises (6 * 2 hours)

January 15th - February 23rd

Hands-on type exercises will be completed in the class room. (There may be some homework assignments given as well.) Each exercise will teach you some basic concepts and allow you to apply them to practice. Assistants will be available to answer questions, and any tricky questions can be discussed together at the end of the exercise session.

NB Lectures and exercises start in the same week.

Groups:

  1. Linda Hellman, Tue 10-12, BK107
  2. Linda Hellman, Wed 10-12, BK107
  3. Mikko Apiola, Fri 14-16, BK107
  4. Mikko Apiola, Fri 16-18, BK107

Schedule:

Exerc.
No.
Dates Topics Questions Answers
1 15.-19.1.2007 XML basics and syntax html html
2 22.-26.1.2007 DTD basics and syntax html html
3 29.1.-2.2.2007 XML Schema, DTD for project work html html
4 5.-9.2.2007 Basic XSLT html html
5 12.-16.2.2007 Basic XSL-FO html html
6 19.-23.2.2007 Project work html n/a

XML tools used in the exercises

Project work

You will have to pick a topic for your project work early on during the course. You are free to choose any reasonable topic that will allow you to comply with the project work criteria. No topics will be proposed by the lecturer or assistants. You will be working on your own project in the exercises as well as given problems. The exercise assistants can help with project work questions.

Alternatively, if you don't attend the exercise sessions, you can do a larger, stand-alone project work.

The deadline is March 15th. The grade will be reduced if you return the project late, and eventually the work will not be accepted at all.

The project may be completed in Finnish, Swedish or English.

Description of the project work (includes a link to the submission form)

Examination

Schedule for exams

Exam requirements

Examples of potential exam questions

You do not have to register for the course exam.

You must register for the separate exams.

You may register for the separate exams that take place after the course exam on February 28th only if you have completed the project work during the course during the year 2007.

Course exam 28 February 2007:

Course results (intranet) (includes project work results)
Exam results (intranet) (the 21-point-min requirement will likely be relaxed a bit)
Exam questions (.ps) (intranet)

Separate exam 17 April 2007:

Results (intranet)
Exam questions (.ps) (intranet)

Separate exam 15 June 2007:

Results (intranet)
Exam questions (.ps) (intranet)

Grading

The course exam will give a maximum of 42 points, the smaller project work a maximum of 12 points, the larger project work a maximum of 18 points, and the exercises a maximum of 8 points. The grading maximum is 60 points, with a possible maximum of 62 points accumulated (with the exercises). Each exercise session will give 1 point but you will get 8 points if you attend all of them.

A separate exam will give a maximum of 42 points. Together with the points of the project work, you may achieve a maximum of 60 points (larger project work) or a maximum of 54 points (smaller project work) scaled appropriately. Exercise points earned during the course are taken into account (with a possible maximum of 60 (62) points) only (in addition to the course exam) in the first separate exam after the course (and only if they work to your advantage). In any case, you must have participated in the exercise sessions during the course to pass the course with the smaller project work.

In order to pass, you must achieve at least half of the maximum points in each section (exam, project work).

Newsgroup

A newsgroup, hy.opiskelu.tktl.xml, has been set up for the course. For discussion about matters related to the course.

Literature

The course will be mainly based on the course book mentioned below. There will also be additional material from the web.

The course book is

  • Neil Bradley: The XML Companion, 3rd ed. Addison-Wesley, 2002.
  • Optional course book: Elliotte Rusty Harold & W. Scott Means: XML in a Nutshell, 3rd ed. O'Reilly, 2004. (This one is even more technical than the one above.)

Additional material (W3C recommendations):

Some useful links


Oskari Heinonen (based on Mika Raento's page [based on Greger Lindén's page])

Updated: Thursday, 21-Jun-2007 21:33:43 EEST