SlideShare a Scribd company logo
Joint Math-Bridge Training
Program
Michael Dietrich (DFKI)
Source Based Content Authoring
10.07.2015 Saarbrücken
Get jEdit
• Copy jEdit.zip to HDD
• Unpack
• Start by
– java –Xmx512M –jar jedit.jar& (*nix, Mac)
– Doubleclick jedit.jar
jEdit Config
• Configure OQMath Plugin
• Set Math-Bridge URL
– Plugins – Plugin Options...
– OQMath Jedit
– Enter URL
• Specify Math-Bridge location
– analogue
jEdit Test
• OQMath – Start a collection
• Provide a name
• Let the magic happen
• Restart Math-Bridge
• Visit new collection with browser
TRANSFORMATION PROCESS
o Edit content/enter formula
o Open Ant-Tab
o Select build-file corresponding to collection
o Start transformation by clicking „Running-
Man“
o Starts QMath process (www.matracas.org)
Formatting Basics
• Line Breaks
– <br/>
• Write text bold:
– <highlight type=„important“>text</highlight>
• Write text italic
– <highlight type=„noticable“>text</highlight>
Adding a paragraph
• Standard paragraph
– <p>some text</p>
• Paragraph with centered text
– <p style=„cm“>text to be centered</p>
General purpose formatting
• Element for general formatting:
– <with style=„css instructions“></with>
• Examples
– <with style=„text-align:center“> (center)
– <with style=„text-align:right“> (text is right aligned)
– <with style=„color:red“> (text is written in red)
– ...
Problem with tables
• Centering of tables is not working with the
previous methods
• Solution: add margin-left:auto and margin-
right:auto to the style attribute of table
• Example
– <table style=„margin-left:auto;margin-right:auto;“>
<tr><td>table content</td></tr>
</table>
Hands-on jEdit
• Create up to 10 LOs from example content
Hands-on Translations I
• Translate file
schulung/oqmath/trl_exa_1.oqmath
• Transform it to omdoc
• View it in Math-Bridge
Hands-on Translations II
• Translate file
schulung/oqmath/trl_exa_2.oqmath
• Transform it to omdoc
• View it in Math-Bridge
Hands-on Translations III
• Translate file
schulung/oqmath/trl_exa_3.oqmath
• Transform it to omdoc
• View it in Math-Bridge
Hands-on Translations IV
• Translate file
schulung/oqmath/trl_exa_4.oqmath
• Transform it to omdoc
• View it in Math-Bridge
FORMULA INPUT
• Where?
– In OQMath Files
• Markup
– Surrounded by $-characters
• LaTeX like syntax
+ plus, - minus, * times, / divide, ^ power
EXAMPLE FOR FORMULA INPUT
$x^3+y^2=0$ is transformed to
EXAMPLE FOR FORMULA INPUT
$x^3+y^2=0$ is transformed to
<OMOBJ>
<OMA>
<OMS cd="relation1" name="eq" />
<OMA>
<OMS cd="arith1" name="plus" />
<OMA>
<OMS cd="arith1" name="power" />
<OMV name="x" />
<OMI>3</OMI>
</OMA>
<OMA>
<OMS cd="arith1" name="power" />
<OMV name="y" />
<OMI>2</OMI>
</OMA>
</OMA>
<OMI>0</OMI>
</OMA>
</OMOBJ>
TRANSFORMATION PROCESS
o Edit content/enter formula
o Open Ant-Tab
o Select build-file corresponding to collection
o Start transformation by clicking „Running-
Man“
o Starts QMath process (www.matracas.org)
TRANSFORMATION PROCESS
o Qmath Process stops
o Reload of Math-Bridge‘s mathematical database is
triggered
o Possible errors in content are displayed in Console
and ErrorList-Tab
o Build Successful message displayed in Console
FREQUENT MBASE ERRORS
E: Unresolved xref theory_id/lo_id
C: Missing import
S: Insert import of theory containing not found learning object
E: Unresolved xref in Recbook_xxx.omdoc
C: Mbase may be corrupt
S: Check in browser for transformation errors, remove data/slumbd and
restart Math-Bridge to fix
E: Duplicate ID in Recbook_automatic.omdoc
S: Just ignore
TRANSFORMATION PROCESS
o QMath Process stops
o Error message(s) are logged in Console-Tab
o Build Failed message displayed in Console-Tab
FREQUENT QMATH ERRORS
E: Parse error in document
C: Error in formula syntax
S: Correct error
E: ending dollar not-found... ignoring last dollar.
S: Add the missing dollar
ATTENTION
Presentation can have errors even though no
errors were reported during the transformation
process.
Presentation needs to be checked manually
HANDS-ON
Add the following formulas to your collection one after the other
SYMBOLS AVAILABLE IN EACH Math-
Bridge
• OpenMath-CDs (Content Dictionaries)
• Basic set of symbols to be used for
authoring
(Excerpt of arith1 content dictionary)
BROWSE AVAILABLE SYMBOLS
ONLINE
o Symbol Presentation
o Displays all symbols available in Math-
Bridge installation
o Separation by collection
BROWSE SYMBOLS AVAILABLE LOCALLY
o Notations List
o Tool of OQMath Plug-in for jEdit
o Displays all usable symbols for oqmath files
o Different lists for different files(maybe)
BROWSE AVAILABLE SYMBOLS
LOCALLY
Michael Dietrich - Saarland University
USE MORE SYMBOLS
• Make calculus1 usable in OQMath file (I)
– <?QMath Context:„Mathematics/OpenMath/calculus1"?>
• Make calculus1 usable in OQMath file (II)
– Add Context:„Mathematics/OpenMath/calculus1“ to
notations.qmath file
• Tell Math-Bridge where to look for calculus1
– <imports from="mbase://openmath-cds/calculus1/"/>
USAGE OF FOUND SYMBOLS
• Question:
How to use the symbols to create formulas?
o Depends on the type of the symbol
o 5 types
o Application
o Binding
o Operator
o Symbol
o Variable
SYMBOL TYPE: BINDING
o only one symbol with this type
o Symbol: lambda BINDING "fns1:lambda“
o used to bind variables to functions
Usage Example: $lambda(x,x^2)$
SYMBOL TYPE: OPERATORS
o OP prefix denotes this type
o Symbol: oo OP_PLUS “myTherory:myoo“
o PLUS means that this operators has the precedence of +
Usage Example: $1 oo 4$
SYMBOL TYPE: SYMBOL
o standalone symbol with semantics
o Symbol: sym SYMBOL “myTheory:mySymbol“
Usage Example: $sym$
SYMBOL TYPE: VARIABLE
o same as SYMBOL but without semantics
o Symbol: myVar VARIABLE „var “
Usage Example: $myVar$
SYMBOL TYPE: APPLICATION
o most difficult type in terms of syntax
o Symbol: myApp APPLICATION “myTheory:myApp“
o From the above declaration we cannot tell number of
parameters
Usage Example: $myApp(x,x^2,...,?)$
SYMBOL TYPE: APPLICATION
Ways to find out the number of parameters:
o Go to definition of symbol and check the qmath prototype
o Check the omdoc definition of the symbol
o For OpenMath-CDs: Visit http://www.openmath.org/cd
And check the symbol description
HANDS-ON
• 1-2
• 1-2 = -1
• a²+b²=c²
• c= √a²+b²
HANDS-ON
• 1-2 $1-2$
• 1-2 = -1 $1-2=neg(1)$
• a²+b²=c² $a^2=b^2=c^2$
• c= √a²+b² $c=root(a^2+b^2)$
HANDS-ON
• f(x)=x^2
• 1+(2+3)
• 1,2,3,…,n
HANDS-ON
• f(x)=x^2
• 1+(2+3)
• 1,2,3,…,n
$apply(f,x)=x^2$
$1+rBra(2+3)$
$enum(1,2,3,cdots,n)$
HANDS-ON
HANDS-ON
$sum(0 ._. n,lambda(i,i))$
$sum(0 ._. n,lambda(i,sqt(X,i)))$
$limit(inf, both_sides, lambda(x,ln(x)))$
$dint(1._.n,lambda(x,x^3-2))$
FLOAT NOTATION
• Problem: Qmath transforms decimals
wrong
• Example: 1.5 -> 1.4999999
• Problem in exercise evaluations
• Solution float
• Usage $float(„1.5“)$
Exercises - Basics
• Set of nodes
• Task
• Interaction
• Feedback
• Transitions between nodes
Exercises - Transitions
• Unconditional (Task/Feedback)
• Transition is always used
• Conditional (Interaction)
• Used if certain condition(s) hold
• Default(Interaction)
• Used if no other condition fired
Exercises - Conditions
• Comparison with user input
• Syntactic Evaluation
• User answer and expected answer must be identical
• Semantic Evaluation
• User answer must be semantically correct
• Numeric Evaluation
• Numeric value of user input is compared with provided answer
• Error tolerance can be provided
EXAMAT
Calculate ¾ + ½
jEdit
Open exercise
Beweisen Sie den großen Satz von Fermat:
Die Gleichung a^n + b^n = c^n
besitzt für ganzzahlige a,b,c ≠ 0
und natürliche Zahlen n>2 keine Lösung.
jEdit
Open exercise
<exercise id="schulungEx1" for="schulExampleEx_sym" >
<metadata><Title> Offene Übungsaufgabe </Title>
<Format>AMEL1.0</Format>
<extradata>
<exercisetype value="open"/>
</extradata>
</metadata>
<CMP>
Beweisen Sie den großen Satz von Fermat:
</CMP>
<interaction id="schulungEx1_step1">
<feedback><CMP>Beweisen Sie den großen Satz von Fermat<br/>
Die Gleichung $a^n + b^n = c^n$<br/>
besitzt für ganzzahlige $list(a,b,c) neq 0$
und natürliche Zahlen $n &gt; 2$ keine Lösung. </CMP></feedback>
</interaction>
</exercise>
jEdit
Fill In Blank
Berechnen Sie ¾ + ½
jEdit
Fill In Blank
<exercise id="schulEx2"
for="schulExampleEx_sym" >
<metadata><Title> Fill in blank Aufgabe
</Title>
</metadata>
<CMP>
Berechnen Sie $3/4 + 1/2$
</CMP>
jEdit
Fill In Blank
<interaction id="schulEx2_step1">
<feedback><CMP>$3/4 + 1/2 =
id("schulEx2_blank1",5/4)$</CMP></feedback
>
<interaction_map>
<blank for="schulEx2_blank1"/>
</interaction_map>
jEdit
Fill In Blank
<answer_map>
<condition xref="schulEx2_correct">
<diagnosis>
<achievement value="1.0"/>
</diagnosis>
<composite>
<syn_eq>
$5/4$
</syn_eq>
<composite>
</condition>
<default xref="schulEx2_wrong">
<diagnosis>
<achievement value="0.0"/>
</diagnosis>
</default>
</answer_map>
</interaction>
jEdit
Fill In Blank
<interaction id="schulEx2_correct">
<feedback from="schulEx2_step1"
input_decoration="automatic"/>
<feedback>
<CMP>
Richtig.
</CMP>
</feedback>
</interaction>
jEdit
Single Choice Exercise (SCQ)
Macht Schokolade dick?
jEdit
Single Choice Exercise (SCQ)
<interaction_map>
<selection for="schulEx3_selection1">
<choice>Ja</choice>
<choice>Nein</choice>
</selection>
</interaction_map>
jEdit
Single Choice Exercise (SCQ)
<condition xref="schulEx3_correct">
<diagnosis>
<achievement value="1.0"/>
</diagnosis>
<composite>
<syn_eq>
$1$
</syn_eq>
<syn_eq>
$0$
</syn_eq>
</composite>
</condition>
jEdit
Multiple Choice Exercise
Welche der folgenden Zahlen sind gerade?
• 1
• 2
• 3
• 4
• 5
jEdit
Multiple Choice Exercise
<interaction_map>
<selection for="schulEx4_selection1"
multiple="yes">
<choice>$1$</choice>
<choice>$2$</choice>
<choice>$3$</choice>
<choice>$4$</choice>
<choice>$5$</choice>
</selection>
</interaction_map>
jEdit
Multiple Choice Exercise
<answer_map>
<condition xref="schulEx4_correct">
<diagnosis>
<achievement value="1.0"/>
</diagnosis>
<composite>
<syn_eq>
$0$
</syn_eq>
<syn_eq>
$1$
</syn_eq>
<syn_eq>
$0$
</syn_eq>
<syn_eq>
$1$
</syn_eq>
<syn_eq>
$0$
</syn_eq>
</composite>
</condition>
jEdit
Drop Down Exercise
Welche Zahl ist gerade?
• 1
• 3
• 4
• 5
jEdit
Drop Down Exercise
<interaction_map>
<selection for="schulEx5_selection1"
style="menu">
<choice>$1$</choice>
<choice>$3$</choice>
<choice>$4$</choice>
<choice>$5$</choice>
</selection>
</interaction_map>
jEdit
Drop Down Exercise
<condition xref="schulEx5_correct">
<diagnosis>
<achievement value="1.0"/>
</diagnosis>
<composite>
<syn_eq>
$0$
</syn_eq>
<syn_eq>
$0$
</syn_eq>
<syn_eq>
$1$
</syn_eq>
<syn_eq>
$0$
</syn_eq>
</composite>
</condition>
jEdit
Randomizer (Single Values)
Addieren Sie die beiden Werte
jEdit
Randomizer (Single Values)
<interaction_generator name="Randomizer">
<parameter name="constant">
$p_a$
$1$
$2$
$3$
</parameter>
<parameter name="constant">
$p_b$
$4$
$5$
$6$
</parameter>
<parameter name="evaluated_constant">
$p_c$
$p_a+p_b$
</parameter>
</interaction_generator>
jEdit
Randomizer (Single Values)
<condition xref="schulEx6_correct">
<diagnosis>
<achievement value="1.0"/>
</diagnosis>
<composite>
<syn_eq>
$p_c$
</syn_eq>
</composite>
</condition>
jEdit
Randomizer (Interval)
Addieren Sie die beiden Werte
jEdit
Randomizer (Interval)
<parameter name="constant">
$p_a$
<interval discrete="yes" left_open="no" right_open="no">
$1$
$6$
</interval>
</parameter>
<parameter name="constant">
$p_b$
<interval discrete="yes" left_open="no" right_open="no">
$7$
$12$
</interval>
</parameter>
jEdit – Insert Picture
First part
Image declaration
<private id="«id_of_the_private_element»">
<data format="html" href="../MinePics/«filename of the picture (.png,
.jpeg, .gif)»"/>
<data format="pdf" href="./omdoc1/mine/pics/«filename of the picture
(.png, .jpeg, .pdf)»"/>
</private>
jEdit – Insert Picture
Second part
Image Usage
<omlet argstr="«id_of_the_private_element»"
type="image" action="display">
«the caption»
</omlet>
jEdit – Insert Applet
Applet declaration
<private id="«private-id»">
<data href="«class.name.with.package»">
<PARAM NAME="«param-name»" VALUE="«param-value»"/>
</data>
</private>
jEdit – Insert Applet
Applet Usage
<omlet type="applet" argstr="«private-id»"
archive="«../mycolPics/ajar.jar»"
image="«../applet/images/console-applet.gif»"
width="«500»" height="«300»">
</omlet>
jEdit – Applet Example
<CMP>
<private id="BernoulliInequalityApplet">
<data href="LeAM.Applets.Bernoulli.Bernoulli_inequality">
<PARAM NAME="Language" VALUE="&#36;language" />
</data>
</private>
<omlet type="applet"
archive="../LeAM_calculusApplets/LeAM.jar"
argstr="BernoulliInequalityApplet"
image="../LeAM_calculusApplets/snapshot/Bernoulli_inequality.png"
height="400" width="450" />
</CMP>
jEdit – Insert JavaScript/External HTML
Have JavaScript in external HTML File
Create new directory (ContentDescr needs to be modified)/Add to existing
directory (ie. pics)
In CMP write
<with style="embedHTMLex"
width="900" height="500">../collectionPathMap/index.html</with>
as only input
jEdit – Example
<CMP xml:lang="en">
<with style="embedHTMLex" width="900" height="500">
../vCollJS/Pascal_en.html</with>
<br />
</CMP>

