• further advantage: possible automated processing
of (at least) some parts of the final projects.
The rest of the paper is organized as follows: firsts, we
give a detailed description of the requirements on the
final projects from DBS (Databases 101) in the sec-
tion 2. Advantages of the implementation of our so-
lution with respect to the technologies used and their
compatibility as well as students’ point of view is pre-
sented in the section 3. In the section 4, we present
our experience after two semesters
1
. We consider
two groups of students here – students familiar with
XML/XSLT technologies vs. those without such ex-
perience. To conclude, in the section 5, we summarize
our findings with respect to the above specified state-
ments. Also, we shortly discuss the future work and
potential extensions here.
2 FINAL PROJECT
REQUIREMENTS
Our aim is to provide a structure for the students’ fi-
nal projects. This structure must be flexible enough
to reflect the needs of the descriptive parts of the doc-
ument. On the other hand, it must be rather strict,
as it defines the names and the order of the required
parts of the document. The requirements for the fi-
nal project structure are not so strict to allow fully
automated processing as it is usual in programming
courses, see (Cheang et al., 2003) and (Helmick,
2007) for example.
XML (Extended Markup Language) seems to be
an ideal format for these purposes. So, the final
project is ought to be presented as an XML docu-
ment. There are some basic rules on syntax of a
XML document. A document which satisfies such
rules is called well-formed. See W3C pages for de-
tail (http://www.w3c.org).
However, a well-formed XML document still does
not meet our expectation on the final project struc-
ture. We need to strictly specify the names of indi-
vidual final project parts (elements in XML terminol-
ogy), the order of these elements, and their cardinality
(the number of their occurrences in certain context).
For example, an element description which
represents one part of the final project document, con-
sists of exactly one element title followed by at
least one (but potentially more) paragraphs. Each
paragraph consists of an element para optionally fol-
lowed by an element comment. In DTD formalism
(see bellow), this requirement looks as follows:
description (title, (para, comment?)+)
1
Databases 101 runs only in the Fall semester.
For these purposes, a document type description can
be specified. A document is then checked against this
structural description. If it satisfies all the require-
ments on the document type description, it is marked
as valid.
There are three notations/languages used for a
document type definition – DTD, XML Scheme, and
RelaxNG. We choose DTD, since it is the simplest
one, yet, it is powerful enough for our purposes.
Each DTD specification can be automatically trans-
lated into XML Scheme as well as RelaxNG specifi-
cation. These facts, in turn, are important for XML
document editing. Some editors do not support DTD,
but require XML Scheme, for example.
A complete DTD specification for a DBS final
project is included in Appendix A.
2.1 Final Project Parts
Let us shortly describe the main parts of the final
project. We will refer to them in chapter 3.
2.1.1 Domain Description
First, students are required to specify their own
database for an implementation. They have to de-
scribe the context they are going to model on a con-
ceptual level and, subsequently, they have to imple-
ment it in SQL server
2
. This part consists of mini-
mally one, typically several paragraphs.
2.1.2 Conceptual Model
As a second step, students formalize their domain in
ER (Entity Relationship) notation. They use a special
tool for ER modeling in this stage of the work. They
are required to include a figure of their ER model and
an URL link to the source code of this model into their
final project documentation.
This part also requires at least one additional para-
graph, in which the students discuss the potential
problems of loops that might arise in their model and
they also formulate additional integrity constraints
(such that can’t be described in ER notation).
2.1.3 Relational Database Implementation
This stage of the final project consists of several indi-
vidual parts. We’ll describe each of them in the fol-
lowing paragraphs.
2
As a rule, Oracle is used for all the courses.
A LARGE AMOUNT OF FINAL PROJECTS EFFECTIVELY PROCESSED WITH MINIMAL SOFWARE
REQUIREMENTS - Open Source and Platform Independent Solution: A Case Study
237