Thèse soutenue

Assistance à l’apprentissage de l’algorithmique : méthode et outil pour l’évaluation et la rétroaction

FR  |  
EN
Auteur / Autrice : Souleiman Ali Houssein
Direction : Yvan Peter
Type : Thèse de doctorat
Discipline(s) : Informatique et applications
Date : Soutenance le 12/09/2019
Etablissement(s) : Université de Lille (2018-2021)
Ecole(s) doctorale(s) : École doctorale Sciences pour l'ingénieur (Lille)
Partenaire(s) de recherche : Laboratoire : Centre de Recherche en Informatique, Signal et Automatique de Lille

Résumé

FR  |  
EN

La maîtrise des concepts fondamentaux de la programmation et la capacité à réaliser des programmes simples sont les objectifs essentiels de l’enseignement dans les cours d’introduction à l’informatique. L’enseignement et l’apprentissage de la programmation sont considérés complexes, ce qui explique le taux d’abandon important de ces filières, largement documenté dans la littérature. De nombreux travaux proposent des environnements d’apprentissage de la programmation assistant les apprenants dans la maîtrise de la syntaxe et de la sémantique des langages de programmation. Toutefois, parmi les causes d’échecs, la littérature identifie un manque de capacité à décomposer et formaliser un problème sous forme d’algorithme.Dans le cadre de cette thèse, nous nous intéressons à la phase d’analyse et de mise en solution algorithmique. Cette phase a pour rôle de faire acquérir à l’apprenant une démarche de résolution de problème et de formalisation de la solution. Dans cette phase l’apprenant décrit ou structure sa solution algorithmique à l’aide d’une notation formelle (pseudo-code) indépendant de tout langage de programmation.L’étude de la littérature indique que l’amélioration de la capacité de résolution de problème passe par la pratique. Dans le cadre de la programmation pour les novices, il est nécessaire de faire de nombreux exercices (résolution de problème) avec des niveaux de difficulté croissante. Il est par ailleurs nécessaire de fournir une rétroaction en rapport avec les erreurs commises par les apprenants.Dans cet objectif nous proposons AlgoInit, un environnement Web pour l’apprentissage de l’algorithmique. En nous basant sur l’étude de la littérature, nous avons défini :- Une modélisation basée sur la taxonomie de Bloom pour définir le niveau cognitif des exercices proposés ;- Une approche d’évaluation basée sur la comparaison de la solution apprenant à une solution modèle. Pour comparer les solutions (apprenant et modèles) décrites en pseudo-code, nous passons par une étape de transformation des solutions en des arbres étiquetés construits à partir d’une base de règle ;- Des règles pour fournir rétroaction et exercices progressifs en fonction du résultat de l’évaluation de la solution de l’apprenant.Afin d’évaluer la potentialité de notre prototype, nous avons mené deux expérimentations à l’université de Djibouti. La première expérimentation a été consacrée à l’évaluation de la capacité de notre prototype à reconnaître les différentes solutions algorithmiques. Quant à la deuxième, elle a été consacrée à l’évaluation de l’intérêt pédagogique d’AlgoInit. Ces expérimentations ont montré des résultats probants sur la capacité d’AlgoInit de classer les solutions (correctes et incorrectes) et de fournir des rétroactions utiles. Les résultats indiquent également que notre système à une influence significative sur la capacité de résolution de problèmes des étudiants.