More Related Content

PDF
Java OOP Programming language (Part 4) - Collection
PDF
Java OOP Programming language (Part 8) - Java Database JDBC
PDF
Refactoring to Java 8 (Devoxx BE)
PDF
Pragmatic functional refactoring with java 8
PPT
Utilized JAXB to generate POJOs automatically
PDF
XML parsing using jaxb
PDF
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
PPTX
Advanced
Java OOP Programming language (Part 4) - Collection
Java OOP Programming language (Part 8) - Java Database JDBC
Refactoring to Java 8 (Devoxx BE)
Pragmatic functional refactoring with java 8
Utilized JAXB to generate POJOs automatically
XML parsing using jaxb
Domain-Specific Languages for Composable Editor Plugins (LDTA 2009)
Advanced

What's hot (20)

PPT
Java XML Parsing
PDF
Scala - en bedre og mere effektiv Java?
KEY
Scala for scripting
PDF
Scala - en bedre Java?
PPT
SQL Server 2000 Research Series - Transact SQL
PDF
JAXB: Create, Validate XML Message and Edit XML Schema
PDF
Meet scala
PDF
Model-Driven Software Development - Pretty-Printing, Editor Services, Term Re...
PDF
Introduction to Groovy (Serbian Developer Conference 2013)
PDF
Pavel kravchenko obj c runtime
PDF
JSR-222 Java Architecture for XML Binding
PPTX
XQuery Extensions
PPTX
Clojure 7-Languages
PDF
C h 04 oop_inheritance
PPTX
PDF
Core Java Programming Language (JSE) : Chapter IX - Collections and Generic F...
PDF
camel-scala.pdf
PDF
JavaScript - Chapter 10 - Strings and Arrays
Java XML Parsing
Scala - en bedre og mere effektiv Java?
Scala for scripting
Scala - en bedre Java?
SQL Server 2000 Research Series - Transact SQL
JAXB: Create, Validate XML Message and Edit XML Schema
Meet scala
Model-Driven Software Development - Pretty-Printing, Editor Services, Term Re...
Introduction to Groovy (Serbian Developer Conference 2013)
Pavel kravchenko obj c runtime
JSR-222 Java Architecture for XML Binding
XQuery Extensions
Clojure 7-Languages
C h 04 oop_inheritance
Core Java Programming Language (JSE) : Chapter IX - Collections and Generic F...
camel-scala.pdf
JavaScript - Chapter 10 - Strings and Arrays
Ad

