View
218
Download
0
Tags:
Embed Size (px)
Citation preview
German Research Center for Artificial Intelligence (DFKI GmbH)Saarbrücken, Germany
Deutsches Forschungszentrum für Künstliche IntelligenzDeutsches Forschungszentrum für Künstliche Intelligenz
Course Generation as a Web-Service forE-learning Systems (CGWS)
Tianxiang Lu, Carsten Ullrich, Barbara Grabowski
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
UseCase 1:UseCase 1:
A Student Anton wants to learn about “derivative function” :
(1) Open a web-browser (2) Login to the adaptive E-Learning System (or
Web-based learning Environment) – e.g. ActiveMath
(3) He starts the course generator to generate a course giving at least following information– 1. pedagogical objective: “discover” – 2. target concept: “derivative function”
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Overview of ActiveMathOverview of ActiveMath
• www.activemath.org• DFKI and Saarland University • Adaptive E-Learning system for Mathematics• Learning resources: ActiveMath Mbase
– Omdoc format• Book generation
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Application - MathCoachApplication - MathCoach
• Applied University of techniques and economics in Saarland (HTW Saarland)
• Professor Dr. Grabowski• Intelligent content provider for mathematics• Generator of interactions such as exercises and
experiments• Learning resources:
– LaplaceScript format
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Use Case 2:Use Case 2:
An E-Learning System or content Provider (e.g. MathCoach) wants to provide not only static content, but also some service.– E.g. Course Generator to generate more
adaptive course for the user. (1) The learner log into the E-Learning System
-> similar to the previous case, the system need to call Course Generator from ActiveMath remotely.
(2) The learner view the content directly. -> wizard to get the learning goals and learner
mastery of related content. -> Call CG from ActiveMath remotely.
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
How does CG look like?How does CG look like?
A request consists of:A request consists of:1.1. Pedagogical objectivePedagogical objective2.2. Target conceptTarget concept3.3. Identifier of the learnerIdentifier of the learner
JavaJavaAPIAPI
PlannerPlanner
MediatorMediator
Learner modelLearner model
RepositoryRepository
RepositoryRepository
TOC(XML)TOC(XML) Plan(JShop2)Plan(JShop2)
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
MotivationMotivation
• Problems:– Course Generator expensive to implement– Reusability
• Learning Resources Standards for exchanging the Learning Objects
• functionality ?
• Solution: provide CG as Web Service
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Overview of the talkOverview of the talk
• Motivation• Requirements• Design and Implementation• Application• Summary and Outlook
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Requirements of CGWSRequirements of CGWS
• Survey– Time: April 1st 2006 – Mai 10th 2006– User
• System developer (principal target group)• Author (secondary target group)
– Mailing list:• Adaptive Hypertext and Hypermedia• International Forum of Educational Technology &
Society• Internal Mailing list of the European Network of
Excellence Kaleidoscope
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Requirements of CGWSRequirements of CGWS
• Survey covered– general interests– possible pedagogical objectives– meta data of learning objects– learner modelling– format of the generated course– additional information
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Requirements of CGWSRequirements of CGWS
• Analysis of Questionnaire (Example)– Question: „Would a course generator be of use
for you“?
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Major Problems to solveMajor Problems to solve
• Course generator is only available within ActiveMath
• Integration of external Repository requires:– Extending of source code of mediator– Server need to be restarted
• The generated course represented as proprietary format
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Requirements SpecificationsRequirements Specifications
• 1. Generation of complete course• 2. Selection of single learning object• 3. Overview of pedagogical objectives• 4. Overview of meta data• 5. Translation between different formats (e.g.
JDOM <-> SCORM)• 6. WS for registration of a new repository
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
DesignDesign
• Interfaces between the client (LMS) and Server (CGWS)
• Architecture of components within the server
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
CGWS InterfacesCGWS Interfaces
• Core Interface of CGWS– getTaskDefinition()– generateCourse()
• Interface of Repository Registration– getMetadataOntology() – registerRepository() – unregisterRepository()
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Client InterfacesClient Interfaces
• Repository: ContentAPI (for Mediator)– queryClass()– queryRelation()– queryProperty()
• Learner Model: LearnerPropertyAPI– queryLearner()
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Design – Extension of MediatorDesign – Extension of Mediator
• Web-Service Wrapper• RepositoryManagement (RM)
RM
DataDataSourcesSources
DataDataSourcesSources
MediatorMediator
wrapperwrapper
wrapperwrapper
wrapperwrapper
wrapp
wrapperer
…………
Query Query ComponentComponent
DataDataSourcesSources
wrapp
wrapperer
wrapp
wrapperer
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Register a repositoryRegister a repository
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Implementing processImplementing process
• Java-API -> XML-RPC -> Web Service• Java classes -> Axis2 Services
– Definition of all necessary OMElements– Java Classes for Web Service implementation– Java2WSDL– Services.xml– WAR file (.aar) in Axis2 driver (folder)(ActiveMath system must run in the
background!) SOAP XML-RPCClientClient CGWSCGWS LMS (ActiveMath)LMS (ActiveMath)
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Application – Using Standalone Application – Using Standalone clientclient
• Make sure that there exist Ontology for local Repository and it is accessible via URL.
• System requirements of the client system– Java JRE 1.5
• Download the standalone client to test CGWS http://www-ags.dfki.uni-sb.de/~lutian/CD
• Extend the java codes to use CGWS within your web application
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Application – DIYApplication – DIY
Do it yourself: • Download or configure the server (e.g. Tomcat)
and then download or configure the Axis2 engine (e.g. “axis2.war”)
• Deploy the web service interface for local repository
• Call getMetadataOntology() to get the Ontology of CGWS and write the Ontology mapping manually.
• Download or write the code to register your repository to CGWS
• Download or write the code to generate course calling our web service.
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
SummarySummary
• Contribution– Course Generator as Web Service
• Requirements defined using survey• SOA Design• Implementation with Axis2• Application in ActiveMath and MathCoach
– Repository Registration Web Service• Ontology and its mapping to OIO (Ontology used by
CGWS)• Dynamic binding
– Using Standards (IMS-CP-Manifest, WS standards)
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
OutlookOutlook
• Possible Extension for CGWS– Learner model interface (like mediator)– Exchange of learning resources with IMS-CP
• Possible extension for MathCoach– User friendly presentation of Courses– Using more meta data