Learning
Mathematics
with
Deutsches Forschungszentrum f
e
e
-
-
Learning: Systems and Platforms
Learning: Systems and Platforms
Systems
:
- Pact-Tutors,
-
Geometry Tutor, ActiveMath,
-
ELM-Art . . . . etc
Platforms:
-
Clix
-
SAKAI
-
BLACKBOARD. . . etc
Portals:
-
for example: SaarLearn Net
-
regional nets, European e-Learning Nets, Commercial
Nets,...
W
W
hat is an
hat is an
“
“
Intelligent
Intelligent
”
”
Tutor System
Tutor System
?
?
•
Cassical Tutor Systems:
-
precanned solutions
•
“Intelligent“
Features:
–
Adaptive sequencing
–
Interactive
problem solving
–
Error diagnosis
–
User Model
•
Personalization of:
ITS:
•
Personalization
–
Contents, exercises
–
Presentation
•
Interaction
–
for individual content
–
in interactive exercises
–
learning tools, reflection tools
–
Natural language dialogs and input editor
•
Diagnosis and feedback
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
Interdisciplinary Work
AI
Learning
Psychology
Education
Web Technology Computational LinguisticsDomain
ITS
AI
Artificial Intelligence Techniques
•
user modeling
•
presentation planning
•
adaptive user interfaces
•
problem solving systems
•
deduction systems
•
knowledge representation
•
error diagnosis
•
agent-based feedback
by author/teacher
by author/teacher
created by learner
ActiveMath: Start Page
Choice of
Wahl des
Choice of
Choice of
Choice of
Choice of
„
„
Book
Book
“
“
: Fran
: Fran
ç
ç
ais
ais
(and Spanish and . . . (and Spanish and . . . .)Adaptivity:
The Student
´
s
Background
Mathematics
Biology
Adaptivity:
The Student
´
s Competency
Anton
•
Physics
•
University, Master
•
Prep for Examination
Eva
•
Mathematics
•
High School, A-level
•
Learning/Understanding
Same Content, different Learning Goals
Same Content, different Learning Goals
Introduction to Calculus
Scenario for Anton: Definitions and Exercises
Scenario for Anton: Definitions and Exercises
Scenario for Eva: Learning in Depth
The different
The different
„
„
Books
Books
“
“
A „Book“: How good are you?
Good mastery
Good mastery
Medium mastery
Medium mastery
Weak mastery
Weak mastery
How can this be implemented?
MBase
OMDoc
MBase
OMDoc PedagogicalRules
Pedagogical Rules Course Generator Course Generator
Course Generation:
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
Course Generation (1)
Goal concept
1. Retrieve content from knowledge base
•
Start with goal concept
Course Generation (2)
Goal concept
2. Filter concepts
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)
Course Generation (3)
Goal concept
3. Linearize graph
Knowledge Representation
•
Metadata
–
Mathematical dependencies
for, theory–
Pedagogical dependencies
prerequisites, against…–
Pedagogical characteristics
difficulty, competencies. . .•
Domain Data: OMDoc / OpenMath
–
Structures:
theory, definition, axiom, example…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
→ Definition “ε-neighborhood” → Theorem ”neighborhood-equality” → Proof for ”neighborhood-equality” → Example for “ε-neighborhood” Exercise
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
Feedback in Exercises
Feedback in Exercises
Feedback in Exercises
Interactive Mathematics
Interactive Mathematics
Interactive
Interactive Math
Interactive Math
Interactive Math
Interactive Math
My Profile
My Profile
Information Flow in
browser
Course
generator Pedagogicalrules
MBase Se ss io n M an ag er W eb Se rv er User model http request CASMath systems XSLT html xml
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
Example: Mastery Update
Event:
UserMastery-
Change
Event:
Exercise-
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
ActiveMath Presentation Component
•
Idea: 2-stage approach for presentation
•
First stage deals with individual content fragments
•
Second stage combines fragments to user-specific
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
")
.
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>