source: andreas meier approximate plan of the course 21.4. introduction 28.4. activemath vorstellung...
TRANSCRIPT
Source: Andreas Meier
Approximate Plan of the Course
• 21.4. Introduction• 28.4. ActiveMath Vorstellung /Introduction to ActiveMath • 12.5. Benutzermodellierung/student modeling • 19.5. .instructional design • 2.6. Adaptive hypermedia, XML knowledge representation• 9.6. collaborative learning/ Lernen in Gruppen • 16.6. diagnosis• 23.6. action analysis• 30.6. support of meta-cognition• 7.7 further topics (tutorial dialogues, mobile learning..)• 14.7. student project reports
Source: Andreas Meier
Approximate Plan of the Course
• 21.4. Introduction• 28.4. ActiveMath Vorstellung /Introduction to ActiveMath • 12.5. Benutzermodellierung/student modeling • 19.5. .instructional design • 2.6. support of meta-cognition• 9.6. collaborative learning/ Lernen in Gruppen • 16.6. Adaptive hypermedia, XML knowledge representation• 23.6. action analysis• 30.6. diagnosis• 7.7 further topics (tutorial dialogues, mobile learning..)• 14.7. student project reports
Source: Andreas Meier
Hypermedia/Hypertext
• Non-linear organisation of objects/documents (e.g., pieces of knowledge)• Logical connections by links between seperate
objects/documents• Hyperspace = union of objects/documents + links• Hypertext emphasizes text aspects• Hypermedia emphasizes multimedia aspects
Source: Andreas Meier
Applications
• Intelligent tutoring systems e.g., ActiceMath• (On-line) information systems e.g., Wikipedia
Source: Andreas Meier
Example: Wikipedia
Source: Andreas Meier
Applications
• Intelligent tutoring systems e.g., ActiceMath• (On-line) information systems e.g., Wikipedia• (On-line) help systems• Institutional Hypermedia e.g., virtual tours through museums• E-Commerce e.g., catalogs• Recommender Systemsetc.
Source: Andreas Meier
Adaptive Hypermedia
Hypermedia + User Modeling (some kind of) + Adaptation (some kind of) ------------------------------- Adaptive Hypermedia
Source: Andreas Meier
Adaptive Hypermedia
• To What?• What?• Why?• How?
Source: Andreas Meier
Adaptation to what?
• User knowledge e.g., by overlay model or stereotype model• User goals when using the system e.g., by overlay model of supported goals• User background and experience• User preferences
Source: Andreas Meier
Stereotype Example
Source: Andreas Meier
What can be adapted?
Hypermedia = Document Content + Links
Two adaptation possibilities:
• Adaptive presentation
by content adaptation
• Adaptive navigation
by links adaptation
Source: Andreas Meier
Adaptive presentation: Why?
General idea: adapt content to knowledge, goals, and other characteristics of user
Provide different content for different users
Examples:• Provide additional material for some users
– comparisons– extra explanations– details
• Remove or fade irrelevant pieces of content• Sort fragments - most relevant first• provide different presentations/output formats
Source: Andreas Meier
Adaptive presentation: How?
Examples:
• Page variants
Source: Andreas Meier
Page Variants
• System holds several prepared presentation variants of each document
• Each variant prepared for a user stereotype• System selects presentation variant depending
on the given/analyzed user stereotype • Requires annotation of presentation variants
with the associated user stereotype
Source: Andreas Meier
Adaptive presentation: How?
Examples:
• Page variants• Conditional text filtering
Source: Andreas Meier
Conditional text filtering
If: Condition1 THEN: Content1
Chunk 2
Chunk 3
Chunk 1
• Divide content into chunks
• Associate each chunk with a condition on the level of user knowledge, goals, etc.
• When presenting the information, present only chunks whose condition is true
Source: Andreas Meier
Adaptive presentation: How?
Examples:
• Page variants• Conditional text filtering• Adaptive stretchtext
Source: Andreas Meier
Stretchtext Example
Source: Andreas Meier
Stretchtext Example
Move Mouse
Source: Andreas Meier
Adaptive Stretchtext
Stretchtext = special kind of hypertext Hotwords can be collapsed or uncollapsed
Adaptive Stretchtext:• Present document with stretchtext extensions
non-relevant to the user being collapsed• Requires annotation of stretchtext extensions e.g., by classifications and wrt. user
knowledge
Source: Andreas Meier
Adaptive Navigation: Why?
General idea: adapt links Support users to find their paths in the
hyperspace– Provide guidance: Where can I go? – Provide orientation: Where am I?
depending on user knowledge and goals
Source: Andreas Meier
Adaptive Navigation: How?
Examples:• Direct Guidance provide next-best suggestions• Adaptive sorting of links sort links, most relevant links first• Adaptive hiding of links hide links not relevant for the user• Adaptive annotation of links augment links with helpful information
Source: Andreas Meier
Suggestions Example
Source: Andreas Meier
Annotated Links Examples
Source: Andreas Meier
Example: Rule-Based Technique
• Sets of rules encode which links should be visible and which links are most relevant
• Rules take into account user knowledge, goals, etc.
• E.g., rules hide links to documents which do not suit to the user‘s current level of knowledge
Source: Andreas Meier
Small Summary
• Adaptation to the user in Hypermedia systems requires additional user-related information attached to documents in the hyperspace.
Source: Andreas Meier
Situation in ActiveMath ?
The Knowledge Representation:
• has to provide structure with conceptual units such as definitions, theorems, examples, etc.
• has to be annotated with information that supports user adaptivity in choosing the content
• needs to comprise the semantics of mathematical objects to guarantee machine-readability
• has to support adaptive presentation
=> Structural and Semantical Markup !
Source: Andreas Meier
Markup-Languages
• Ultimate Goal: document markup should help recipient (human/system) of document to better cope with the content
• Markups can be used for– automatic search in documents– automatic manipulation of documents– automatic presentation of documents – etc.=> automatic processing of documents
Source: Andreas Meier
Markup-Languages
Distinguish:
• Presentation-oriented markup: – markups are processed to create layout– e.g. LaTeX, HTML
• Semantic/Structure-oriented markup: – markups describe ‘semantics‘, ´logic
structure‘ and ‘relations‘ of content– e.g. XML based languages OpenMath,
OMDoc used in ActiveMath
Source: Andreas Meier
XML
• eXtensible Markup Language• Goal: machine-readable structured documents• Technically:
– XML defines grammar rules to interpret documents as trees consisting of elements
– Basic rules are shared by all XML dialects– For concrete XML dialect: define further rules
for specifying a subset of trees as admisable (e.g., by DTD = Document Type Definition)
XML is standard for a family of independent dialects of similar structure
Source: Andreas Meier
Example XML Document
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE family SYSTEM 'family.dtd'>
<family id="f1">
<member role="father" sex="male">
<name> John </name>
<surname> Doe </surname>
<date-of-birth>
<day> 29 </day>
<month> 02 </month>
<year> 1978 </year>
</date-of-birth>
<character> mild </character>
<hobby> chess </hobby>
<hobby> collecting butterflies </hobby>
<hobby> watching soap operas </hobby>
</member>
...</family>
Source: Andreas Meier
Example DTD (family.dtd)
<!ELEMENT family (member)*><!ATTLIST family id ID #REQUIRED><!ELEMENT member (name,surname?,date-of-
birth,character,hobby*)><!ATTLIST member role (father|mother|child|grandfather|
grandmother|dog|cat) #REQUIRED sex (male|female) #REQUIRED>
<!ELEMENT name (#PCDATA)><!ELEMENT surname (#PCDATA)><!ELEMENT date-of-birth (day,month,year)><!ELEMENT character (#PCDATA)><!ELEMENT hobby (#PCDATA)><!ELEMENT day (#PCDATA)><!ELEMENT month (#PCDATA)><!ELEMENT year (#PCDATA)>
Source: Andreas Meier
Automatic Processing
• XML document describes structure of content• Automatic processing by XSL transformations
(XSL = eXtensible Stylesheet Language)• Technically: set of rules describing the transformation of
XML tree parts into some output format• Applications:
– Presentation oriented transformations• e.g., XSL transformation producing HTML• e.g., XSL producing LaTeX• e.g., XSL producing natural language
– Message oriented transformations for data exchange• Advantage: Separation of content (and its structure) and
presentation format or data-exchange format
Source: Andreas Meier
XSL producing HTML
Source: Andreas Meier
XSL producing LaTeX
Source: Andreas Meier
XSL producing Natural Language
Source: Andreas Meier
OpenMath
• XML dialect providing semantical markup for mathematical formulas
Source: Andreas Meier
Example: a*(b+c)
<OMOBJ> <OMA> <OMS cd=“arith1“ name=“times“/> <OMV name=“a“/> <OMA> <OMS cd=“arith1“ name=“plus“/> <OMV name=“b“/> <OMV name=“c“/> </OMA> </OMA></OMOBJ>
Source: Andreas Meier
OpenMath
• XML dialect providing semantical markup for mathematical formulas
• Objects (<OMOBJ>) are composed of– Applications: <OMA> ... </OMA>– Symbols: <OMS> ... </OMS>– Variables: <OMV> ... </OMV>– ...
• Symbols have a semantic, which is defined in content dictionaries: cd=“arith1“
Source: Andreas Meier
CD Definition of log
<CDDefinition> <Name> log </Name> <Description> This symbol represents a binary log function; the first argument is the base, to which the second argument is log'ed. It is defined in Abramowitz and Stegun, Handbook of Mathematical Functions, section 4.1 </Description> <CMP> a^b = c implies log_a c = b </CMP> <FMP> ... </FMP> <Example> log 100 to base 10 (which is 2). <OMOBJ> <OMA> <OMS cd="transc1" name="log"/> <OMF dec="10"/> <OMF dec="100"/> </OMA> </OMOBJ> </Example></CDDefinition>
Source: Andreas Meier
Advantages of OpenMath
• Separation of structure and presentation Different presentations with XSL
transformations e.g., a*(b+c) vs. a(b+c) vs. *(a,+(b,c))
• Communication between ActiveMath and other systems (e.g., computer algebra systems) Creation of input for external systems via
XSL transformations and phrasebooks
Source: Andreas Meier
OMDoc
• OpenMath restricted to simple mathematical objects• OMDoc is XML-based extension of OpenMath• Goal: provide markup schemes for mathematical
documents• OMDoc:
– inherits OpenMath objects and formulas– inherits content dictionaries– adds framework for the definition of new symbols– adds structural items such as definitions,
theorems, examples, exercises– allows for integration of applets and prog. code
Source: Andreas Meier
OMDoc Example: Definition
<definition id=“def_order“ for=“order“ type=“simple“> <metadata> ... </metadata> <CMP xml:lang=“en“> If <OMOBJ><OMV name=“G“/></OMOBJ> is a <ref xref=“Th1_def_group“>group</ref> and <OMOBJ> <OMA><OMS cd=“set1“ name=“in“/> <OMV name=“g“/> <OMV name=“G“/> </OMA></OMOBJ> then the order of <OMOBJ><OMV name=“g“/></OMOBJ> is the smallest positive integer <OMOBJ><OMV name=“m“/></OMOBJ> with <OMOBJ id=“OMOBJ_o1“> <OMA><OMS cd=“relation1“ name=“eq“/> <OMA><OMS cd=“Th1“ name=“power“/> <OMV name=“g“/> <OMV name=“m“/> </OMA> <OMS cd=“Th1“ name=“unit“/> </OMA></OMOBJ> ... </CMP></definition>
Source: Andreas Meier
OMDoc Example: Definition
• Possible presentation (created by XSL transformation): Definition: If G is a group with unit e and g in G, then the
order of g is the smallest positive integer m with g^m=e. ...
Source: Andreas Meier
OMDoc: Definition of Monoid
A monoid is a structure [M times unit]
in which[M times]
is a semi-group
with unite
<definition id="c6s1p4_Th2_def_monoid" for="c6s1p4_monoid">
A monoid is a structure [M times unit]
in which[M times]
is a semi-group
with unite
</definition>
<definition id="c6s1p4_Th2_def_monoid" for="c6s1p4_monoid">
<CMP xml:lang="en" format="omtext"> A monoid is a structure [M times unit]
in which[M times]
is a semi-group
with unite
</CMP><FMP><OMOBJ> ... </OMOBJ></FMP></definition>
<definition id="c6s1p4_Th2_def_monoid" for="c6s1p4_monoid"><metadata> <depends-on> <ref theory="cp1_Th3" name="structure" /></depends-on> <Title xml:lang="en">Definition of a monoid</Title> </metadata><CMP xml:lang="en" format="omtext"> A monoid is a structure [M times unit]
in which[M times]
is a semi-group
with unite
</CMP><FMP><OMOBJ> ... </OMOBJ></FMP></definition>
<definition id="c6s1p4_Th2_def_monoid" for="c6s1p4_monoid"><metadata> <depends-on> <ref theory="cp1_Th3" name="structure" /></depends-on> <Title xml:lang="en">Definition of a monoid</Title> </metadata><CMP xml:lang="en" format="omtext"> A monoid is a <ref xref="cp1_Th3_def_structure"> structure </ref> <OMOBJ> <OMS cd="elementary" name="ordered-triple"/> <OMV name="M"/> <OMS cd="cp4_Th2" name="times"/> <OMS cd="cp4_Th2" name="unit"/></OMOBJ>in which<OMOBJ> <OMS cd="elementary" name="ordered-pair"/> <OMV name="M"/> <OMS cd="cp4_Th2" name="times"/></OMOBJ> is a semi-groupwith <ref xref="c6s1p3_Th2_def_unit">unit</ref> <OMOBJ xmlns="http://www.openmath.org/OpenMath"> <OMS cd="cp4_Th2" name="unit"/> </OMOBJ>. </CMP><FMP><OMOBJ> ... </OMOBJ></FMP></definition>
Source: Andreas Meier
Metadata
• are data (i.e., information) about other data• describe, classify, relate documents• Goal: describe documents in machine-
understandable format for automatic processing, retrieval, reuse ...
• Metadata can be, for instance, – information about author, publisher, etc. – classification of documents by attributes– relations between documents– pedagogical metadata for ActiveMath
Source: Andreas Meier
Metadata in OMDoc Example
<definition id=“def_order“ for=“order“ type=“simple“> <metadata> <title xml:lang=“en“> Definition of the order of a group element </title> <extradata> <field use=“mathematics“/> <abstractness level=“neutral“/> <difficulty level=“easy“/> <learning-context use=“university_first_cycle“> <depends-on> <ref theory=“Th1“ name=“group“/> <ref theory=“Th1“ name=“power“/> <ref theory=“elementary“ name=“positive_integer“/> </depends-on> </extradata> </metadata> ...</definition>
Source: Andreas Meier
Pedagogical Metadata
is used for automated course generation:
• Field describes to which field the content of the item belongs (e.g., physics, mathematics, etc.)
• Abstractness and difficulty serve to adapt the document to the skills of the learner
• Learning-context specifies which context the material was intended originally
• Depends-on refers to related concepts from which the current item depends
Source: Andreas Meier
Standard Metadata
• Standards for metadata to allow for the exchange/reuse of documents
• Dublin Core Metadata– Goal: description of documents in the WWW– Examples: title, creator, subject, publisher
etc.• Learning Object Metadata (LOM)
– Goal: facilitate handling of learning objects– Examples: educational category, relations,
etc.
Source: Andreas Meier
OMDoc Metadata
• OMDoc DTD supports Dublin Core in <metadata> ...</metadata>
• Further application specific metadata (e.g., for ActiveMath)
in <extradata> ... </extradata>
Source: Andreas Meier
Towards Semantic Web
“The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation.“ (Tim Bernes-Lee, 2001)
• Not only machine-readable, but machine-understandable information– allows for composition of services – allows for reasoning about the information – ...
Information becomes better processable by machines and more elaborate functionalities become possible
Source: Andreas Meier
Summary
Knowledge representation in OpenMath and OMDoc• allows for adaptation of presentation• supports communication with external systems• provides structural items such as definitions,
theorems, exercises, examples
Pedagogical metadata in OMDoc• is basis for user adaptivity in choosing the
content
Source: Andreas Meier
WoZ
• Invent (new) kinds of adaptivity suited for your subject: System + Oberver
• Test adaptations with Learner• Interesting Questions / Analyze:
– How intuitive is adaptation for learner?– How useful is adaptation for learner?