Math-Bridge Edit Authoring

34
Joint Math-Bridge Training Program Michael Dietrich (DFKI) Source Based Authoring Basics 10.07.2015 Saarbrücken

Transcript of Math-Bridge Edit Authoring

Page 1: Math-Bridge Edit Authoring

Joint Math-Bridge TrainingProgram

Michael Dietrich (DFKI)Source Based Authoring Basics

10.07.2015 Saarbrücken

Page 2: Math-Bridge Edit Authoring

Learning Objects

• In Math-Bridge: Atomic units of knowledge• Reusable– Adressable– Authors have to keep reusablity in mind

• Can be structured– Table Of Contents (Authors/Users)– Theories and Collections (Authors)

• Are typed

Page 3: Math-Bridge Edit Authoring

Different Learning Objects (i)

• Axiom: statement on elements of a theory• Definition: A statement, defining the meaning

of some elements of a theory• Assertion: A statement on elements of a

theory. Different types available “theorem”, “lemma”, etc.

• Proof: Proof of an assertion

Page 4: Math-Bridge Edit Authoring

Different Learning Objects (ii)

• Example: an Example• Exercise: an exercise training some

competencies of a LO• Omtext: different types of text elements i.e.

“introduction”, “conclusion”, “motivation” …• Ppmethod: Special type for mathematical

methods . Rarely used

Page 5: Math-Bridge Edit Authoring

Hands-On

• Example content on straight lines• Annotate example content– Decompose in learning objects– Specify type of learning objects

• Types:– Axiom, Definition, Assertion, Proof, Example,

Exercise, Omtext

Page 6: Math-Bridge Edit Authoring

Relations between learning Objects

• Obviously there are relations between learning objects like example for an axiom.

• Modelling by relations.• The for-relation is an important one.• It represents that one LO is supporting

another

Example 1+1 Definition TermFOR

Page 7: Math-Bridge Edit Authoring

Differentiation Of Learning Objects

• For-relation partitions learning objects– Learning objects, which can occur “standalone”

• Axiom, Definition, …• Terminology: Concepts

– Learning objects, which support other LOs:• Example, Exercise, …• Terminology: Satellites

• Often we have:Satellite ConceptFOR

Page 8: Math-Bridge Edit Authoring

Hands-On

• Identify for-relations in example content• Content is separated in two layers

Content layer

Satellite layer

Definition Axiom Assertion Proof

OmtextExerciseExample

FOR

Page 9: Math-Bridge Edit Authoring

Problem: Abstract Concepts

• Some (mathematical) concepts can be defined in different ways

• Logarithm ln(x)…– …as primitive of x-1

– …as Inverse of ex

• Solution: Symbol Learning Object

• Symbols represents abstract concepts.

Page 10: Math-Bridge Edit Authoring

Symbols

• Symbol learning object that represents an atomic (mathematical) concept being part of a formal theory

• Example:

• New layer of learning objects

Ln(x)

Defined using x-1 Defined using ex

For For

Page 11: Math-Bridge Edit Authoring

Layers of Learning Objects

Concept Layer

Satellite Layer

Definition Axiom Assertion Proof

OmtextExerciseExample

FOR

Abstract Layer Symbol

FOR

Page 12: Math-Bridge Edit Authoring

Pyramid of Learning ObjectsSymbolsConcepts

Satellites

Page 13: Math-Bridge Edit Authoring

Hands-On

• Find symbols and corresponding for-relations

Page 14: Math-Bridge Edit Authoring

One More Relation

• We cannot say currently:– Addition is prerequisite for multiplication

• Solution: New relation domain-prerequisite • Used to specify prerequisites• Used in MathBridge:– Search– Tutorial Component (Course Generation)– User model

Page 15: Math-Bridge Edit Authoring

Hands-On

• Find all domain-prerequisite relations in example content

Page 16: Math-Bridge Edit Authoring

Summary (i)

• Saw learning objects:

Content Layer

Satellite Layer

Definition Axiom Assertion Proof

OmtextExerciseExample

Abstract Layer Symbol

Page 17: Math-Bridge Edit Authoring

Summary (ii)

• Saw two most important Math-Bridge relations:

– For• Learning object is supporting another

– domain-prerequisite• Learning object is prerequisite of another

Page 18: Math-Bridge Edit Authoring

Representation of Learning Objects

• Knowledge Representation – Discipline of AI• In our case – a lot of markup• Format must be reuseable• Format should separate content from

presentation• Different output formats should be possible

– XML is very suitable here

Page 19: Math-Bridge Edit Authoring

Using XML for Representation

• Can store and annotate data in a structured way

