Enseigner, une passion, un métier... avec des outils si possible.

Le système de contrôle de connaissance de mes rêves… est peut-être un peu compliqué (c’est, en puissance, un système d’EAO – Enseignement Assisté par Ordinateur – ou encore un LMS – Learning Management System). Mais il me tarabuste depuis des années… Ci-dessous quelques débuts d’ébauches de spécifications informelles de ce que j’aimerai qu’il fasse/supporte/offre. C’est brut, cela aborde de nombreux aspects par le petit bout de la lorgnette et je ne détaille pas le cadre pédagogique dans lequel j’entrevois vivre ces outils (cela demanderait beaucoup de réflexion et de travail - je n’ai pas le temps de m’y consacrer pleinement).

Le contrôle de connaissance passe par la gestion nécessaire d'un stock de Questions. Ce n'est pas très original, mais il faut bien commencer par un bout. Une Question est définit par :

  • Un énoncé multimédia
  • Des réponses qui peuvent être de type
    • QCM (1 parmi N, N parmi M).
    • Ordonnancement des réponses
    • Un fragment de code, du Java, du C#, du SQL, etc.
    • Autres...
  • Une durée normale de réponse (en minute).
  • Des évaluateurs de réponses qui projettent leur évaluation sur un modèle simple :
    • Une valeur flottante [0,1] - Oui, c'est l'horrible "note"... (On peut aussi l'appeler CES - "Coefficient d'Evaluation du Savoir", ou EON - "Estimateur d'Objectifs Normé".)
    • Une liste de chaînes étiquetées chacune par un type { par exemple: Error, Warning, Comment }
  • Certaines évaluations doivent pouvoir être faites par un être humain (cas des textes libres), mais autant que possible, les évaluateurs sont… du code.
  • Les « indices » :
    • une liste optionnelle d’aides constituée d’énoncés multimedia supplémentaires dont les accès sont traqués
    • à l’issue de l’examen, on connait le nombre d’indices consommés pour répondre à la question.

Les relations inter-questions sont multiples (et relativement subtiles). Commençons par la plus simple : une question ne peut avoir de sens qu’au sein d’un groupe de questions. C’est un « scenario » qui enchaîne des questions dépendantes les unes des autres.

Nous sommes devant une alternative classique du design pattern du Composite : doit-on appliquer le « vrai » Composite dans lequel une Question est susceptible de contenir d’autres Questions, ou introduit-on une entité différente qui permet de structurer des paquets de Questions ?

En l’occurrence, il existe une entité du domaine évidente qui regroupe des Questions : l’Exercice.
On introduit donc la notion d’Exercice : un Exercice est composé d’une ou plusieurs Questions. Et pendant que l'on y est, on obtient le schéma de composition plutôt naturel suivant : Un Examen est composé d’un ou plusieurs Exercices, eux-mêmes composés d’une ou plusieurs Questions. Et c'est tout.

La composition d’un Examen se fait donc en manipulant des Exercices : ce sont ces Exercices qui sont les éléments de contenus sélectionnables (les Questions ne sont manipulées directement que dans le cadre d’un Exercice).

Les Exercices peuvent avoir certaines relations entre eux relativement à leur sélection au sein d’un Examen :

  • Si deux exercices sont sélectionnés dans un examen, l’une doit suivre l’autre mais retenir l’un n’entraîne pas la sélection de l’autre. C’est un pré requis d’ordre de présentation uniquement.
  • Un Exercice peut en requérir réellement un ou plusieurs autres.
    • Si l’Exercice est sélectionné, cela entraîne nécessairement la sélection de ses prérequis dans l’Examen. (Note : ce type de prérequis implique celui de l’ordre de présentation.)
    • Une piste à creuser: un pré-requis pourrait-être remplacé par son "résultat" (s'il existe). C'est l'idées des "lemmes" en mathématique (un résultat intermédiaire qui participe à la démonstration d'un théorème plus important).
  • Un Exercice peut requérir que le candidat ait précédemment réussi un ou plusieurs autres Exercices. Ce point soulève la problématique de la mémoire du système… et on voit poindre l’artillerie lourde (bon, c’est un simple serveur).

Le choix d’un tel référentiel (arborescent) est tout à fait discutable, mais je le considère comme un compromis acceptable (suffisamment expressif - correctement opérationnel).

Voilà, cela suffit pour aujourd’hui. Pour continuer il faut introduire la « catégorisation de l’apprenant » (par rapport au référentiel), qui est assimilable aux caractéristiques de son avatar, la fonction d’Evaluation qui fait évoluer les caractéristiques des apprenants, la carte du territoire des compétences à conquérir, etc.

Cela ressemble à un jeu ? Oui, c’est une des idées-forces qui, je pense, devrait être intégrée dans ce type d’outils pédagogiques.

Cela existe déjà ? Tant mieux cela m'intéresse ! Mais ne serait-ce pas une usine à gaz ? Ce ne serait guère étonnant car ce Système dans sa globalité intègre tellement d'aspects (CMS, KM) que je l'imagine bien comme une agglutination de machins divers... Ce qui me motive est de penser le système "from scratch", de modéliser ce qui est nécessaire et uniquement ce qui est nécessaire à la mise en oeuvre de ces idées.

Si d’aventure, cher lecteur, vous êtes intéressé, ou connaissez des systèmes – ou approches – similaires ou approchant(es), quel que soit leur maturité, nous sommes intéressés. Invenietis a les compétences nécessaires au développement/adaptation du système ainsi que le partenaire pédagogique pour l’expérimenter (l’école Intech’Info)… Mais nous ne sommes aucunement spécialistes de ces questions, de l'offre en la matière, des outils existants. N’hésitez pas à me contacter.

Le Blog...

Aujourd’hui, quelques réflexions disparates sur le blog lui-même.

1. De la raison d’être d’un Blog

Il n’a de sens (de mon point de vue) qu’en tant que moyen de communication (et non de promotion… n’est-ce pas Jean ?). On ne dit pas tout le temps la même chose à tout le monde. Je pars du principe qu’il y a donc nécessairement dans ces logorrhées des parties que l’on souhaite ne partager qu’avec un sous ensemble de son public habituel.
 
J’ai dans l’idée de répondre à ces enjeux de cibles et de contenu en jouant à deux niveaux différents qui me semblent complémentaires (et tous deux nécessaires). Ces deux mécanismes s’appliquent à des granularités différentes : le Post dans son ensemble et au sein du texte lui-même.

2. Catégories, Canaux de diffusion & Sécurité(s)

Gérer la diffusion du Post lui-même se fait très simplement grâce aux catégories que l’on peut associer à tout Post d’une part et d’autre part par la configuration du site qui héberge le blog.
Exemple de configuration :

  • La page Cuke qui porte le blog lui-même (et où l’on peut ajouter un nouveau Post) n’est accessible qu’à l’auteur et éventuellement d’autres personnes avec lesquelles l’auteur n’a pas de secrets).
  • L’affichage du blog sur cette page est sans restriction : aucun filtre de catégories n’est actif.
  • Des modules d’affichage de Blog sont disposés sur n’importe quelle page du site et filtre les Post par leurs catégories : les ACLs filtrent les utilisateurs et les Catégories filtrent le contenu.
  • Note sur la sécurité
    • C’est le Blog qui est sécurisé : en terme d’ACL on considère que les Posts partagent, héritent, de l’ACL du Blog auquel ils appartiennent.
    • Cela suppose, par exemple, que les liens « lire la suite » (s’ils existent) affichés par le module d’affichage de Blog sont cryptées : un Post n’est pas protégé en soi, il ne l’est que parce qu’un utilisateur lambda ne peut y accéder. Attention, ce n’est pas une réelle protection, il ne s’agit que d’une faible « protection par l’obscurité » en cachant le canal et non l’objet.

