Geteilter Aufgabenpool
An einen geteilten Aufgabenpool stellen sich mehrere Anforderungen:
- Austauschformat zur Abbildung von - insb. - Aufgaben zu SQL-Abfragen und ER-Modellierung
- Vollständige Information über eine Aufgabe, um diese in ein beliebiges System (z. B. LMS wie Moodle, Ilias oder OPAL; Assessment-Systeme wie Stack oder Onyx; eigens entwickelte Systeme, wie z. B. EasyTutor oder ALADIN) “zurück zu übersetzen”
- Auffindbarkeit von Aufgaben anhand sinnvoller Suchkriterien
Die Item-Pool-API versucht, diese Anforderungen vollständig zu erfüllen ohne hohen manuellen Aufwand für Import- und Export zu verursachen.
Nachfolgendes Sequenz-Diagramm zeigt die Prozessschritte der API während des Imports einer Aufgabe. Der erste Prozessschrit ist die Zerlegung einer Aufgabe in einzelne Bestandteile (Stimuli 1 und Musterlösungen), das Erfassen von Metadaten - insbesondere Merkmale der jeweiligen Aufgabenbestandteile (z. B. Metriken zur Komplexität einer SQL-Abfrage oder Verständlichkeit eines Texts) - und das Abspeichern der Bestandteile mitsamt der erfassten Metadaten.
sequenceDiagram
actor Client as Client
participant TaskRegistrationRouter as TaskRegistrationRouter
participant TaskRegistrationController as TaskRegistrationController
participant TaskHandler as TaskHandler
autonumber
Client ->> TaskRegistrationRouter: POST /registerTask
activate TaskRegistrationRouter
TaskRegistrationRouter ->> TaskRegistrationController: register_task
deactivate TaskRegistrationRouter
activate TaskRegistrationController
TaskRegistrationController ->> TaskRegistrationController: _select_task_handler
TaskRegistrationController ->> TaskHandler: process_task
deactivate TaskRegistrationController
activate TaskHandler
loop
TaskHandler -> TaskHandler: _register_materials
alt
TaskHandler ->> TaskHandler: _handle_id
TaskHandler ->> TaskMaterialRegistrationController: register_material
deactivate TaskHandler
activate TaskMaterialRegistrationController
TaskMaterialRegistrationController ->> TaskMaterialRegistrationController: _select_material_handler
TaskMaterialRegistrationController ->> TaskMaterialHandler: process_material
deactivate TaskMaterialRegistrationController
activate TaskMaterialHandler
TaskMaterialHandler ->> TaskMaterialHandler: _select_metrics_handler
TaskMaterialHandler ->> MetaDataInferenceHandler: infer_metadata
deactivate TaskMaterialHandler
activate MetaDataInferenceHandler
MetaDataInferenceHandler -->> TaskMaterialHandler:
deactivate MetaDataInferenceHandler
end
TaskMaterialHandler -->> TaskMaterialRegistrationController:
TaskMaterialRegistrationController ->> DAO: store_task_material
DAO -->> TaskMaterialRegistrationController:
TaskMaterialRegistrationController -->> TaskHandler:
end
TaskHandler -->> TaskRegistrationController:
TaskRegistrationController ->> DAO: store_task
DAO -->> TaskRegistrationController:
TaskRegistrationController -->> TaskRegistrationRouter:
TaskRegistrationRouter -->> Client:
Mehr Informationen finden sich unter 2.
Die API soll zukünftig um weitere Aufgabentypen und die Erfassung von (anonymisierten) Lösungsversuchen der jeweiligen Aufgaben durch Lernende erweitert werden.
-
Garner, W.R. (1974). The Stimulus in Information Processing. In: Moskowitz, H.R., Scharf, B., Stevens, J.C. (eds) Sensation and Measurement. Springer, Dordrecht. https://doi.org/10.1007/978-94-010-2245-3_7 ↩
-
https://github.com/neda-digital/ItemPoolAPI/wiki/API-Sequence-Diagram ↩