Deutsches Forschungszentrum für f r Künstliche K Intelligenz Learning Mathematics with Jörg Siekmann German Research Centre for Artificial Intelligence DFKI Universität des Saarlandes
e-learning: Systems and Platforms Systems: - Pact-Tutors, - Geometry Tutor, ActiveMath, - ELM-Art.... etc Platforms: - Clix - SAKAI - BLACKBOARD... etc Portals: Nets,... - for example: SaarLearn Net - regional nets, European e-learning Nets, Commercial Companies: - Thompson (USA) - IMC (Scheer), e-tell (Melis), Auralog (France), Giunti Labs (Italy), - Blackboard + WebCT.... etc
What is an Intelligent Tutor System? ITS: Cassical Tutor Systems: - precanned solutions Intelligent Features: Adaptive sequencing Interactive problem solving Error diagnosis User Model Personalization of: Content Presentation Dynamically generated suggestions
The System
Pedagogical Goals: Personalization Contents, exercises Presentation Interaction for individual content in interactive exercises learning tools, reflection tools Natural language dialogs and input editor Diagnosis and feedback motivational support scaffolding
Technological Goals Separation of knowledge and functionality Reuse of contents (via standards) Reuse and interoperability of tools and components Semantics for formulae, searchable mathematics content Various output formats and appearances Open web-architecture, modular design, configurability Standard XML-communication Platform-independence open source
Interdisciplinary Work AI ITS Computational Linguistics Learning Psychology Web Technology Education Domain knowledge
Artificial Intelligence Techniques user modeling presentation planning adaptive user interfaces problem solving systems deduction systems knowledge representation error diagnosis agent-based feedback natural language processing
Login : http://demo.activemath.org:8080/activemath2/
ActiveMath: Start Page created by learner by by author/teacher author/teacher
Choice of Book :: Selection of the Scenario
Wahl des Buches (in German)
Choice of Book :: Chinese
Choice of Book : Русский (Russian)
Choice of Book :: Français.) ais (and Spanish and...
Adaptivity: The Student s Background Mathematics Biology Physics
Adaptivity: The Student s Competency Same Content, different Learning Goals Introduction to Calculus Anton Physics University, Master Prep for Examination Eva Mathematics High School, A-level Learning/Understanding
Scenario for Anton: Definitions and Exercises
Scenario for Eva: Learning in Depth
The different Books Web based: Wicky or Google
A Book : How good are you? Good mastery Medium mastery Weak mastery
Scenario: Unmastered Concepts
Scenario: Unmastered Concepts
How can this be implemented? Course Generation: MBase MBase OMDoc OMDoc Course Generator Pedagogical Pedagogical Rules Rules User User Model Model
Course Generation Course Generator: assembles learning objects according to learner s Goals Capability Context/scenario Using an Operator like: ProvideAdequateExerciseFor(C): if mastery(c)<0.3 then Exercise(easy) if 0.3 mastery(c)<0.7 then Exercise(medium) if 0.7 mastery(c)<1 then Exercise(hard) With instructional ontology: vocabulary at the adequate level of abstraction for defining complex domain independent pedagogical strategies moderate constructivist strategies traditional didactic strategies
Course Generation (1) Goal concept 1. Retrieve content from knowledge base Start with goal concept Collect recursively concepts the goal depends on plus additional information (e.g. examples)
Course Generation (2) Goal concept 2. Filter concepts According to pedagogical rules According to the user model Defrule PatternExamPrep Allow (definition, exercise) Order (definition, exercise) Defrule ReqAppEx Allow (definition, exercise) Test (user-kb(definition)<0.3) Add ex-for(definition 0.3) ex-for(definition 0.5)
Course Generation (3) Goal concept 3. Linearize graph according to mathematical dependency according to pedagogical dependency
Knowledge Representation
Knowledge Representation Metadata Mathematical dependencies for, theory Pedagogical dependencies prerequisites, against Pedagogical characteristics difficulty, competencies... Domain Data: OMDoc / OpenMath Structures: theory, definition, axiom, example Mathematical semantics
Knowledge Representation OpenMath/OMDoc Representation of the semantics of mathematical knowledge - Domain ontology - Structures - Semantics of mathematical objects Metadata characterization and relationships between instructional objects - Semantic handling of formulas: search, copy&paste - Interoperability of mathematical services - Interoperability & intelligent automatic processing at the pedagogical level
Definition ε-neighborhood Theorem Proof Example neighborhood-equality for neighborhood-equality for ε-neighborhood Exercise for ε-neighborhood
OMDoc Knowledge Representation <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-group with <ref xref="c6s1p3_th2_def_unit">e</ref> <OMOBJ xmlns="http://www.openmath.org/openmath"> <OMS cd="cp4_th2" name="unit"/> </OMOBJ>. </CMP> <FMP><OMOBJ>... </OMOBJ></FMP> </definition>
Feedback
Feedback in Exercises
Feedback in Exercises
Feedback in Exercises
Another Help in an Exercise
Interactive Mathematics Interactive Mathematics
Interactive Math
Interactive Math
Interactive Math
Interactive Math
My Profile my current Knowledge
My Profile my current Knowledge
IMPLEMENTATION
Information Flow in Session Manager xml XSLT html request WebServer http browser Course generator Pedagogical rules CAS Math systems MBase User model profile evaluator history
SE: Event Framework Components can publish and subscribe - Event object: Type, timestamp, source, - Loose coupling between components Used for: - Generic component integration - User logging -User modeling - - better scalability: Clients can poll events
Example: Mastery Update Event: UserMastery- Change Event: Exercise- Finished User action (http request)
Presentation Process for Mathematics
Presentation Process Naive approach: Start with table of contents Bring XML-fragments together Apply XSLT transformation Issues Low performance Adaptivity logic defined in XSLT Layout defined in XSLT
ActiveMath Presentation Component Idea: 2-stage approach for presentation First stage deals with individual content fragments Second stage combines fragments to user-specific pages, enriched with dynamic data (via templates)
Presentation Pipeline: Fetching Collects content from knowledge base The output of this step are XML fragments <definition id="def1"> Definition 1 with a reference to <ref xref="def2">definition 2.</ref> </definition>
Presentation Pipeline: Pre-Processing Inserts server-specific information into the XML content <definition id="kb1://def1"> Definition 1 with a reference to <ref xref="kb1://def2">definition 2.</ref> </definition>
Presentation Pipeline: Transformation Conversion into the output format by XSLT Output: content fragments <div class="definition" id="kb1://def1"> Definition 1 with a reference to $link.dict("definition 2", "kb1://def2"). </div>
Presentation Pipeline: Assembly Joins the fragments to form the requested page <html> <head/><body> This page is generated for $user.name. <!-- begin item --> <div class="definition" id="kb1://def1"> Definition 1 with a reference to $link.dict("definition 2", "kb1://def2"). </div> <!-- end item --> </body></html>
Presentation Pipeline: Personalization Adds personalized data to the document This page is generated for $user.name. <!-- begin item --> <div class="definition" id="kb1://def1"> Definition 1 with a reference to <a onclick="openindictionary( kb1://def2 )"> <img src="green.jpg"/> Definition 2 </a>. </div> <!-- end item -->
Advantages of this Approach Multi-formats HTML, XHTML+MathML, PDF, SVG, slides Caching real performance much higher Incremental rendering perceived performance much higher High flexibility Separation of concerns (MVC) Eases layout changes
More specifically: Presentation of Mathematics Mathematics on the Web is a problem: Mostly just as an image No semantics ActiveMath: HTML, MathML, (SVG) Cross-browser: Internet Explorer, Mozilla Usage of semantics to add invisible information Authorable appearance
Math: HMTL
Math: XHTML+MathML
Math: PDF SVG
Mathematical Semantics: Rendering
Applications: BRÜCKENKURSE Courses to bridge between School and Further Education at University, Engineering Colleges etc
Student Numbers in Engineering Total Number of Students A possible Remedy: Brückenkurse with e-learning Final No: in 1996 there were 52.278 graduated engineers successful in 2002 there were only approx 31.000 finalists! Failure Rate: between 43 und 61% (!)
Another Application: E-Chalk Integration of ActiveMath into the Classroom
E-Chalk: Raul Rojas in Berlin Cooperation with Freie Universität Berlin
FU Berlin: Formula Recognition
Cooperation between Maths Department Saarbrücken and DFKI Prof. F. Schreyer: Computeralgebra and Rendering
Cooperation between Maths Department and DFKI Oliver Labs: 3-D Object Definition and Rendering
ActiveMath in Action Thanks for Listening!