D’un point de vue strict, les Posts ne sont réellement sécurisés que via l’ACL du Blog. L’utilisation de la catégorisation est un moyen de gérer la « diffusion multi-canaux », pas de sécuriser le contenu (si vous ne saisissez pas l’importance de cette distinction, demandez moi de vous l’expliquer, c’est crucial J).
Ce choix est un compromis. Rien n’empêche de permettre la définition d’un ACL spécifique au niveau de chaque Post si nécessaire, l’ACL du Blog container étant simplement la protection par défaut.

3. Les appartés

Au sein du texte lui-même, l’idée est de pouvoir facilement faire des apartés à destination d’une ou plusieurs personnes. Le but de ces îlots de contenu est d’apporter en situation, au plus près du contenu général, un éclairage différent en fonction du lecteur, par exemple :

  • Demander l’avis d’un collègue ou d’une communauté sur un point particulier.
  • Aller plus loin dans une explication : un développeur peut dans un aparté faire référence à une implémentation non publique… ou à un bug récent…
  • Faire une « Private joke ».
  • Poser une note pour soi même.

Ce filtrage peut-il reposer sur les catégories ? Non, je ne le pense pas, et ce pour deux raisons :

  • Ces apartés ciblent des lecteurs particuliers, dans des buts divers (cf. ci-dessus) certes, mais toujours à des destinataires explicites.
  • Sémantiquement, le contenu de ces bribes de texte est fondamentalement lié à leur environnement : ils n’apportent pas (ou ne devraient pas apporter) de nouvelles thématiques : ils décorent un contenu, ils se positionnent au niveau pragmatique plutôt que sémantique.

Comment offrir cette possibilité d’apartés à l’auteur ? En encadrant ces apartés par des balises explicites de protection. Ces balises définissent les cibles pouvant lire le contenu : il suffit d’énumérer simplement les noms (login) des utilisateurs (ou les noms des groupes d’utilisateurs) accrédités.
Proposition : [Cuke.Filter Allow="Guillaume, 12531, P.Cuke.G.Supervisors"]aparté[/Cuke.Filter]

