280 likes | 404 Views
Course Generation as a Web-Service for E-learning Systems (CGWS). Tianxiang Lu , Carsten Ullrich, Barbara Grabowski. UseCase 1:. Student Anton wants to learn about “derivative function” : (1) Open a web-browser
E N D
Course Generation as a Web-Service forE-learning Systems (CGWS) Tianxiang Lu, Carsten Ullrich, Barbara Grabowski
UseCase 1: 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”
Overview of ActiveMath • www.activemath.org • DFKI and Saarland University • Adaptive E-Learning system for Mathematics • Learning resources: ActiveMath Mbase • Omdoc format • Book generation
Another System - 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
Use Case 2: An E-Learning System or content Provider (e.g. MathCoach) wants to provide not only static content, but also some dynamic services. • E.g. Course Generator to generate more adaptive course for the user. (1) The learner logs 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.
What does CG look like? • A request consists of: • Pedagogical objective • Target concept • Identifier of the learner Repository Mediator Repository Java API Planner Learner model TOC(XML) Plan(JShop2)
Motivation • Problems: • Course Generator expensive to implement • Reusability • Learning Resources Standards for exchanging the Learning Objects • functionality ? • Solution: provide CG as Web Service
Overview of the talk • Motivation • Requirements • Design and Implementation • Application • Summary and Outlook
Requirements 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
Requirements of CGWS • Survey covered • general interests • possible pedagogical objectives • meta data of learning objects • learner modelling • format of the generated course • additional information
Requirements of CGWS • Analysis of Questionnaire (Example) • Question: „Would a course generator be of use for you“?
Major 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 in proprietary format
Requirements 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
Design • Interfaces between the client (LMS) and Server (CGWS) • Architecture of components within the server
CGWS Interfaces • Core Interface of CGWS • getTaskDefinition() • generateCourse() • Interface of Repository Registration • getMetadataOntology() • registerRepository() • unregisterRepository()
Client Interfaces • Repository: ContentAPI (for Mediator) • queryClass() • queryRelation() • queryProperty() • Learner Model: LearnerPropertyAPI • queryLearner()
Design – Extension of Mediator • Web-Service Wrapper • RepositoryManagement (RM) Data Sources wrapper Mediator RM wrapper Data Sources Query Component wrapper wrapper … … wrapper Data Sources wrapper
Implementing 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-RPC Client CGWS LMS (ActiveMath)
Application – Using Standalone client • 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
Application – 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.
Summary • 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)
Outlook • 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
Acknowledgement • DFKI • Carsten Ullrich • Dr. Erica Melis and the ActiveMath Group • Professor Dr. Siekmann • HTW Saarland • Professor Dr. Grabowski • Professor Dr. Lehser