1 / 32

Kursgenerator für E-Learning Systeme als Web-Service (KELWICE)

Kursgenerator für E-Learning Systeme als Web-Service (KELWICE). Diplomarbeit an HTW Saarland bei DFKI Tianxiang Lu. Motivation. Großer Markt für E-Learning Wichtige Rolle des Kursgenerators Probleme: Geschlossen Inhalte  Standards für Austausch der Lerninhalte Funktionalitäten  ?

tolla
Download Presentation

Kursgenerator für E-Learning Systeme als Web-Service (KELWICE)

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. Kursgenerator für E-Learning Systeme als Web-Service (KELWICE) Diplomarbeit an HTW Saarland bei DFKI Tianxiang Lu

  2. Motivation • Großer Markt für E-Learning • Wichtige Rolle des Kursgenerators • Probleme: • Geschlossen • Inhalte  Standards für Austausch der Lerninhalte • Funktionalitäten  ? • Implementierung der Funktionalitäten ist teuer • Lösung: Bestehende Funktionalitäten von E-Learning Systemen als Web-Service anbieten

  3. Grundlagen – E-Learning Systeme • Web-basierte E-Learning Systeme • Inhaltanbieter (Content Provider, CMS) • Learning Management Systeme (LMS) • Adaptierbar vs. adaptiv • Repositories und Mediator-Architektur • Metadaten, Ontologien, Ontologien-Mapping • Lernermodelle • Overlay Model, temporäre LM.

  4. Grundlagen – E-Learning Systeme • Kursgenerator

  5. Grundlagen – E-Learning Systeme • Probleme: • Einbinden eines fremden Repositorys erfordert • Erweiterung des Mediator-Quelltexts • Neustarten des Servers • Kursgenerator ist bisher nur innerhalb des Activemath Servers verfügbar • Generierter Kurs ist proprietäres JDOM Dokument

  6. Grundlagen: E-Learning Standards • IMS-Manifest (SCORM Manifest)

  7. SOA: Web Service

  8. Anforderungen an KELWICE • Fragebogen • Zeitraum: 1.April.2006 – 10. Mai. 2006 • Zielgruppe: • Entwickler (primär) • Autoren (sekundär) • Mailinglist: • Adaptive Hypertext and Hypermedia • International Forum of Educational Technology & Society • Internal Mailinglist of the European Network of Excellence Kaleidoscope

  9. Anforderung an KELWICE • Inhalt des Fragebogens (Überblick) • Allgemeine Interessen • mögliche Lernziele • Metadaten des Lerninhalts • Lernermodellierung • Format des Rückgabewertes des generiertes Kurses • Zusätzliche Information

  10. Anforderung an KELWICE • Auswertung des Fragebogens (Beispiel) • Frage: „Would a course generator be of use for you“?

  11. Anforderung an KELWICE • Lastenheft (Services) • /WS10/ Generierung: kompletter Kurs • /WS20/ Generierung: einzelne LO • /WS30/ Überblick über pädagogischen Lernziele • /WS40/ Überblick über Metadaten • /WS70/ Übersetzung zwischen verschiedenen Format (z.B. JDOM <-> SCORM) • /WS80/ WS für Registrierung eines neuen Repositorys

  12. Design - Schnittstellen • KELWICE Schnittstellen • Kernschnittstelle von KELWICE • getTaskDefinition()  /WS30/ • OUT: XML Stream von Definitionen aller Tasks • generateCourse()  /WS10/, /WS20/ und /WS70/ • IN: task (pädagogisches, inhaltliches Lernziel), userId/LearnerKnowledgeMap • OUT: Kurs in IMS-CP-(SCORM)-Manifest • Schnittstelle: RepositoryRegistration • getMetadataOntology()  /WS40/ • OUT: Ontologie Instructional Objects (OIO) • registerRepository()  /WS80/ • IN: WS-URL (Id), name, testId, • OUT: (IN-Robust) OK/Error • unregisterRepository()  /WS80/ • IN: Id (WS-URL)

  13. Design - Schnittstellen • Client Schnittstellen • Repository: ContentAPI (gefordert vom Mediator) • queryClass() • IN: contentId0 • OUT: Typ (Klasse) • queryRelation() • IN: contentId0, relation • OUT: Liste von contentId (die contentId0 als Relation besitzt) • queryProperty() • IN: contentId0, property • OUT: value • Learner Model: LearnerPropertyAPI • queryLearner() • IN: learnerId • OUT: property, value Map

  14. Design - Schnittstellen • Interaktion zwischen Client und KELWICE • Registrierung eines Repositorys • Kursgenerierung mit Lernermodell • Kursgenerierung ohne Lernermodell

  15. Registrierung eines Repositorys an KELWICE

  16. Kursgenerierung mit Lernermodell

  17. Design: Komponenten von KELWICE • ServiceController • LearnerModelAPI • RepositoryRegistrationAPI • CourseGeneratorServiceAPI

  18. Design - ServiceController • Komponenten • CourseGeneratorWebServiceAPI • Preprocessor • Translator • Funktionalitäten • Kursgenerierung mit Lernermodell • Kursgenerierung ohne Lernermodell

  19. LearnerModelAPI: Kursgenerierung mit temporärem Lernermodell

  20. Design – Erweiterung für Mediator • Web-Service Wrapper • RepositoryManagement (RM) RM Client

  21. KELWICE: Implementierung • Grundlegende Technologien • Objekt-Modelle (OM) und Parser • Web Applikation • Tools für Web-Services • Apache Axis vs. Axis2 • Erstellen von KELWICE mit Hilfe des Werkzeugs Axis2 • Java API  XML-RPC  Web Service • Standard-Client

  22. Implementierung – KELWICE und Axis2 • Java-API  XML-RPC  Web-Service • Java Klassen  Axis2 Services • Definition aller benötigen OMElement (≠ OpenMath!) • Java Klassen für Web-Service implementieren • Java2WSDL • Services.xml • WAR Datei (.aar) in Axis2 Treiber (Verzeichnis) (! ActiveMath muss im Hintergrund laufen) LMS (ActiveMath) Client KELWICE

  23. Implementierung – Dummy Standalone Client • Java-Klassen • ClientUtil • GenerateCourseWithLKMapClient • GenerateCourseWithLMIdClient • MetadataOntologieClient • RepositoryRegisterClient • RepositoryUnRegisterClient • TaskDefinitionClient

  24. Implementierung – Dummy Standalone Client • View (Ergebnis) • Imsmanifest.xml • manifestSimple.xsl (in Firefox und IE getestet) • benötigte Bibliotheken • Alle für AXIOM, WSDL and AXIS2

  25. Anwendung - MathCoach • HTW – Saarland • Professor Dr. Grabowski • Intelligente Content – Anbieter für Mathematik • Generator von Interaktionen wie Übung, Experimente • Lerninhalte • LaplaceScript – Format

  26. Anwendung – Erweiterung von MathCoach • Typen der Lernobjekten • Kapitel (Seite)  Definition • Einzelne Übungsgenerator (.ls)  Übung • Verwendete Metadaten • Identifier, Title, For, Requires, Type, LearningContext, Difficulty… • MathCoach–Ontologie und deren Mapping auf OIO

  27. Anwendung – Erweiterung von MathCoach • MathCoach Repository • Indexing (Lucene) vs. relationale Datenbank • Java-Objekt-Stil (Hibernate) vs. SQL-Stil (JDBC) • mySQL vs. DerbyDB • Entscheidung: Relationale Datenbank mit DerbyDB + JDBC

  28. Zusammenfassung • Beitrag • Kursgenerator als Web-Service • Anforderungen durch Fragebogen • SOA Design für Architektur • Implementierung mit Axis2 • Anwendung in ActiveMath und MathCoach • Repository Registration Web-Service • Ontologie und deren Mapping auf OIO • Dynamische Bindung • Dynamische Repository basiert auf XML-Dokument • Berücksichtigung auf Standard (IMS-CP-Manifest)

  29. Ausblick • Erweiterungsmöglichkeit für KELWICE • Lernermodelle-Schnittstelle • Austausch der Lerninhalte als IMS-CP • Erweiterungsmöglichkeit für MathCoach • Benutzerfreundlichere Darstellung des Kurses • Vertiefung der verwendeten Metadaten

  30. Danksagung • HTW Saarland • Professor Dr. Grabowski • Professor Dr. Lehser • DFKI • Carsten Ullrich (besonders) • ActiveMath Gruppe • KorrektorInnen • Kerstin Borau, Min Ye, Haichao Guan

More Related