Evaluation des organigrammes des apprenants en algorithmique
Après avoir vu les limites des environnements d‟apprentissage de l‟algorithmique existants et leurs limites, nous proposons un système d‟évaluation de l‟algorithmique qui peut, très facilement, être adapté à l‟évaluation de n‟importe quel savoir-faire. Ce système est basé (inspiré de) sur la décomposition. Il garantit, en plus, l‟évaluation de n‟importe quelle solution de l‟apprenant de manière directe ou différée. Ce système repose sur la comparaison et l‟appariement. Inspiré des concepts et des techniques d‟appariement de modèles, il se concentre principalement sur les aspects structurels des solutions à apparier. A la fin, un prototype de ce système est présenté. Ce prototype va servir à la validation de notre approche. II. Apprentissage par la pratique La littérature met en lumière plusieurs stratégies d‟apprentissage dont les plus analysées sont celles qui ont trait à l‟apprentissage par la recherche (learning by searching), à l‟apprentissage par la pratique (learning by doing), à l‟apprentissage par l‟utilisation des technologies de pointe (learning by using), à l‟apprentissage par l‟interaction (learning by interacting), à l‟apprentissage par les externalités industrielles (learningfromindustryspillovers) et à l‟apprentissage par les externalitésrégionales (learningregion) (Cohen 1990). Dans le contexte de l‟apprentissage de l‟algorithmique et de la programmation, une matière qui requiert beaucoup de compétences, on trouve l‟apprentissage par la pratique comme la forme la plus adéquate pour apprendre ce genre de compétence. Aristote a dit: « Il faut apprendre en faisant la chose, car si vous pensez que vous savez, vous n‟avez pas la certitude jusqu‟à ce que vous ayez essayé. » Cet apprentissage par la pratique est le meilleur moyen d‟apprendre la programmation puisque les apprenants ont besoin d‟une meilleure compréhension de ce que l‟algorithme signifie réellement. De plus, ils obtiennent une compréhension plus profonde de leurs algorithmes proposés surtout quand ils proposent une solution erronée et qu‟ils reçoivent un feedback formatif (Labat, 2002). Dans cette thèse, nous avons adopté l‟approche apprentissage par la pratique et une stratégie qui vise à réutiliser des solutions communes et en essayant de trouver la solution la plus similaire qui correspond à la solution proposée par l’apprenant à l’aide de mesure de similarité entre organigrammes. Dans la section suivante, nous expliquons la méthode d’évaluation proposée ainsi que l’outil proposé. Qu’est-ce que l’organigramme et Pourquoi ? Un organigramme est une représentation graphique normalisée, utilisée pour analyser ou décoder un problème. Les organigrammes sont utilisés pour : la Communication : Organigrammes sont une meilleure façon de communiquer la logique d’un système à tous les intéressés ou impliqués. Une analyse efficace : Avec l’aide de diagramme, un problème peut être analysé de manière plus efficace réduisant ainsi le coût et le gaspillage de temps. Une documentation adéquate : organigrammes du programme servent comme étant une bonne documentation du programme, qui est nécessaire à des fins diverses, ce qui rend les choses plus efficaces. Codage efficace : Les organigrammes agissent comme un guide ou un plan au cours de la phase d’analyse des systèmes et des programmes. Mise au point correcte : L’organigramme aide dans le processus de débogage. Maintenance du programme efficace : Le maintien du programme d’exploitation devient facile avec l’aide d’organigramme. Il aide le programmeur à mettre des efforts plus efficacement sur cette partie les symboles standards sont normalisés. Ils peuvent être compris par des personnes n’ayant aucune connaissance de la programmation. Ils peuvent servir à diviser le projet entier en sous-tâches. Ils serviront alors à évaluer les progrès accomplis. Ils décomposent les séquences d’opérations et aident ainsi à trouver les erreurs. III. Modélisation d’une solution algorithmique Pour simplifier des tâches complexes, il faut les décomposer en des tâches moins complexes et réitérer cette opération jusqu‟à arriver à un niveau de décomposition comportant des opérations de base et/ou des opérations élémentaires. L‟algorithme solution du problème sera alors une composition de ces dernières opérations (de base et élémentaires). Le nombre Chapitre III : Evaluation des organigrammes des apprenants en algorithmique 59 d‟étapes de décomposition dépend de la complexité du problème : plus ce dernier est complexe, plus le nombre d‟étapes est important. Cette méthode de raffinages successifs (dite également approche descendante) permet de passer progressivement, et avec un maximum de chances de réussite, de la description abstraite de la solution du problème (par une opération complexe) à l‟algorithme qui permettra sa résolution. L‟algorithme est au dernier niveau de raffinage lorsqu‟il ne comporte que des opérations de base, des opérations élémentaires et des structures de contrôle. “A deep understanding of programming, in particular the notions of successive decomposition as a mode of analysis and debugging of trial solutions, results in signicant educational bene ts in many domains of discourse, including those unrelated to computers and information technology per se.‟‟ (Seymou Papert, in „Mindstorms‟) Figure N° 29: Décomposition d’un problème et La composition de sa solution On définit une opération de base comme étant une opération connue en algorithmique telle que le tri d‟un tableau. Une opération élémentaire, quant à elle, est une opération algorithmique simple (exemple : l‟affectation). Chapitre III : Evaluation des organigrammes des apprenants en algorithmique 60 Ainsi, au niveau 1, le problème est décomposé en un ensemble d‟opérations de base, d‟opérations élémentaires et d‟opérations décomposables qui peuvent être liées par des structures de contrôle. Le nombre de niveaux de décomposition dépend de la complexité du problème à résoudre. En descendant dans les niveaux, seules les opérations décomposables sont décomposées, et cette décomposition s‟arrête lorsqu‟on arrive à un niveau constitué uniquement d‟opérations de base et d‟opérations élémentaires (figure 29). Cette approche évite à l‟apprenant de se noyer dans les détails dès le départ et diminue graduellement la complexité du problème abordé. En plus, l‟apprenant peut librement exprimer sa solution, sans aucune influence ou restriction, ce qui favorise l‟autonomie. Notre objectif, par cette approche, est d‟évaluer des solutions algorithmiques. Cependant, la retombée essentielle est l‟apprentissage par l‟apprenant de la décomposition. En effet, celle-ci est un passage obligé pour l‟apprenant dans la formulation de sa solution.
Une méthode basée sur l’appariement structurel
L‟appariement structurel détecte les correspondances en fonction de la structure des graphes. Anchor-PROMPT est une des premières méthodes d‟appariement structurel utilisée pour aligner des ontologies du web sémantique, Noy et Musen (2001). Cette méthode prend en entrée un ensemble d‟ancres (des correspondances exactes entre deux classes) et retourne un nouvel ensemble de correspondances entre classes. Cette méthode considère l‟ontologie comme un graphe dans lequel les classes sont des nœuds du graphe et les propriétés des classes sont des arcs. Cette méthode analyse les chemins de même longueur entre deux ancres. Deux nœuds de deux chemins qui apparaissent dans la même position obtiennent un score non nul. Le score entre ces deux nœuds augmentera s‟ils apparaissent à la même position dans deux autres chemins. Enfin, les correspondances obtenues en sortie sont les couples de classes ayant un score élevé. Cette méthode ne prend pas en compte l‟étiquette des arcs (le nom des propriétés) entre les nœuds.
Comment évaluer l’organigramme de l’apprenant ?
La figure ci-dessus représente une architecture fonctionnelle de la méthode proposée. Elle est composée principalement de trois composants essentiels : le générateur de descripteurs, le filtrage et le processus d‟appariement (Aiouni et al. 2016). Chapitre III : Evaluation des organigrammes des apprenants en algorithmique 61 IV.1. Généralités sur l’appariement Avant de définir les différents problèmes et les techniques d‟appariement classiques, il convient de préciser le sens du terme appariement (matching ou match). Le terme appariement prête à confusion car il peut être aussi bien un processus (ou une tâche) que le résultat de ce même processus. Les définitions de l‟appariement varient sensiblement en fonction de ce facteur mais également en fonction de la nature des données à apparier, du domaine, du contexte d‟application et de la présentation des résultats. Nous donnons ici quelques définitions que nous avons rencontrées au cours de nos lectures relatives au problème d‟appariement et nous caractérisons le problème d‟appariement de modèles. Figure N° 30: Processus du modèle d’évaluation proposé2 L‟appariement de formes ou de motifs (pattern matching) est la mise en correspondance de formes selon un ensemble prédéfini de règles ou de critères. L‟appariement de formes se ramène à un problème de filtrage. Dans un programme informatique, le filtrage par motif (une autre traduction de pattern matching) est le fait de vérifier la présence des constituants d‟un motif donné. À la différence de la reconnaissance de formes (pattern recognition), les motifs sont spécifiés rigidement et concernent conventionnellement des séquences ou des arbres. Le filtrage par motif est utilisé pour vérifier qu‟un objet filtré a une structure désirée, pour trouver une structure appropriée, pour retrouver des parties alignées ou pour substituer les motifs reconnus par quelque chose d‟autre. Dans le cadre des ontologies, l‟appariement (ontologymatching) est le processus de découverte des relations (ou correspondances) entre les entités de différentes ontologies (Euzenat&Shvaiko, 2007). Le terme alignement est employé plus communément dans le contexte des ontologies. L‟alignement d‟ontologies met en évidence les relations sémantiques de plusieurs ontologies à confronter (équivalence, subsomption, incompatibilité, etc.). L‟expression des correspondances, appelée aussi alignement, peut par la suite être utilisée par exemple pour fusionner les ontologies, migrer des données entre ontologies ou traduire des requêtes formulées en fonction d‟une ontologie vers une autre (DjoufakKengue et al., 2008). L‟appariement de schémas (schemamatching) consiste à trouver les correspondances sémantiques (i.e. appariements) entre deux schémas (Do et Rahm, 2007). L‟appariement peut être considéré comme une opération ou un opérateur (match) qui prend deux schémas en entrée et produit un mapping entre les éléments des deux schémas correspondant sémantiquement les uns aux autres (Rahm et Bernstein, 2001).