Viewers also liked (20)

PPTX
Math-Bridge Installation
PDF
Assessment in Math-Bridge
PDF
Erasmus+: Capacity Building in Higher Education
PDF
MetaMath: Evaluation Methodology
PPTX
Math-Bridge Exercise System
PPTX
Math-Bridge Author AdvdEx
PDF
Authoring Workflow
PPTX
Math-Bridge Trouble shooting
PPTX
Math-Bridge Author Staticl-os
PPTX
Math-Bridge Student Interface
PPTX
Math-Bridge Teacher Tools
PPTX
Math-Bridge Architecture
PPTX
Math-Bridge Translate UI
PPTX
Math-Bridge Edit Authoring
PPTX
Math-Bridge Event Systems
PPTX
Math-Bridge Author DREx
PPTX
Math-Bridge Content Collections
PPTX
Math-Birdge Author BasicEx
PDF
WP4b Qualitative Evaluation
PDF
Quality Assurance in Large Scale E-Assessments
Math-Bridge Installation
Assessment in Math-Bridge
Erasmus+: Capacity Building in Higher Education
MetaMath: Evaluation Methodology
Math-Bridge Exercise System
Math-Bridge Author AdvdEx
Authoring Workflow
Math-Bridge Trouble shooting
Math-Bridge Author Staticl-os
Math-Bridge Student Interface
Math-Bridge Teacher Tools
Math-Bridge Architecture
Math-Bridge Translate UI
Math-Bridge Edit Authoring
Math-Bridge Event Systems
Math-Bridge Author DREx
Math-Bridge Content Collections
Math-Birdge Author BasicEx
WP4b Qualitative Evaluation
Quality Assurance in Large Scale E-Assessments
Ad

