Semantic Web Technology for a Repository of Learning Objects


Nov 5, 2013 (3 years and 5 months ago)


Semantic Web Technology for a Repository of
Learning Objects
Dietmar R¨osner,Mario Amelung,and Manuela Kunze
Otto-von-Guericke-Universit¨at Magdeburg,Institut f¨ur Wissens- und
Sprachverarbeitung, 4120,
D-39016 Magdeburg,Germany
Abstract.We report about an approach to use Semantic Web technol-
ogy for intelligent access to a repository of learning objects.The LOs
are internally structured with XML.In order to allow a variety of ac-
cess patterns,different taxonomies may be employed in annotating the
learning resources with metadata:a domain taxonomy,general metadata
from the LOM/GEM vocabularies and Bloom’s taxonomy of cognitive
1 Introduction
The preparation of learning material from scratch is a time-consuming process.
For an efficient preparation,a repository of learning objects (LO) (e.g.slides,
documents,exercises,etc.) should be available.An additional effect is that the
repository can also be used by students in their learning process.In this paper,we
discuss criteria and requirements for the architecture and (annotation) structure
of a repository for learning objects for a concrete course.
In our curriculum,we have a course ‘Programming Concepts and Modelling’ (in
German:Programmierkonzepte und Modellierung).The primary audience of this
course (and the accompanying group exercises) are computer science students
in the third semester (i.e.after one year of study).For this group,the course
is obligatory.In addition,there are students participating from other subjects
in our faculty (i.e.students of business informatics,computational visualistics,
and engineering informatics) as well some students from the faculty of electrical
The purpose of the course is to teach the essence of different programming
paradigms (functional,logical,and object-oriented) and to relate their relevant
concepts to the students’ prior experience with Java or other languages (mostly
imperative ones).For this purpose,the exercise course combines different types
of exercise tasks,like programming tasks,induction proofs,etc.
In the first phase of our project
,the creation and collecting of an initial set of
learning objects was a primary concern.Here learning objects include manuscript
sections,exercise tasks
and their solutions and collections of multiple choice
questions and answer sets.All these learning objects are structured with XML
and are annotated with an initial set of metadata.
Currently,the repository of learning objects comprises more than hundred
exercise objects from programming oriented lectures.An easy-to-use web based
tool for capturing exercises is available.In addition to exercises from ‘Program-
ming Concepts and Modelling’,exercises from ‘AI Programming and Knowledge
Representation’ have been collected.Other lectures (e.g.‘Natural Language Sys-
tems’,‘Document Processing’ ) are in the pipeline.Here the types of tasks will
be related but programming tasks will play a minor role.
The internal format of the repository is XML based.For a task the text
to be given to the students is recorded as well as solutions ( different
programming languages) as well as optional hints and comments for the teaching
assistant.In the following,an example for the currently used XML structure for
a task is given:
<?xml version="1.0"encoding="ISO-8859-1"?>
<TASK id="70646554">
<HEADLINE>B\"{a}ume (Listen von Listen)</HEADLINE>
<TASK_TEXT>B\"{a}ume seien als ineinander geschachtelte Listen repr\"{a}sentiert,
wobei in dieser Aufgabe angenommen wird,dass es sich bei den Bl\"{a}ttern
um Zahlen handelt.Schreiben Sie folgende
<SUBTASK type="programming task"id="a"checker="automatic"
<CONTENT type="func">max-tree</CONTENT> bestimmt das Blatt mit dem gr{\"o}{\ss}ten Wert
<SOURCE id="1">
(defun leaf?(element)
(and (atom element) (integerp element)))
(defun tree?(element)
(listp element))
The term’exercise task’ used interchangeably with the academic term’assignments’.
Task texts are currently in German.The Lisp task here is to define a function to
return the largest value of a tree represented as embedded lists with integers in the
(defun empty-tree?(element)
(null element))
(defun max-tree (tree)
(cond ((leaf?tree) tree)
((tree?tree) (apply#’max (mapcar#’max-tree tree)))
(t (error"Argument von map-tree ist kein Baum und kein Blatt")))) ]]>
<PARAMETER position="1">’(1 2 3)</PARAMETER>
<PARAMETER position="1">’(1 2 3 5 (6 (7 8 9)) 6)</PARAMETER>
An exercise task consists of some describing information (e.g.<HEADLINE>,
TEXT>,<HINT>) and one or more subtasks (<SUBTASK>).A sub-
task’s type can be ‘programming task’ or so called ‘free task’ (e.g.induction
proof).The example above shows a programming task which can be used both
on printed exercise sheets and for the web based electronic submission of assign-
ments.In addition to the task text and programming language information the
XML structure contains one or more sample solutions,a set of parameters for
electronic evaluation:
and the comparison function:
The traditional stand up lecture and the face to face group exercises are
supported by web based tools:
– web based multiple choice questionnaires (MCQs) for self assessment of stu-
dents’ knowledge,
– Checker:a programm for interactive submission and pre-checking of stu-
dents’ solutions to programming assignment,
– a web based front end for the structured capture of induction proofs.
Fig 1 shows the different layers on the repository.Currently,we have an XML
annotated repository of tasks,which can be presented by XSLT transformation
[3].In future work,we will enrich the repository with metadata,so that the user
can search in the repository via a query language.The first step is to define
which kinds of metadata are necessary or relevant.
Fig.1.Layered representation.
2 Requirements for Metadata
Now,after the initial population of the repository of learning objects,accessing
the content of the repository in a flexible way becomes a task of increasing
importance.A solution to this task is indispensable for reusability and longevity
of the resources created.
An example:A large collection of programming exercises becomes a valuable
resource only when a teaching assistant who searches for appropriate assignments
for students can search it in a flexible manner.
There are many dimensions that can be used in classifying learning objects.
We will characterise some of the dimensions for exercise tasks in the form of
questions to be asked (and hopefully answered) or requests to be issued:
– I need an exercise for ‘divide and conquer’.
– Is there an exercise (programming task) about hash tables?
– Do we have a task to be solved with list comprehensions?
The examples illustrate that relevant search dimensions for exercises may
include ‘design pattern for algorithms’,‘specific data structures’,and ‘idiomatic
(i.e.programming language specific) programming constructs’.Other possible
dimensions are e.g.‘programming language to be used’,‘programming concepts’,
or ‘complexity of the task’.Very often a search will look for a combination of
values from different dimensions.An example:
– Is there a medium complexity task for Python involving lambda expressions and
higher order functions?
Cognitive Metadata
In the future,we additionally want to provide students with a cognitive map
(topic map) of major concepts from the lecture.
In fig.3 we show an excerpt from a topic structure of the lecture ‘Program-
ming Concepts and Modelling’.Some explanations:
Fig.2.Merging Taxonomies.
– This tree-shaped excerpt covers only topics from the section on functional
programming (with Haskell as the prototypical language) which is only a
part of the lecture.The complete lecture includes a similar section on logic
programming (with Prolog as the prototypical language),a review of object-
oriented programming and a section with comparative issues,e.g.common-
alities and differences between Haskell and Scheme or between Haskell and
– This structure is not following the temporal succession of teaching the topics
but is one possible grouping of closely related concepts.
– Other groupings are sensible as well (e.g.all topics related to recursion,
including recursive algebraic types,could be grouped or all topics about
lists,may they be finite or infinite).As already mentioned above topics are
highly interlinked and topic relations are generally spanning a graph.Thus
any topic tree can only an an approximate layout format.
This cognitive model of the domain is one of the taxonomies that may be
employed to annotate learning objects.The other taxonomies are:
– The IEEE LOM [13] and GEM [10] standards are reused for bibliographical
and organisational metadata.
– For characterising task complexity,we will employ the categories of Bloom’s
taxonomy [1].This taxonomy attempts to organize the cognitive levels needed
in solving different tasks in increasing order of complexity.An interpretation
of Bloom’s categories from a CS perspective is e.g.given in [8].
The topic map of major concepts fromthe lecture will serve several purposes:
– it constitutes a ‘backbone’ for lecture planning,content selection and task
– it supports navigation in the lecture notes
– it allows to annotate exercises and to search for exercises in a topic based
Fig.3.Excerpt from topic map of the lecture ‘Programming Concepts and Modelling’.
Metadata about Structure of LO
Up to now our repository was used in a way that tasks were retrieved and taken
over directly,e.g.into exercise sheets.This view could be described as a ‘simple
retrieval model’.
With regard to tasks from different courses it becomes obvious that a more
sophisticated information model is needed.Task formulations may not yet be
completely specified regarding certain parameters.These tasks can be taken
over only if the still open values are fixed.With other words:Tasks are no longer
completely specified instances,but rather templates with variables,whose values
are still to be determined.
An example is to clarify this:A task in the course ‘Document Processing’
or ‘Natural Language Systems’ could read ‘Provide an RST analysis for the
following text:<TEXT/>’.The text is not fixed,but can be determined by the
responsible person either from a quantity of candidate texts or in a completely
free manner.Then we have a task template,which contains a variable for the
text and this variable has to be instantiated.
For tasks in the lecture ‘Programming Concepts and Modelling’ such an ab-
stracting approach proves likewise as meaningful.Problem or algorithm oriented
tasks,which could be solved in different programming languages,should be for-
mulated as task templates.The programming language which can be used must
be specified during the selection and instantiation of the template.For exam-
ple:The repository holds only once a task template for the ‘problem of money
change’ (and not for each programming language individually) together with
sample data and master solutions for all desired and/or available programming
Metadata about Usage of Tasks
A repository of exercise tasks should also store metadata about the time,param-
eterizing and course a task was last used.The authoring tool (for the selection
of tasks and arranging exercise sheets) should capture these metadata in each
case ‘in the background’.Such metadata can help to arrange exercise sheets in
a more varied manner with respect to content and with respect to methods.
Possible Classifications of LO
It should be obvious that such semantically rich search criteria go far beyond
the bibliography-centric Dublin Core metadata [9].In order to be able to pro-
cess such queries,a model of the domain (in our example case:the domain of
programming concepts and programming paradigms) is needed.Semantic Web
technology is offering the framework to establish and exploit such domain on-
tologies.The relevant domain ontologies can be divided into course dependent
ontologies and ontologies describing learning objects (see Fig.2).Exploiting dif-
ferent taxonomies,a lot of (different) metadata are available for a improved
retrieval.For example,for the search of specific types of exercises,Bloom’s tax-
onomy is one possibility.This taxonomy describes different types of exercises,
e.g.comprehension,application,synthesis,etc.The usage/integration of this
taxonomy has also an effect on the design of concepts describing exercises (see
Fig.4).An exercise task in the course can contain different subtasks,which can
be assigned to different concepts of Bloom’s taxonomy.
Another view on metadata description is given in the following:Exercises are
a valuable asset to be reused when a course is given a number of times.
In order to flexibly annotate these learning objects,RDF [7],[2] triples are a
possible format.The ‘subject’ in these triples is an exercise instance,the possible
values for the ‘object’ are often elements from finite sets (e.g.values for the
predicate hasDifficultyLevel ) or concepts from a domain model (e.g.values
for the predicate forSpecificConceptOrDatastructure).
Some examples of possible RDF tripels about exercises:
– exercise-i hasType {programming-task | induction-proof |...}
– exercise-i toBeSolvedWithPL {Haskell | Prolog | Scheme |...}
– exercise-i hasDifficultyLevel {low | medium | high}
– exercise-i forSpecificConceptOrDatastructure {list comprehension | lambda ex-
pression | higher order function |...}
During the project,the usefulness of Bloom’s taxonomy for describing LO of a
specific computer science course will be evaluated.
Fig.4.Structuring of Exercises.
Concepts from a domain model will typically not be simply arranged in a
flat list,but will be organized in complex network.Even a single or multiple
inheritance hierarchy will in many cases not suffice to capture all relevant rela-
tions.This will always be the case when – as it is the case for learning objects
– different dimensions are employed for specialisation.
In this case,the usage of the IEEE LOMmetadata
is suitable.The metadata
describe general data,technical parameter of the LO,data about rights,and so
on.It is advantageous that the LOM model is also available as RDF(S) [12].
3 Future work
We currently are retrospectively annotating the already existing learning objects
with metadata from the different taxonomies:domain model,LOM/GEM and
Bloom’s taxonomy.For exercises that are newly added to the repository these
metadata are captured during the addition process.
In parallel to extending the repository we are currently investigating which
query facilities already developed for the Semantic Web may be adapted and
used for our retrieval needs:
– The Edutella network has developped a query language for RDF based an-
notations [11].This query language has been applied to learning objects of
the grain size of books or book chapters.
– DQL [4] is a query facility for DAML+OIL [5] resp.OWL [6].DQL is a
general query language and not geared towards learning objects.
Draft Standard for Learning Object Metadata available at
The final decision about the query facility to be employed will be based
on availability and ease of adaptation to our needs.Since the candidate query
facilities are based on the same formalisms as our metadata,we are confident
that adaptation will be manageable.
4 Conclusion
In this paper,we have reported about a project for the development of an ’intel-
ligent’ access to a repository of learning objects (LOs).For a broader and flexible
access,Semantic Web technologies are used for annotation and retrieval of learn-
ing objects.We have presented requirements and criteria for a multidimensional
annotation of LOs.
An aim of our project is to develop a flexible interface for an intelligent
retrieval in a repository of exercises (and in future also of other LOs).One
task in the project is to evaluate existing model of LO metadata on a concrete
selection of LOs.The central questions are:
– In which ways must the existing resources be extended or reorganized?
– Is it possible,to merge the different models/taxonomies so that the existing
LOs can be enriched with structural and taxonomic metadata?
– Which internal restrictions are given for a combination of subtasks within a
task?How can these constraints expressed via metadata?
1.B.S.Bloom,B.B.Mesia,and D.R.Krathwohl.Taxonomy of Educational Ob-
jectives (two vols:The Affective Domain & The Cognitive Domain).1964.
2.D.Brickley and R.V.Guha (eds.).RDF Vocabulary Description Language 1.0:
Rdf schema.W3C Working Draft,World Wide Web Consortium,Boston,USA,
April 2002.URL:http//
3.J.Clark.XSL Transformations (XSLT) Version 1.0.W3C Recommendation,
World Wide Web Consortium,1999.URL:http//
4.R.Fikes,P.Hayes,and I.Horrocks.DQL - a Query Language for the Semantic
Web.In Proceedings of The Twelfth International World Wide Web Conference
(WWW2003).,Budapest,Hungary,May 2003.
5.I.Horrocks,D.L.McGuinness,and C.A.Welty.The Description Logic Hand-
book - Theory,Implementation,and Applications,chapter Digital Libraries and
Web-Based Information Systems,pages 427–449.Cambridge University Press,
6.I.Horrocks,P.F.Patel-Schneider,and F.van Harmelen.From SHIQ and RDF to
OWL:the Making of a Web Ontology Language.In Journal of Web Semantics:
Science,Services and Agents on the World Wide Web.,volume 1,pages 7–26.
Elsevier Science,December 2003.
7.O.Lassila and R.R.Swick (eds.).Resource Description Framwork (RDF) Model
and Syntax Specification.W3C Recommendation,World Wide Web Consortium,
Boston,USA,February 1999.URL:http//
8.R.Lister and J.Leaney.First Year Programming:Let All the Flowers Bloom.In
T.Greening and R.Lister,editors,Proceedings of the fifth Australasian conference
on Computing education,volume 20,pages 221–230,Adelaide,Australia,2003.
Australian Computer Society,Inc.
9.DCMI Metadata Terms.
10.N.V.Morgan.An Overview of Metadata for E-Learning,focusing on the Gate-
way to Educational Materials and activities of the Dublin Core Education Work-
ing Group.In 2003 Symposium on Applications and the Internet Workshops
(SAINT’03 Workshops),Orlando,Florida,USA,January 2003.
11.W.Nejdl,C.Qu,S.Decker,M.Sintek,A.Naeve,M.Nilsson,and T.Risch.
Edutella:a P2P Networking Infrastructure Based on RDF.In Proceedings of
The Eleventh International World Wide Web Conference (WWW2002).,Honolulu,
Hawaii,USA,May 2002.
12.M.Nilsson,M.Palmer,and J.Brase.The LOM RDF Binding – Principles and
Implementation.In 3rd Annual Ariadne Conference,Leuven,Belgium,November
13.Learning Technology Standards Comittee of the IEEE.Draft Standard for Learn-
ing Objects Metadata IEEE p1484.12.1/d6.4 12.,June 2002.