– <adresse art=“postanschrift”>• <strasse>Stuhlsatzenhausweg</strasse>• <hausnummer>3</hausnummer>• <plz>66123</plz>• <ort>Saarbrücken</ort>

– </adresse>

Page 20: Math-Bridge Edit Authoring

XML language Elements

• Tags– ‘Markup’– Provide structure to documents– <adresse> … </adresse>

• Attributes– Used inside tags– <adresse art=‘…’>…

• Disadvantage : is unreadable fast

Page 21: Math-Bridge Edit Authoring

Hands-On

• Write as XML

Page 22: Math-Bridge Edit Authoring

Differences

• Hands-on shows: Rules are needed

• Can define language using DTD, RNG, XSD

• Many projects for mathematical markup

• Have different goals

• Use different technologies

Page 23: Math-Bridge Edit Authoring

Representation of Mathematics

• Syntactic:– LaTeX, MathML Presentation

• Semantic: – OpenMath, MathML Content

• Formal:– HELM, TPTP

• OMDoc is a language basing on OpenMath• Extended for Math-Bridge

Page 24: Math-Bridge Edit Authoring

OMDoc – Learning objects

• Representing Learning Objects using OMDoc:

<definition id="def_interval”><CMP>Eine Teilmenge der reellen Zahlen heißt

Intervall.</CMP></definition>

• All learning object types have a similar structure in OMDoc

Page 25: Math-Bridge Edit Authoring

OMDoc: for

• For-relation can be given as an attribute:

<definition id="def_interval” for=“sym_interval”><CMP>Eine Teilmenge der reellen Zahlen heißt

Intervall.</CMP></definition>

Page 26: Math-Bridge Edit Authoring

OMDoc: domain-prerequisite<definition id="def_interval” for=“sym_interval”>

<metadata><extradata>

<relation type=“domain-prerequisite”><ref xref=“sym_reals”/>

</relation>

</extradata></metadata><CMP>Eine Teilmenge der reellen Zahlen heißt Intervall.</CMP>

</definition>

Page 27: Math-Bridge Edit Authoring

Formulæ in OMDoc (forecast)

• OMDoc: Extension of OpenMath• Formulæ coded using OMDoc• 1+1 in OpenMath:

<OMOBJ> <OMA> <OMS cd="arith1" name="plus”/> <OMI>1</OMI> <OMI>1</OMI> </OMA></OMOBJ>

Page 28: Math-Bridge Edit Authoring

Polynomial in OMDoc<OMOBJ> <OMA> <OMS cd="relation1" name="eq" /> <OMA> <OMS name="plus" cd="arith1" /> <OMA> <OMS name="power" cd="arith1" /><OMV name="X" /><OMI>2</OMI> </OMA> <OMA> <OMS cd="arith1" name="power" /><OMV name="Y" /><OMI>3</OMI> </OMA> </OMA> <OMI>0</OMI> </OMA></OMOBJ>

Page 29: Math-Bridge Edit Authoring

QMath

• Produces OMDoc from text files• Instead

– <OMOBJ><OMA><OMS cd="arith1” name="plus”/><OMI>1</OMI><OMI>1</OMI></OMA></OMOBJ>

– 1+1• Polynomial from previous slide is: X^2+Y^3=0• Formulæ in text:– Find solutions of $X^2+Y^3=0$.

Page 30: Math-Bridge Edit Authoring

Structuring Of Learning Objects

• Constructs for structuring LOs:– Theory• Set of strongly related learning objects• Like ‘Add fraction’, ‘Multiply fractions’

– Collection• Set of Theories, with strong relations• Example: ‘Fractions Arithmetics’

• OMGroup used to present Los in a structured way.

Page 31: Math-Bridge Edit Authoring

Tools for Omdoc+QMath

• Main Development-tool: JEditOQMath– Basing on Jedit an open source editor by Slava

Pestov• Contains many useful plugins• Controls QMath functionalities– Templates for learning objects– Communikation with Math-Bridge-server– Integrates Qmath– Direct feedback on errors

Page 32: Math-Bridge Edit Authoring

Get jEdit

• Copy jEdit.zip to HDD

• Unpack

• Start by– java –Xmx512M –jar jedit.jar& (*nix, Mac)– Doubleclick jedit.jar

Page 33: Math-Bridge Edit Authoring

jEdit Config

• Configure OQMath Plugin

• Set Math-Bridge URL– Plugins – Plugin Options...– OQMath Jedit– Enter URL

• Specify Math-Bridge location– analogue

Page 34: Math-Bridge Edit Authoring

jEdit Test

• OQMath – Start a collection

• Provide a name

• Let the magic happen

• Restart Math-Bridge

• Visit new collection with browser