Similar to Math-Bridge Additional Interactivity (20)

PPTX
Fuel Up JavaScript with Functional Programming
PPTX
Apache pig presentation_siddharth_mathur
PPTX
New features in jdk8 iti
PPTX
A brief tour of modern Java
PDF
TWINS: OOP and FP - Warburton
PDF
Kotlin+MicroProfile: Ensinando 20 anos para uma linguagem nova
PDF
2java Oop
PDF
Icsug dev day2014_road to damascus - conversion experience-lotusscript and @f...
PPTX
Apache pig presentation_siddharth_mathur
PPTX
The Road to Lambda - Mike Duigou
PPTX
Meta Object Protocols
PPTX
Terraform modules restructured
PPTX
Terraform Modules Restructured
PPTX
Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)
PDF
UNIT I cloud computing ppt cloud ccd all about the cloud computing
PDF
Dax Declarative Api For Xml
PPTX
JS Essence
PPSX
Writing code that writes code - Nguyen Luong
PPSX
TechkTalk #12 Grokking: Writing code that writes code – Nguyen Luong
PPTX
Performance Tuning and Optimization
Fuel Up JavaScript with Functional Programming
Apache pig presentation_siddharth_mathur
New features in jdk8 iti
A brief tour of modern Java
TWINS: OOP and FP - Warburton
Kotlin+MicroProfile: Ensinando 20 anos para uma linguagem nova
2java Oop
Icsug dev day2014_road to damascus - conversion experience-lotusscript and @f...
Apache pig presentation_siddharth_mathur
The Road to Lambda - Mike Duigou
Meta Object Protocols
Terraform modules restructured
Terraform Modules Restructured
Rebuilding Solr 6 examples - layer by layer (LuceneSolrRevolution 2016)
UNIT I cloud computing ppt cloud ccd all about the cloud computing
Dax Declarative Api For Xml
JS Essence
Writing code that writes code - Nguyen Luong
TechkTalk #12 Grokking: Writing code that writes code – Nguyen Luong
Performance Tuning and Optimization

