CMI5, ou la vie après SCORM



Enfant, je rêvais de devenir professeur. Un rêve d'enfance s'est en partie réalisé: mes journées de travail pour adultes ont lieu "à l'école". Et bien que je ne sois pas professeur dans une vraie classe, mais programmeur d'un système d'enseignement à distance (DLS), mon objectif est le même: rendre l'apprentissage accessible et son processus intéressant. Certes, pour cela, le programmeur a besoin de pouvoir "jongler" non pas avec la craie et le pointeur, mais avec les standards de l'apprentissage à distance. Je propose de faire un voyage dans le temps il y a 20 ans pour découvrir comment les standards de l'enseignement à distance ont évolué et quels outils sont désormais dans l'arsenal des programmeurs LMS.

En 1999, lorsque mes pairs ont encerclé le théorème de Pythagore dans un manuel de géométrie avec un crayon, ADL a lancé un projet dans lequel ils prévoyaient de remplacer les manuels ennuyeux par des cours électroniques. En 2001, elle a publié la première version officielle de SCORM (Sharable Content Object Reference Reference Model) - un langage formel et des spécifications pour la création de cours de formation et leur intégration dans le LMS. 

ADL n'est pas la seule entreprise à avoir tenté de standardiser l'enseignement à distance. La création de SCORM a été inspirée par la spécification du même nom développée par AICC. L'AICC était à l'origine destiné à l'aviation, mais en conséquence est devenu populaire au-delà de ses frontières.

