1 / 18

Mathematical Interactive Exercise Generation From Static Documents

Mathematical Interactive Exercise Generation From Static Documents. Manolis Mavrikis School of Mathematics University of Edinburgh. Alberto González Palomo Toledo Spain. Motivation. Content for (mathematical) educational systems - authoring is time consuming

bardia
Download Presentation

Mathematical Interactive Exercise Generation From Static Documents

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mathematical Interactive Exercise Generation From Static Documents Manolis Mavrikis School of MathematicsUniversity of Edinburgh Alberto González PalomoToledo Spain

  2. Motivation Content for (mathematical) educational systems - authoring is time consuming - not easily reusable, shareable common specifications for content are necessary

  3. Exercises - Question and Test Interoperability (QTI) no consideration for mathematical questions - OMDoc no particular structure for exercises (until MKM Bertinoro) - others ? There are many systems that use different techniques and their own format - WALLIS (JavaScript templates and JSPs) - Alice Interactive Mathematics (own programming language) - MapleTA (Maple specific syntax) - CUE, SToMp (their own XML structures)

  4. Exercises - complex structures e.g ‘nested’ multiple parts - adaptive feedback - interactivity - mathematics ! Example (see http://www.maths.ed.ac.uk/wallis/demo)

  5. The rest of the talk … Examples from an exercise description language that - separates content from presentation - achieves question randomisation - represents multiple structures interaction - helps in providing adaptive feedback/presentation

  6. Mathematical entities <OMOBJ> <OMA> <OMS cd=“relation1" name="eq"/> <OMV name="A"/> <OMA> <OMS cd="linalg2" name="matrix"/> <OMA> <OMS cd="linalg2" name="matrixrow"/> <OMI id="m_1_1">1</OMI> <OMI id="m_1_2">2</OMI> </OMA> <OMA> <OMS cd="linalg2" name="matrixrow"/> <OMI id="m_2_1">3</OMI> <OMI id="m_2_2">4</OMI> </OMA></OMA> </OMA> </OMOBJ>

  7. Mathematical entities XHTML or OpenMath  presentation MathML  HTML (with CSS)

  8. Exercises with Mathematical Entities Use a for attribute in elements to replace the parts where we want to create blanks or any type of questions <response> <blank for="m_1_1" size="2" id="blank_1"/> <blank for="m_1_2" size="2" id="blank_2"/> <blank for="m_2_1" size="2" id="blank_3"/> <blank for="m_2_2" size="2" id="blank_4"/> </response> This separates further the presentation from content and makes authoring easier.

  9. … this could work for other schemes XML is <span id=‘match1’>great</span> because it <span id=‘match2’>separates</span> content from <span id=‘match3’>presentation</span>. <response> <blank for="match1" size=“10" id="blank_1"/> <blank for=“match2" size=“10" id="blank_2"/> <choice for=“match3" multiple=“no”> … </choice> </response> example

  10. Randomisation & variable use can help speed up authoring - declared manually once and used in several places in the document or feedback elements to produce a different question OR - randomised by the system (need more care)

  11. <variables> <!--mix and max are inclusive--> <var id="m" minvalue="1" maxvalue="3"/> <var id="f_tmp" minvalue="0" maxvalue="1"/> <var id="f">2*f_tmp-1</var> <var id="n_tmp" minvalue="1" maxvalue="3"/> <var id="n">n_tmp+m+1</var> <var id="z" minvalue="1" maxvalue="10"/> <var id="a">m+4*n*f</var> <var id="b">4*(m-n*f)</var> <var id="hb">b/2</var> <var id="c">4*m+n*f</var> <var id="d">5*z</var> </variables> assume type=“text/Maple” but more general to use OpenMath

  12. 11x2+2xy+3y2=4 … <OMA> <OMS cd="arith1" name="power"/> <OMV name="x"/> <OMI>2</OMI> </OMA> </OMA> <OMA> <OMS cd="arith1" name="times"/> <OMV name="b"/> <OMV name="x"/> <OMV name="y"/> </OMA> <OMA> <OMS cd="arith1" name="times"/> <OMV name="c"/> <OMA> <OMS cd="arith1" name="power"/> <OMV name="y"/> <OMI>2</OMI> </OMA> </OMA>

  13. Interaction Define a structure - easy to author, maintain, database - represent the directed graph but with a shallow structure - general enough - clear separation of interactive layer from content Benefits: - speed authoring process - makes document manageable and reusable

  14. Response conditions <map-action type="reply"> <cond xref="1st_part_misconception1"> <num_equal for="blank_1">2</num_equal> <num_equal for="blank_2">3</num_equal> </cond> </respcondition> <item id="1st_part_misconception1"> <material><mattext> No it's not correct because... </mattext></material> </item>

  15. Response conditions (using variables) <map-action type="reply"> <cond xref="1st_part_misconception1"/> <num_equal for=“blank_1”> <var_value>2*b</var_value> </num_equal> </cond> </map-action> <item id="1st_part_misconception1"> <material><mattext>No it's not correct...</mattext></material> </item>

  16. Response conditions for hints <map-action type=“hint"> <cond xref="hint_rhs_1"> <num_equal for=“blank_2”>3</num_equal> </cond> <cond xref="hint_rhs_2"> <num_equal for=“blank_2”>4</num_equal> </cond> <defaults xref=“default_hint” > </map-action>

  17. Response conditions for CAS <map-action type=“reply"> <cond xref=“correct"> <cas_test for=“blank_2”> …omobj… </cas_test> </cond> </map-action> <map-action type=“reply"> <cond xref=“correct"> <cas_test for=“blank_2”> test/Diff(U) </cas_test> </cond> </map-action> example

  18. Conclusion An exercise description language - shallow structure - general enough - declarative - separates presentation from content Further Work - limitations wtr to different content - finalise details of the language - finalise two different implementations (client – server)

More Related