More from metamath (20)

PPTX
Probability Theory and Mathematical Statistics in Tver State University
PPTX
OMSU vs. EU comparative curricula study
PPT
A Course of Calculus for IT-Students
PDF
Discrete Mathematics
PPT
Probability Theory and Mathematical Statistics
PPT
Optimization Methods
PPTX
Course - Discrete Mathematics
PPTX
SEFI comparative study: Course - Algebra and Geometry
PPTX
о лаб мод и упр 2014
PPTX
Mathematical foundations of fuzzy systems
PPTX
Probability Theory and Mathematical Statistics in Tver State University
PPTX
Calculus - St. Petersburg Electrotechnical University "LETI"
PDF
Discrete Mathematics
PPT
стратегия развития книту каи
PPT
Probability Theory and Mathematical Statistics
PPT
Optimization Methods
PDF
Math Education for STEM disciplines in the EU
PPT
International Activities of the University in academic field
PDF
How to design a miniature train set that always loops back well? Two question...
PPT
UNN - Mr. Shvetsov
Probability Theory and Mathematical Statistics in Tver State University
OMSU vs. EU comparative curricula study
A Course of Calculus for IT-Students
Discrete Mathematics
Probability Theory and Mathematical Statistics
Optimization Methods
Course - Discrete Mathematics
SEFI comparative study: Course - Algebra and Geometry
о лаб мод и упр 2014
Mathematical foundations of fuzzy systems
Probability Theory and Mathematical Statistics in Tver State University
Calculus - St. Petersburg Electrotechnical University "LETI"
Discrete Mathematics
стратегия развития книту каи
Probability Theory and Mathematical Statistics
Optimization Methods
Math Education for STEM disciplines in the EU
International Activities of the University in academic field
How to design a miniature train set that always loops back well? Two question...
UNN - Mr. Shvetsov

Recently uploaded (20)

PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Pharma ospi slides which help in ospi learning
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
Computing-Curriculum for Schools in Ghana
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
RMMM.pdf make it easy to upload and study
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
Institutional Correction lecture only . . .
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Cell Types and Its function , kingdom of life
PPTX
Presentation on HIE in infants and its manifestations
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Pharma ospi slides which help in ospi learning
202450812 BayCHI UCSC-SV 20250812 v17.pptx
Computing-Curriculum for Schools in Ghana
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
RMMM.pdf make it easy to upload and study
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Institutional Correction lecture only . . .
Module 4: Burden of Disease Tutorial Slides S2 2025
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Microbial disease of the cardiovascular and lymphatic systems
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Cell Types and Its function , kingdom of life
Presentation on HIE in infants and its manifestations
Anesthesia in Laparoscopic Surgery in India
GDM (1) (1).pptx small presentation for students
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
102 student loan defaulters named and shamed – Is someone you know on the list?
STATICS OF THE RIGID BODIES Hibbelers.pdf