SCORM "sous le capot" c'est:

  • description de la structure des blocs de formation et des ensembles de matériel pédagogique (modèle d'agrégation de contenu) - métadonnées et ressources (images, fichiers HTML, Flash, etc.);
  • exigences pour l'environnement d'exécution: règles de lancement des cours, API ECMAScript pour la communication entre le client SCORM et le LMS, structure du modèle de données;
  • des règles d'organisation du matériel pédagogique et de navigation entre celles-ci, en fonction des performances des élèves.

Malgré le fait que la mise en œuvre du cours et son soutien du côté du LMS ne sont pas une tâche facile, SCORM semblait attrayant sous plusieurs angles:

  • La configuration des cours SCORM n'est pas liée à un LMS spécifique. Une fois créés, les cours peuvent être utilisés dans tous les systèmes prenant en charge SCORM. L'inverse est également vrai: pour le LMS, peu importe qui est le fournisseur du cours. Il suffit que le cours soit conforme à la norme.
  • Le cours SCORM peut contenir des tests de vérification, des modules de formation, des jeux interactifs dans n'importe quel format pris en charge par les navigateurs. 
  • Le LMS reçoit des informations sur les progrès de l'étudiant: une évaluation, s'il s'agit d'un test, le pourcentage d'achèvement du cours, le temps consacré à la formation, etc.
  • Les cours sont bien structurés, les blocs et les modules se succèdent dans un ordre donné.
  • L'étudiant peut interrompre le cours et continuer à tout autre moment. Le LMS s'assurera que la prochaine fois que le cours ouvrira à l'endroit où il a été arrêté.

xAPI


Au fil du temps, SCORM a montré ses faiblesses.

  • Historiquement, la plupart des cours sont mis en œuvre sur le Flash autrefois populaire. La décision d'interrompre la prise en charge de Flash a conduit au fait que les navigateurs mis à jour «ne veulent pas» exécuter volontairement ces cours SCORM.
  • Les gadgets mobiles équipés d'applications de formation ont commencé à rivaliser avec le PC pour une «place sur le bureau», et le SCORM dépendant du navigateur était sans travail.
  • Le cours SCORM ne peut pas exister séparément du LMS: ils sont obligés d'héberger ensemble pour éviter les conflits inter-domaines, et en soi un tel cours en dehors du LMS devient inutile.
  • Il a été constaté que même un écolier est capable de casser un cours SCORM (grâce à l'API ECMAScript).

ADL a décidé de ne pas corriger les trous dans SCORM, mais de créer une nouvelle spécification qui ne répétera pas les erreurs SCORM et deviendra un remplacement digne à l'avenir. Alors xAPI (ou TinCan) est apparu.


Le point culminant de la nouvelle norme est l'architecture basée sur REST et le Learning Record Store (LRS) - un stockage séparé qui reçoit des informations sur chaque étape de l'étudiant et les émet sur demande. Qu'est-ce que cela a apporté aux utilisateurs et développeurs xAPI?

  • .
  • . Flash, HTML-, , , — «» . 
  • LRS , , «» .
  • . , SCORM, LRS , . , , . 
  • .
  • , . LRS.

xAPI + =?


Bien que xAPI ressemble à une solution miracle pour l'apprentissage en ligne, dans la pratique, il s'est avéré que les cours xAPI individuels ne peuvent pas remplacer un LMS à part entière. La tentative de connexion de ces cours au DLS a été grandement compliquée par le fait que le langage xAPI est dépourvu de règles strictes. Ainsi, par exemple, il n'y a aucun moyen de systématiser et d'identifier de manière unique les actions des étudiants si dans un cours le verbe signifiant l'achèvement du cours est «terminé» et dans l'autre «passé». 

En 2016, le CMI5 (Computer Managed Instruction) est apparu - une "idée originale" commune d'AICC et d'ADL, connue sous le nom de xAPI, modifiée pour être utilisée dans DLS. Les créateurs du cahier des charges ont approuvé une structure unique du cours, les règles d'interaction du cours et le LMS, un dictionnaire de mots décrivant les actions de l'étudiant. En conséquence, CMI5 a hérité des meilleures qualités de SCORM et xAPI: compatibilité garantie des cours et LMS et grandes opportunités pour la formation et l'analyse des processus d'apprentissage. 


CMI5 en action


Considérez le cours CMI5 le plus simple pour apprendre la langue russe.

Un de ses blocs, informatif, contient une règle de mémorisation des cas.


Le module "Case" est en lecture seule. Lorsque vous cliquez sur Continuer, un événement est généré: "Ivan Ivanov a étudié" Cas ". » , Ou en langage CMI5 « Ivan Ivanov a connu des «cas». » . LRS répondra à la demande d'informations sur l'événement avec le JSON suivant:

Ivan Ivanov a connu des «cas».
{
"id": "5f174065-3b34-4995-97d9-9ed542a85c91", 
    "actor": { 
        "account": { 
            "homePage": "http://test.scorm.com", 
            "name": "test" 
        }, 
        "objectType": "Agent", 
        "name": "Ivan Ivanov" 
    }, 
    "verb": { 
        "id": "http://adlnet.gov/expapi/verbs/experienced", 
        "display": { 
            "en-US": "experienced" 
        } 
    }, 
    "context": { 
        "extensions": { 
"https://w3id.org/xapi/cmi5/context/extensions/sessionid": "bb6253b8-9470-405b-962c-6e12b1cb4e18" 
        }, 
        "registration": "3f0210f7-82fc-4adf-bea8-0b5b6c7555ab", 
        "contextActivities": { 
            "grouping": [ 
                { 
                    "id": "https://test.cmi5/E6577A53-68D2-4863-B1CE-F606338992A3/presentation", 
                    "objectType": "Activity" 
                } 
            ], 
            "parent": [ 
                { 
                    "id": "https://test.cmi5/E6577A53-68D2-4863-B1CE-F606338992A3/presentation", 
                    "objectType": "Activity" 
                } 
            ] 
        } 
    }, 
    "timestamp": "2020-02-15T16:29:59.000Z", 
    "stored": "2020-02-15T16:29:59.494Z", 
    "authority": { 
        "account": { 
            "homePage": "http://test.scorm.com", 
            "name": "test" 
        }, 
        "objectType": "Agent", 
        "name": "Ivan Ivanov" 
    }, 
    "version": "1.0.0", 
    "object": { 
        "id": "http://test.scorm.com/cmi5/lms-id/3a45d09ae8d81f3e2c195ca0c92517c1bc9c4099/4deaa592-477f-4b79-9081-c1cf95edba7a/slides/0", 
        "definition": { 
            "name": { 
                "ru-RU": "" 
            }, 
            "type": "http://adlnet.gov/expapi/activities/module" 
        }, 
        "objectType": "Activity" 
    } 
} 

Les informations suivantes peuvent être vues dans cette structure:

  • acteur - décrit qui est formé.
  • verbe est un verbe désignant l'action d'un élève. Ce qui distingue CMI5 de xAPI, ce sont les 9 verbes d'action approuvés: Lancé , Initialisé , Terminé , Passé , Terminé , Échoué , Abandonné , Renoncé , Satisfait ;
  • horodatage - un point fixe dans le temps passé par le module;
  • stocké - l'heure à laquelle l'événement a été enregistré dans le LRS;
  • autorité - informations sur l'utilisateur autorisé; 
  • L'objet décrit le module actuel. 

Un autre module du cours est la vérification. L'élève doit sélectionner plusieurs bonnes réponses parmi les options proposées.


Notre étudiant analphabète se trompe partiellement en choisissant 3 et 4 options. Le rapport JSON de cet événement ressemble à ceci:

Ivan Ivanov a incorrectement répondu "Sélectionnez des phrases dans lesquelles - sera écrit SÉPARÉMENT." avec une réponse «2,3» avec un score de 0%.
{ 
    "id": "e0d2bc32-31f4-478e-83cf-f5a29c707c64", 
    "actor": { 
        "account": { 
            "homePage": "http://test.scorm.com", 
            "name": "test" 
        }, 
        "objectType": "Agent", 
        "name": "Ivan Ivanov" 
    }, 
    "verb": { 
        "id": "http://adlnet.gov/expapi/verbs/answered", 
        "display": { 
            "en-US": "answered" 
        } 
    }, 
    "result": { 
        "score": { 
            "scaled": 0, 
            "raw": 0, 
            "min": 0, 
            "max": 10 
        }, 
        "success": false, 
        "response": "2[,]3", 
        "duration": "PT0H0M21S" 
    }, 
    "context": { 
        "extensions": { "https://w3id.org/xapi/cmi5/context/extensions/sessionid": "bb6253b8-9470-405b-962c-6e12b1cb4e18" 
        }, 
        "registration": "3f0210f7-82fc-4adf-bea8-0b5b6c7555ab", 
        "contextActivities": { 
            "grouping": [ 
                { 
                    "id": "https://test.cmi5/E6577A53-68D2-4863-B1CE-F606338992A3/presentation", 
                    "objectType": "Activity" 
                } 
            ], 
            "parent": [ 
                { 
                    "id": "http://test.scorm.com/cmi5/lms-id/3a45d09ae8d81f3e2c195ca0c92517c1bc9c4099/4deaa592-477f-4b79-9081-c1cf95edba7a/quizzes/3eb2m2qum2ic-gi7dizsu4d26", 
                    "objectType": "Activity" 
                } 
            ] 
        } 
    }, 
    "timestamp": "2020-02-15T16:30:12.000Z", 
    "stored": "2020-02-15T16:32:06.654Z", 
    "authority": { 
        "account": { 
            "homePage": "http://test.scorm.com", 
            "name": "test" 
        }, 
        "objectType": "Agent", 
        "name": "Ivan Ivanov" 
    }, 
    "version": "1.0.0", 
    "object": { 
        "id": "http://test.scorm.com/cmi5/lms-id/3a45d09ae8d81f3e2c195ca0c92517c1bc9c4099/4deaa592-477f-4b79-9081-c1cf95edba7a/quizzes/3eb2m2qum2ic-gi7dizsu4d26/questions/Slide1_Q_i68jbjynkg0v-wgrvgh6ix86p", 
        "definition": { 
            "name": { 
                "ru-RU": " ,   -  ." 
            }, 
            "description": { 
                "ru-RU": " ,   -  ." 
            }, 
            "type": "http://adlnet.gov/expapi/activities/cmi.interaction", 
            "correctResponsesPattern": [ 
                "1[,]2" 
            ], 
            "choices": [ 
                { 
                    "id": "0", 
                    "description": { 
                        "ru-RU": "  , ()   ." 
                    } 
                }, 
                { 
                    "id": "1", 
                    "description": { 
                        "ru-RU": "()     ,   ." 
                    } 
                }, 
                { 
                    "id": "2", 
                    "description": { 
                        "ru-RU": "\"() :   ?\" -  ." 
                    } 
                }, 
                { 
                    "id": "3", 
                    "description": { 
                        "ru-RU": "()   ,   ." 
                    } 
                } 
            ], 
            "interactionType": "choice" 
        }, 
        "objectType": "Activity" 
    } 
} 

L'objet résultat contient le résultat de la réussite du test: la réponse de l'élève, les points de l'élève, les points maximum et minimum, le temps passé sur le test, etc. L' objet objet décrit le contenu du test, y compris une liste d'options et la bonne réponse.

Conclusion


En 2019, Rustici Software a publié des statistiques sur les cours téléchargés sur le Cloud SCORM.


Selon les statistiques, le pourcentage de cours xAPI augmente chaque année, bien que la spécification soit encore loin d'être populaire non seulement de différentes versions de SCORM, mais même de son ancêtre AICC. 

Il y a plusieurs raisons à cela. Les plus évidents sont les coûts de main-d'œuvre et financiers requis pour mettre en œuvre xAPI. De plus, un grand nombre de LMS sont disponibles uniquement dans un navigateur, et si vous excluez les cours Flash problématiques, il est difficile de trouver une bonne raison de refuser les cours SCORM en cours et de les réécrire dans xAPI.  

Le pourcentage de cours CMI5 sur ce graphique est minime. Dans le même temps, CMI5 remplit sa mission principale: il fournit la compatibilité des cours de type LRS et xAPI avec LMS et, par conséquent, agit comme une alternative plus puissante et moderne à SCORM.

Y a-t-il une vie après SCORM? Certainement là. Et il est objectivement plus intéressant, plus technologique et diversifié que celui qui tient dans une fenêtre de navigateur.

Références aux matériaux utilisés dans l'article:



All Articles