4. Conséquences, impacts et effets de bord

Cette capacité introduit une nécessaire étape de parsing préalable à tout affichage mais des optimisations sont possibles en utilisant les attributs des textes html.
Le comportement à l’indexation est simple: aucun aparté ne doit être indexé avec le contenu. Si indexation il doit y avoir, celle-ci doit intégrer totalement la sécurité (les apartés doivent être indexés en tant que documents distincts qui référencent leur texte d’origine).
 
La gestion de la diffusion par catégories est simple et ne pose pas de problèmes particuliers. En revanche, les apartés introduisent nettement plus d’effets de bord. Une option peut être intéressante mais certainement à développer… un jour.

Les arbres de connaissances

Je viens de passer quelques heures sur le net au sujet des Arbres de connaissances de Pierre Levy et Michel Authier. Après avoir lu le livre de ces derniers (Les arbres de connaissances, La Découverte/Poche, éd. 1999). Plein de bonnes idées à relever. La lecture du livre (allez, ce n’est pas un pavé, faites un effort) est à mon avis nécessaire, les informations sur le net ne couvrent pas l’intégralité de l’approche qui est plutôt riche.
Je ne vais pas retranscrire ni résumer ici le sujet mais me contenter de quelques remarques.
Les arbres de connaissances s’inscrivent dans une démarche humaniste, de partage, de respect des singularités de chacun. Cela se veut une alternative réaliste et actuelle à la vision classique de la définition et de la reconnaissance des compétences en privilégiant l’individu ET son parcours d’apprentissage.
 
Dès la création du concept (lors des travaux de la mission publique pour l'université de France confiée par Edith Cresson alors premier ministre à Michel Serres et à laquelle ont participé Michel Authier et Pierre Lévy), une entreprise est créée : Trivium (http://www.trivium.fr/). Cet entreprise « porte » le concept et l’outille grâce à un logiciel d’analyse et de représentation desdits arbres. Une association complète le dispositif : arbor & sens.
 
Rien à dire là-dessus (les Concepts, tout sympathique soient-ils, ont souvent bien besoin d’une structure d’entreprise pour pouvoir se développer) si ce n’est de vous recommander vivement la lecture du paragraphe Trivium et le rapport au pouvoir de « Eclaircissement sur quelques fondamentaux des Arbres de connaissances ». Ceux que les rapports complexes entre idée généreuse, pouvoir et investissements nécessaires intéressent y trouveront matière à réflexion.

Un brevet sur l'algorithme

Personnellement, un détail m’interpelle : l’algorithme de classification qui permet le calcul d’un arbre à partir des parcours d’apprentissage serait (voir plus bas) protégé par un brevet. Marrant non ?
 
Dans « Principes Théoriques des Arbres de Connaissances® » (on remarquera le ®) les fondamentaux sont effectivement décrits.
 
Faisons maintenant une hypothèse : imaginons un instant que je donne des cours dans une école d’informatique… En tant qu’informaticien passionné de ces aspects depuis des années, j’aurai déjà deux ou trois idées que j’aimerai tester au sujet de la modélisation des compétences et il me viendrait (pure hypothèse donc) l’opportunité de mettre en pratique ces idées.
Et là, brusquement, je me dis : « Tiens, je vais intégrer à l’intranet le calcul des arbres de connaissances... »
Je fais également l’hypothèse que je saurai exhiber un algorithme sur la base de l’article cité précédemment. Croyez moi, ce que je vais pondre a certaines chances de ressembler beaucoup à l’original. Il sera certainement moins efficace (mais les volumes dont j’ai besoin sont faibles), ne disposera pas de la finition de l’original (mais j’en expérimenterai les réglages au fur et à mesure et en fonction de mes besoins), ne sera pas industrialisé (mais sera complètement dédié à et intégré dans l’architecture qui m’intéresse).
 
Que se passera-t-il ? Je n’en sais rien.
Les idées ne sont pas brevetables. Un algorithme est une idée. Et ici, on n’est même pas sur un algorithme, vraiment sur une pure idée (structurer un espace mathématique). Alors, à quoi sert ce brevet ?

Existe-t-il ?

Je n’ai pas réussi ni à confirmer ni à infirmer l’existence de ce brevet. La seule allusion est dans un article critique de Josiane Teissier du Cereq de 1998, « Les Arbres de Connaissances : objet de controverse et expérimentations à suivre... ». Par ailleurs, rien à l’INPI ni à l’étranger semble-t-il.
Cependant, rien non plus sur l’algorithme lui-même.
Il semble en définitive que l’on se trouve là devant ce que les spécialistes en sécurité appellent la sécurité par l’obscurité… et son efficacité est reconnue comme faible sinon nulle.