Math-Bridge Additional Interactivity

  • 1. Joint Math-Bridge Training Program Michael Dietrich (DFKI) Source Based Content Authoring 10.07.2015 Saarbrücken
  • 2. Get jEdit • Copy jEdit.zip to HDD • Unpack • Start by – java –Xmx512M –jar jedit.jar& (*nix, Mac) – Doubleclick jedit.jar
  • 3. jEdit Config • Configure OQMath Plugin • Set Math-Bridge URL – Plugins – Plugin Options... – OQMath Jedit – Enter URL • Specify Math-Bridge location – analogue
  • 4. jEdit Test • OQMath – Start a collection • Provide a name • Let the magic happen • Restart Math-Bridge • Visit new collection with browser
  • 5. TRANSFORMATION PROCESS o Edit content/enter formula o Open Ant-Tab o Select build-file corresponding to collection o Start transformation by clicking „Running- Man“ o Starts QMath process (www.matracas.org)
  • 6. Formatting Basics • Line Breaks – <br/> • Write text bold: – <highlight type=„important“>text</highlight> • Write text italic – <highlight type=„noticable“>text</highlight>
  • 7. Adding a paragraph • Standard paragraph – <p>some text</p> • Paragraph with centered text – <p style=„cm“>text to be centered</p>
  • 8. General purpose formatting • Element for general formatting: – <with style=„css instructions“></with> • Examples – <with style=„text-align:center“> (center) – <with style=„text-align:right“> (text is right aligned) – <with style=„color:red“> (text is written in red) – ...
  • 9. Problem with tables • Centering of tables is not working with the previous methods • Solution: add margin-left:auto and margin- right:auto to the style attribute of table • Example – <table style=„margin-left:auto;margin-right:auto;“> <tr><td>table content</td></tr> </table>
  • 10. Hands-on jEdit • Create up to 10 LOs from example content
  • 11. Hands-on Translations I • Translate file schulung/oqmath/trl_exa_1.oqmath • Transform it to omdoc • View it in Math-Bridge
  • 12. Hands-on Translations II • Translate file schulung/oqmath/trl_exa_2.oqmath • Transform it to omdoc • View it in Math-Bridge
  • 13. Hands-on Translations III • Translate file schulung/oqmath/trl_exa_3.oqmath • Transform it to omdoc • View it in Math-Bridge
  • 14. Hands-on Translations IV • Translate file schulung/oqmath/trl_exa_4.oqmath • Transform it to omdoc • View it in Math-Bridge
  • 15. FORMULA INPUT • Where? – In OQMath Files • Markup – Surrounded by $-characters • LaTeX like syntax + plus, - minus, * times, / divide, ^ power
  • 16. EXAMPLE FOR FORMULA INPUT $x^3+y^2=0$ is transformed to
  • 17. EXAMPLE FOR FORMULA INPUT $x^3+y^2=0$ is transformed to <OMOBJ> <OMA> <OMS cd="relation1" name="eq" /> <OMA> <OMS cd="arith1" name="plus" /> <OMA> <OMS cd="arith1" name="power" /> <OMV name="x" /> <OMI>3</OMI> </OMA> <OMA> <OMS cd="arith1" name="power" /> <OMV name="y" /> <OMI>2</OMI> </OMA> </OMA> <OMI>0</OMI> </OMA> </OMOBJ>
  • 18. TRANSFORMATION PROCESS o Edit content/enter formula o Open Ant-Tab o Select build-file corresponding to collection o Start transformation by clicking „Running- Man“ o Starts QMath process (www.matracas.org)
  • 19. TRANSFORMATION PROCESS o Qmath Process stops o Reload of Math-Bridge‘s mathematical database is triggered o Possible errors in content are displayed in Console and ErrorList-Tab o Build Successful message displayed in Console
  • 20. FREQUENT MBASE ERRORS E: Unresolved xref theory_id/lo_id C: Missing import S: Insert import of theory containing not found learning object E: Unresolved xref in Recbook_xxx.omdoc C: Mbase may be corrupt S: Check in browser for transformation errors, remove data/slumbd and restart Math-Bridge to fix E: Duplicate ID in Recbook_automatic.omdoc S: Just ignore
  • 21. TRANSFORMATION PROCESS o QMath Process stops o Error message(s) are logged in Console-Tab o Build Failed message displayed in Console-Tab
  • 22. FREQUENT QMATH ERRORS E: Parse error in document C: Error in formula syntax S: Correct error E: ending dollar not-found... ignoring last dollar. S: Add the missing dollar
  • 23. ATTENTION Presentation can have errors even though no errors were reported during the transformation process. Presentation needs to be checked manually
  • 24. HANDS-ON Add the following formulas to your collection one after the other
  • 25. SYMBOLS AVAILABLE IN EACH Math- Bridge • OpenMath-CDs (Content Dictionaries) • Basic set of symbols to be used for authoring (Excerpt of arith1 content dictionary)
  • 26. BROWSE AVAILABLE SYMBOLS ONLINE o Symbol Presentation o Displays all symbols available in Math- Bridge installation o Separation by collection
  • 27. BROWSE SYMBOLS AVAILABLE LOCALLY o Notations List o Tool of OQMath Plug-in for jEdit o Displays all usable symbols for oqmath files o Different lists for different files(maybe)
  • 28. BROWSE AVAILABLE SYMBOLS LOCALLY Michael Dietrich - Saarland University
  • 29. USE MORE SYMBOLS • Make calculus1 usable in OQMath file (I) – <?QMath Context:„Mathematics/OpenMath/calculus1"?> • Make calculus1 usable in OQMath file (II) – Add Context:„Mathematics/OpenMath/calculus1“ to notations.qmath file • Tell Math-Bridge where to look for calculus1 – <imports from="mbase://openmath-cds/calculus1/"/>
  • 30. USAGE OF FOUND SYMBOLS • Question: How to use the symbols to create formulas? o Depends on the type of the symbol o 5 types o Application o Binding o Operator o Symbol o Variable
  • 31. SYMBOL TYPE: BINDING o only one symbol with this type o Symbol: lambda BINDING "fns1:lambda“ o used to bind variables to functions Usage Example: $lambda(x,x^2)$
  • 32. SYMBOL TYPE: OPERATORS o OP prefix denotes this type o Symbol: oo OP_PLUS “myTherory:myoo“ o PLUS means that this operators has the precedence of + Usage Example: $1 oo 4$
  • 33. SYMBOL TYPE: SYMBOL o standalone symbol with semantics o Symbol: sym SYMBOL “myTheory:mySymbol“ Usage Example: $sym$
  • 34. SYMBOL TYPE: VARIABLE o same as SYMBOL but without semantics o Symbol: myVar VARIABLE „var “ Usage Example: $myVar$
  • 35. SYMBOL TYPE: APPLICATION o most difficult type in terms of syntax o Symbol: myApp APPLICATION “myTheory:myApp“ o From the above declaration we cannot tell number of parameters Usage Example: $myApp(x,x^2,...,?)$
  • 36. SYMBOL TYPE: APPLICATION Ways to find out the number of parameters: o Go to definition of symbol and check the qmath prototype o Check the omdoc definition of the symbol o For OpenMath-CDs: Visit http://www.openmath.org/cd And check the symbol description
  • 37. HANDS-ON • 1-2 • 1-2 = -1 • a²+b²=c² • c= √a²+b²
  • 38. HANDS-ON • 1-2 $1-2$ • 1-2 = -1 $1-2=neg(1)$ • a²+b²=c² $a^2=b^2=c^2$ • c= √a²+b² $c=root(a^2+b^2)$
  • 40. HANDS-ON • f(x)=x^2 • 1+(2+3) • 1,2,3,…,n $apply(f,x)=x^2$ $1+rBra(2+3)$ $enum(1,2,3,cdots,n)$
  • 42. HANDS-ON $sum(0 ._. n,lambda(i,i))$ $sum(0 ._. n,lambda(i,sqt(X,i)))$ $limit(inf, both_sides, lambda(x,ln(x)))$ $dint(1._.n,lambda(x,x^3-2))$
  • 43. FLOAT NOTATION • Problem: Qmath transforms decimals wrong • Example: 1.5 -> 1.4999999 • Problem in exercise evaluations • Solution float • Usage $float(„1.5“)$
  • 44. Exercises - Basics • Set of nodes • Task • Interaction • Feedback • Transitions between nodes
  • 45. Exercises - Transitions • Unconditional (Task/Feedback) • Transition is always used • Conditional (Interaction) • Used if certain condition(s) hold • Default(Interaction) • Used if no other condition fired
  • 46. Exercises - Conditions • Comparison with user input • Syntactic Evaluation • User answer and expected answer must be identical • Semantic Evaluation • User answer must be semantically correct • Numeric Evaluation • Numeric value of user input is compared with provided answer • Error tolerance can be provided
  • 48. jEdit Open exercise Beweisen Sie den großen Satz von Fermat: Die Gleichung a^n + b^n = c^n besitzt für ganzzahlige a,b,c ≠ 0 und natürliche Zahlen n>2 keine Lösung.
  • 49. jEdit Open exercise <exercise id="schulungEx1" for="schulExampleEx_sym" > <metadata><Title> Offene Übungsaufgabe </Title> <Format>AMEL1.0</Format> <extradata> <exercisetype value="open"/> </extradata> </metadata> <CMP> Beweisen Sie den großen Satz von Fermat: </CMP> <interaction id="schulungEx1_step1"> <feedback><CMP>Beweisen Sie den großen Satz von Fermat<br/> Die Gleichung $a^n + b^n = c^n$<br/> besitzt für ganzzahlige $list(a,b,c) neq 0$ und natürliche Zahlen $n &gt; 2$ keine Lösung. </CMP></feedback> </interaction> </exercise>
  • 51. jEdit Fill In Blank <exercise id="schulEx2" for="schulExampleEx_sym" > <metadata><Title> Fill in blank Aufgabe </Title> </metadata> <CMP> Berechnen Sie $3/4 + 1/2$ </CMP>
  • 52. jEdit Fill In Blank <interaction id="schulEx2_step1"> <feedback><CMP>$3/4 + 1/2 = id("schulEx2_blank1",5/4)$</CMP></feedback > <interaction_map> <blank for="schulEx2_blank1"/> </interaction_map>
  • 53. jEdit Fill In Blank <answer_map> <condition xref="schulEx2_correct"> <diagnosis> <achievement value="1.0"/> </diagnosis> <composite> <syn_eq> $5/4$ </syn_eq> <composite> </condition> <default xref="schulEx2_wrong"> <diagnosis> <achievement value="0.0"/> </diagnosis> </default> </answer_map> </interaction>
  • 54. jEdit Fill In Blank <interaction id="schulEx2_correct"> <feedback from="schulEx2_step1" input_decoration="automatic"/> <feedback> <CMP> Richtig. </CMP> </feedback> </interaction>
  • 55. jEdit Single Choice Exercise (SCQ) Macht Schokolade dick?
  • 56. jEdit Single Choice Exercise (SCQ) <interaction_map> <selection for="schulEx3_selection1"> <choice>Ja</choice> <choice>Nein</choice> </selection> </interaction_map>
  • 57. jEdit Single Choice Exercise (SCQ) <condition xref="schulEx3_correct"> <diagnosis> <achievement value="1.0"/> </diagnosis> <composite> <syn_eq> $1$ </syn_eq> <syn_eq> $0$ </syn_eq> </composite> </condition>
  • 58. jEdit Multiple Choice Exercise Welche der folgenden Zahlen sind gerade? • 1 • 2 • 3 • 4 • 5
  • 59. jEdit Multiple Choice Exercise <interaction_map> <selection for="schulEx4_selection1" multiple="yes"> <choice>$1$</choice> <choice>$2$</choice> <choice>$3$</choice> <choice>$4$</choice> <choice>$5$</choice> </selection> </interaction_map>
  • 60. jEdit Multiple Choice Exercise <answer_map> <condition xref="schulEx4_correct"> <diagnosis> <achievement value="1.0"/> </diagnosis> <composite> <syn_eq> $0$ </syn_eq> <syn_eq> $1$ </syn_eq> <syn_eq> $0$ </syn_eq> <syn_eq> $1$ </syn_eq> <syn_eq> $0$ </syn_eq> </composite> </condition>
  • 61. jEdit Drop Down Exercise Welche Zahl ist gerade? • 1 • 3 • 4 • 5
  • 62. jEdit Drop Down Exercise <interaction_map> <selection for="schulEx5_selection1" style="menu"> <choice>$1$</choice> <choice>$3$</choice> <choice>$4$</choice> <choice>$5$</choice> </selection> </interaction_map>
  • 63. jEdit Drop Down Exercise <condition xref="schulEx5_correct"> <diagnosis> <achievement value="1.0"/> </diagnosis> <composite> <syn_eq> $0$ </syn_eq> <syn_eq> $0$ </syn_eq> <syn_eq> $1$ </syn_eq> <syn_eq> $0$ </syn_eq> </composite> </condition>
  • 65. jEdit Randomizer (Single Values) <interaction_generator name="Randomizer"> <parameter name="constant"> $p_a$ $1$ $2$ $3$ </parameter> <parameter name="constant"> $p_b$ $4$ $5$ $6$ </parameter> <parameter name="evaluated_constant"> $p_c$ $p_a+p_b$ </parameter> </interaction_generator>
  • 66. jEdit Randomizer (Single Values) <condition xref="schulEx6_correct"> <diagnosis> <achievement value="1.0"/> </diagnosis> <composite> <syn_eq> $p_c$ </syn_eq> </composite> </condition>
  • 68. jEdit Randomizer (Interval) <parameter name="constant"> $p_a$ <interval discrete="yes" left_open="no" right_open="no"> $1$ $6$ </interval> </parameter> <parameter name="constant"> $p_b$ <interval discrete="yes" left_open="no" right_open="no"> $7$ $12$ </interval> </parameter>
  • 69. jEdit – Insert Picture First part Image declaration <private id="«id_of_the_private_element»"> <data format="html" href="../MinePics/«filename of the picture (.png, .jpeg, .gif)»"/> <data format="pdf" href="./omdoc1/mine/pics/«filename of the picture (.png, .jpeg, .pdf)»"/> </private>
  • 70. jEdit – Insert Picture Second part Image Usage <omlet argstr="«id_of_the_private_element»" type="image" action="display"> «the caption» </omlet>
  • 71. jEdit – Insert Applet Applet declaration <private id="«private-id»"> <data href="«class.name.with.package»"> <PARAM NAME="«param-name»" VALUE="«param-value»"/> </data> </private>
  • 72. jEdit – Insert Applet Applet Usage <omlet type="applet" argstr="«private-id»" archive="«../mycolPics/ajar.jar»" image="«../applet/images/console-applet.gif»" width="«500»" height="«300»"> </omlet>
  • 73. jEdit – Applet Example <CMP> <private id="BernoulliInequalityApplet"> <data href="LeAM.Applets.Bernoulli.Bernoulli_inequality"> <PARAM NAME="Language" VALUE="&#36;language" /> </data> </private> <omlet type="applet" archive="../LeAM_calculusApplets/LeAM.jar" argstr="BernoulliInequalityApplet" image="../LeAM_calculusApplets/snapshot/Bernoulli_inequality.png" height="400" width="450" /> </CMP>
  • 74. jEdit – Insert JavaScript/External HTML Have JavaScript in external HTML File Create new directory (ContentDescr needs to be modified)/Add to existing directory (ie. pics) In CMP write <with style="embedHTMLex" width="900" height="500">../collectionPathMap/index.html</with> as only input
  • 75. jEdit – Example <CMP xml:lang="en"> <with style="embedHTMLex" width="900" height="500"> ../vCollJS/Pascal_en.html</with> <br /> </CMP>

Editor's Notes

  • #10: Add slide with general table explanation
  • #41: Add to notations.qmath Symbol: rBra APPLICATION "formatting:bracket" Symbol: enum APPLICATION "formatting:enumeration" Symbol: cdots SYMBOL "elementary:cdots"
  • #42: Symbol: seq APPLICATION "elementary:sequent"
  • #43: Add to notations.qmath: Symbol: seq APPLICATION "elementary:sequent"