EFFETS, SUR L’ACQUISITION DES HABILETÉS DE
PROGRAMMATION, DE LA SYMBOLISATION DES RÈGLES ET DE L’ENSEIGNEMENT TUTORIEL.
JALILY DIONNE
Mémoire présenté pour l’obtention du grade
de maître es arts (M.A.)
ÉCOLE DES GRADUÉS UNIVERSITÉ LAVAL
AVRIL 1990
Avant propos
Ce mémoire a été dirigé par Monsieur Jacques Rhéaume, professeur à la Faculté des sciences de l’éducation de l’Université Laval. Je désire le remercier pour son assistance ainsi que sa grande disponibilité.
Lorsqu’il est question de programmation informatique, il est d'usage de schématiser les étapes permettant la résolution d'un problème. Cette étude a permis de vérifier si la symbolisation des concepts et des règles a un effet sur l'acquisition et la rétention des habiletés de programmation linéaire. En d'autres termes, nous avons vérifié si l'usage d'un ordinogramme (représentation graphique du déroulement d’un programme) a un effet sur l'apprentissage des règles informatiques.
Par la même occasion, nous avons observé les influences de l’enseignement tutoriel sur la motivation des apprenants ainsi que sur la rétention des habiletés visées. L’expérimentation a eu lieu auprès des étudiants du cours Initiation à
Table des matières
Avant propos Résumé...
iv Table des matières
Liste des tableaux... vii
Liste des figures...viii
Introduction 1 CHAPITRE I Problématique 1.1 Origine du sujet...3
1.1.1 Programmation: motivation etacquisition...5
1.1.2 Programmation: rétention... 6
1.2. Cadrede la recherche...8
1.2.1 Définition du problème...8
1.2.2 Limite de la recherche...11
CHAPITRE 11 Fondements théoriques...12
2.1 Pensée formelle... 12
2.1.1 Habiletés de programmation...15
2.1.2 Habiletés intellectuelles...1 8 2.1.3 Techniques de résolution de problème...19
2.1.4 Ordinogramme...21
2.2 Enseignement assisté par ordinateur... 27
CHAPITRE III Revue de la documentation... 29
3.1 Objectifs visés...29
3.2 Stratégies d’enseignement...30
3.3 Comportements des étudiants...31
4.1 Tutoriels...34
4.2 Prétest...37
4.3 Questionnaires... 39
4.4 Exercices...39
4.5 Post-test et examen final... 39
CHAPITRE V Déroulement de l’expérimentation... 40
5.1 Schéma expérimental...40
CHAPITRE VI Présentation des résultats... 42
6.1 Rétention des habiletés...42
6.1.1 Performances obtenues au test final...42
6.1.1.1 Résolution de problèmes ...43
6.1.1.2 Habiletés intellectuelles...45
6.1.2 Effet de l'ordinogramme (groupe expérimental)...47
6.1.2.1 Performances obtenues au prétest... 47
6.1.2.2 Performances obtenues au test final... 48
6.1.3 Effet de l'enseignement tutoriel (groupe expérimental et témoin)...50
6.2 Évaluation des hypothèses...52
6.2.1 Performance: "niveau de familiarisation avec l'ordinateur''...52
6.2.1.1 Groupe expérimental...52
6.2.1.1.1 Prétest... 52
6.2.1.1.2 Test final... 53
6.2.1.2 Groupe témoin...54
6.2.1.2.1 Test final...54
6.2.2 Performance: "facilité d’accès à un ordinateur"...55
6.2.2.1 Groupe expérimental...55
6.2.2.1.1 Regroupement des prétests... 55
6.2.2.1.2 Test final...56
6.2.2.2 Groupe témoin...56
6.2.2.2.1 Test final... 56
6.2.3 Performance: "méthodes de travail"...57
6.2.4 Performance: "fréquence de résolution de problème"... 59 6.2.4.1 Groupe expérimental...60 6.2.4.2 Groupe témoin...61 Conclusion...62 Bibliographie...63 Annexe A Pré-recherche... 66 Annexe B Tutoriel 1...77 Annexe C Tutoriel 2... 88
Annexe D Sous-programmes standards... 105
Annexe E Tutoriel 3...111
Annexe F Test final...136
Liste des tableaux
Tableau 1. Évaluation de la boucle... 7
Tableau 2. Performance résolution de problème...43
Tableau 3. Performance résolution de problème/distribution gr.1...44
Tableau 4. Performance résolution de problème/distribution gr.2...44
Tableau 5. Performance habiletés intellectuelles...45
Tableau 6. Performance habiletés intellectuelles/distribution gr.1...46
Tableau 7. Performance habiletés intellectuelles/distribution gr.2...46
Tableau 8 Performance prétest...47
Tableau 9. Performance prétest/distribution... 49
Tableau 10. Performance tutoriel 3 (prétest, post-test)...50
Tableau 11. Performance prétest et post-test/algorithme... 51
Tableau 12. Performance prétest et post-test/ordinogramme...51
Tableau 13. Prétests vs distribution et utilisation de l'ordinateur... 53
Tableau 14. Test final vs distribution et utilisation de l'ordinateur gr.1... 53
Tableau 15. Test final vs distribution et utilisation de l'ordinateur gr.2... 54
Tableau 16. Prétests vs distribution et accessibilité à l'ordinateur...55
Tableau 17. Test final vs distribution et accessibilité à l'ordinateur gr.1... 56
Tableau 18. Test final vs distribution et accessibilité à l'ordinateur gr.2...56
Tableau 19. Test final question 1 vs méthode de travail gr.1...57
Tableau 20. Résolution de problèmes vs méthode de travail gr.1...58
Tableau 21. Performance question 1 vs méthode de travail gr.2... 58
Tableau 22. Résolution de problèmes vs méthode de travail gr.2... 59
Tableau 23. Prétest vs fréquence de résolution de problèmes...60
Tableau 24. Test final vs fréquence de résolution de problèmes gr.1... 60
Liste des figures
Figure 1. Encodage (stimulus-réponse)...15
Figure 2. Symboles utilisés pour tracer l’ordinogramme... 24
Figure 3. Association symbolique...26
Figure 4. Hiérarchie d’apprentissage, tutoriel 2...36
Figure 5. Extrait du scénario, tutoriel 2...38
INTRODUCTION
Depuis plusieurs années maintenant, l’ordinateur a fait son entrée dans les facultés d’éducation. On l’utilise comme outil de gestion, comme moyen d'enseignement ou encore comme élément d'apprentissage. Pour faciliter l'utilisation de ce nouvel outil, un bon nombre de cours ont été développés. Cependant avec le changement rapide des technologies ainsi que des nombreuses améliorations des logiciels d'applications, des modifications constantes sont apportées à ces cours.
De façon générale, les premiers cours d'initiation à l'ordinateur étaient centrés sur l'enseignement des langages de programmation. Bien que cette approche ne faisait pas l'unanimité, les alternatives étaient restreintes puisqu'à l'époque, les logiciels d'application étaient peu répandus et plutôt limités. Plusieurs débutants ont donc été initiés à l'ordinateur par l'apprentissage de notions de programmation linéaire (langage Basic) ou procédurale (langage Logo ou Pascal). Malheureusement, cette pratique pédagogique a eu pour effet d'amplifier le préjugé voulant qu'il soit très difficile d'utiliser un ordinateur. Ainsi, au fur et à mesure que la qualité des logiciels d'application augmentait, on préférait les utiliser pour initier les débutants. Cette tendance se généralisa rapidement et remet en cause la pertinence des cours de programmation.
En quoi l'activité de programmation se distingue-t-elle des autres types d’utilisation de l'ordinateur? Comment enseigne-t-on à programmer? Que retient-on de la programmation? Est-il important d'apprendre à
d'analyser ce domaine.
Cette recherche, nous permet d’étudier certains aspects cognitifs de la programmation informatique ainsi que leurs effets sur la motivation des futurs enseignants. Plus spécifiquement, elle évaluera l’influence des méthodes et stratégies d’enseignement lorsqu’il s’agit d’un premier cours de programmation informatique.
Notre intervention sera orientée vers le développement systématique d’une leçon individualisée par ordinateur. Cette leçon est basée sur la taxonomie de Gagné. Son originalité vient du fait qu’il sera question d’utiliser l’ordinateur comme moyen d’enseignement et comme objet même de l’apprentissage.
Au chapitre premier, nous décrirons la problématique de cette recherche. Par la suite, il sera question des fondements théoriques. Le chapitre trois portera, pour sa part, sur la revue sélective des écrits. Suivront, la présentation des produits pédagogiques utilisés, le déroulement de l'expérimentation, la présentation des résultats et la conclusion.
CHAPITRE I PROBLÉMATIQUE
1.1 Origine du sujet
Ce sont les résultats d’une analyse des besoins menée à la session d'hiver 19861, auprès de la clientèle d'un cours d'initiation à l'ordinateur2, qui a tout d’abord attiré notre attention. Essentiellement, cette analyse identifiait des malaises quant aux objectifs visés, aux acquisitions effectuées mais aussi face aux méthodes d'enseignement utilisées. De façon générale, les participants avaient de la difficulté à comprendre pour quelles raisons le cours était principalement axé sur des notions de programmation informatique.
1 Analyse menée dans le cadre du cours Approche systémique et analyse de besoins donné au département de technologie de l’enseignement.
2 Cours d'initiation à l'ordinateur et aux A.P.O. donné au département de technologie de l’enseignement en 1986.
A la lecture de ces résultats, nous nous sommes posés plusieurs questions. La nature de nos interrogations relevait autant du domaine cognitif que du domaine affectif. Cependant, vu l'imprécision des sources d'information, il nous était difficile de formuler des réponses adéquates et par conséquent de définir un problème de recherche. Était-il question d'un problème de motivation, d’acquisition, d'évaluation, de performance ou de méthode d'enseignement?
Pour mieux cerner les différents types de problèmes rencontrés, nous avons décidé d'interroger à nouveau la clientèle cible. Cette pré recherche allait nous permettre de recueillir les informations qui pourraient nous aider à préciser et à justifier notre recherche.
De façon à obtenir tous les renseignements désirés, nous avons effectué deux types de cueillettes. En premier lieu, nous avons, par le biais d’un questionnaire3, interrogé les étudiants en situation d'apprentissage. En second lieu, nous avons analysé la banque des examens4 conservés lors des sessions antérieures.
3 Voir questionnaire: "Profil type de la clientèle" en annexe A 4 La compilation des résultats se trouve en annexe A
Le questionnaire "Profil type de la clientèle" était conçu de telle sorte qu’il nous permettait d’obtenir les informations concernant la perception des participants face au contenu du cours, leurs méthodes de travail, leurs niveaux de connaissance et leur habiletés en programmation informatique. Quatre-vingt-quinze (95) questionnaires furent administrés.
L’analyse des examens antérieurs, pour sa part, fut axée principalement sur l’observation systématique des certaines règles de programmation telles l’incrément, l’affectation de variables et l’interaction. Cette dernière analyse nous permettait de mieux évaluer le niveau de rétention des habiletés enseignées. Plus de 300 examens ont été évalués.
Les deux sections qui suivent sont le résumé des résultats obtenus pour cette pré-recherche. Il est important de mentionner que la clientèle du cours regroupe des enseignants en exercice, des futurs enseignants ou des individus intéressés au secteur des applications pédagogiques de l’ordinateur (A.P.O.) Ce cours est obligatoire pour la poursuite du programme et est ouvert à d’autres facultés.
1.1.1 Programmation: motivation et acquisition5
5 Ceuillette des informations: automne 1987 Motivation
Bien que l'étudiant qui s'inscrit au cours a très peu utilisé l'ordinateur, les logiciels d'application (traitement de texte, chiffrier électronique, base de données etc.) ne lui sont pas complètement inconnus. Cependant, il s'agit pour lui d'un premier contact avec la programmation informatique.
Son inscription au cours est conditionnée par le désir de réutiliser les notions dans son milieu de travail. Malheureusement, après le cours, ses attentes ne sont pas complètement satisfaites puisqu’il ne croit pas pouvoir le faire. Les méthodes d'enseignement n'ont pas tout à fait répondu à ses attentes et il ne se sent pas à l’aise avec les concepts liés à la micro-informatique.
En général, il aurait aimé avoir plus de périodes de laboratoire en présence de l'animateur du cours et il aurait apprécié pouvoir utiliser la période de correction des exercices pour poser des questions. Notre candidat croit que la programmation pourraît mieux s’enseigner si l’on utilisait un didacticiel. Plus encore, il aurait apprécié se familiariser avec l’outil grâce à l’utilisation de simulations informatisées.
lectures dirigées, essais sur ordinateur, programmation, rédaction de l'algorithme et finalementtracé de l'ordinogramme.
Malgré qu'il ne maîtrise pas tout à fait les concepts liés à l'algorithme et à l'ordinogramme, il admet l'importance d'une bonne utilisation de ces méthodes de résolution de problème.
Acquisition
Tous les candidats interrogés dans cette cueillette préparatoire ont bien répondu aux questions portant sur la lecture de l'algorithme et de l’ordinogramme. Il sont en mesure de:
- décrire une instruction,
- suivre le déroulement d'un programme, - d'identifier des variables,
- d’identifier le résultat d'une transformation de variable.
1.1.2 Programmation: rétention6
6 Ceuillette des informations: hiver, printemps été et automne 1987
Les examens que nous avons évalués ont été administrés durant l'année (soit 4 sessions) précédant notre recherche. Il en ressort que plus de la moitié des candidats ont effectué des erreurs lors du test final et ce, malgré que des problèmes similaires aient été solutionnés et parfaitement réussis en situation d'exercices.
De façon à catégoriser certaines faiblesses au niveau de la compréhension des objectifs visés, nous avons identifié les erreurs les
plus courantes. Puisque le nombre de questionnaires à évaluer était très élevé, nous avons analysé un seul élément. Notre choix s'est arrêté sur "la boucle". A notre avis, cette règle d'ordre supérieur, regroupait le plus de concepts tels l’affichage, l'attente au clavier, l'affectation de variable et le branchement conditionnel.
La majorité des étudiants (53,4%) ont eu de la difficulté à tracer l'ordinogramme demandé. Ils avaient des problèmes à représenter les concepts appris par des symboles géométriques. Des faiblesses majeures ont aussi été décelées dans l'analyse procédurière du problème (rédaction de l’algorithme). Nous avons relevé 3 catégories d'erreurs:
Mal formée et mal placée 39,8%
Simulée7 14,7%
Mal simulée 6,2%
7 L’expression simulée signifie que le résultat proposé par l’étudiant n’occasionnera pas de problèmes lors du déroulement du programme mais que son processus ne respecte pas les règles enseignées.
Tableaul. Évaluation de la boucle
Ensemble des erreurs 68,4% Regroupements
des erreurs (- simulation) 53,4%
Jugeant inacceptables ces résultats, nous croyons qu’il est important d'adopter une approche qui faciliterait l'acquisition des méthodes algorithmiques de résolution de problèmes.
Dans les pages qui suivent, nous décrirons les limites de notre recherche. Cette section a pour objet de préciser la problématique de notre recherche. Nous présenterons aussi les énoncés des problèmes suivis des questions, des hypothèses et finalement des variables à considérer.
1.2. Cadre de la recherche
Les résultats de notre pré-recherche démontrent clairement que les étudiants en situation de contrôle ont des difficultés à reproduire les habiletés apprises. Ils préfèrent programmer par essais et erreurs plutôt que de rédiger un algorithme et tracer un ordinogramme. Ainsi, il nous est possible de croire que les problèmes qu'ils rencontrent sont provoqués non pas par des objectifs trop élevés ou un manque de motivation mais bien par l’utilisation de stratégies d’enseignement inadéquates.
Pour arriver à accroître le niveau de rétention, il est important de centrer notre intervention sur les techniques destinées à simplifier la codification d’un programme. Nous croyons que, de par ces particularités interactives et visuelles, l’utilisation de l'ordinateur pour transmettre une certaine partie d'information faciliterait la compréhension des algorithmes ainsi que des ordinogrammes et par le fait même celle des règles de programmation.
Nous avons limité notre enquête à l'apprentissage de l'ordinogramme.
En fait, nous tenterons de vérifier les effets de l’apprentissage d'un ordinogramme sur l'acquisiton des habiletés de programmation. Par la même occasion, nous observerons si l'enseignement tutoriel peut être une méthode d’enseignement stimulante lorsqu’il est question d’acquisition d’habiletés intellectuelles telles que décrites par Gagné.
Pour nous permettre de bien cerner l'ensemble des éléments constituant notre domaine d'activité, nous avons formulé notre question générale.
Question
La symbolisation des concepts et des règles favorisent-elles l'acquisition des règles d'ordre supérieur?
Suite à cette question nous avons considéré que le profil type de la clientèle visée devrait faire l'objet d’une attention particulière. Ainsi, pour obtenir une plus grande fiabilité des résultats, nous avons rédigé quatre sous-questions de recherche:
Sous-questions
Numéro 1: L'acquisition des règles d'ordre supérieur est-elle fonction du degré de familiarisation avec l'appareil?
Numéro 2: L’acquisition des règles d'ordre supérieur est-elle fonction de l'utilisation d'un appareil soit à la maison ou au travail?
Numéro 3: L'acquisition des règles d'ordre supérieur est-elle fonction de la méthode de travail des étudiants?
Numéro 4: L'acquisition des règles d'ordre supérieur est-elle fonction de la fréquence des problèmes résolus?
Compte tenu de tous les éléments qui précèdent nous allons donc tenter de confirmer les hypothèses suivantes:
Hypothèses
Numéro 1: L'acquisition des règles d’ordre supérieur sera accrue si l'apprenant a déjà eu un contact avec l’appareil.
Numéro 2: L’acquisition des règles d’ordre supérieur sera différente si l'apprenant possède un appareil à la maison ou encore au travail.
Numéro 3: L’acquisition des règles d’ordre supérieur sera plus constante chez les étudiants qui suivent la méthode de travailsuivante:
lectures guidées, essais sur ordinateur, rédaction de l'algorithme, tracé de
l'ordinogramme et rédaction en langage BASIC.
Numéro 4: L’acquisition des règles d’ordre supérieur sera plus marquée pour les étudiants qui ont souvent à résoudre desproblèmes.
Variables
De façon générale (pour les quatre hypothèses), on compte parmi les variables manipulables (antécédentes) l'enseignement tutoriel, la symbolisation des concepts, la familiarisation avec l'appareil, la possession d'un ordinateur, la méthode de travail et finalement la somme des problèmes résolus. Un seul élément s'identifie à la variable non-manipulable (conséquente). Il s'agit de l'acquisition des règles d'ordre supérieur.
1.2.2 Limite de la recherche
Tout au cours de notre recherche, nous ne tenterons pas d’établir les avantages cognitifs de l'apprentissage d'un langage de programmation. Il ne sera pas question non plus d'évaluer les forces et faiblesses des langages de programmation dans un but de comparaison. Notre travail se centrera plutôt sur l'observation de mode d'intervention dans le but de faciliter l'acquisition d'habiletés de programmation.
CHAPITRE II FONDEMENTS THÉORIQUES
2.1 Pensée formelle
Suite à notre pré-recherche, nous avons pu remarquer que la clientèle adulte, malgré qu’elle soit apte à résoudre des problèmes, n’a pas nécessairement, d'une part, le réflexe de structurer ou d'organiser les étapes à respecter afin d'obtenir la résolution d'un problème et d'autre part, la capacité de systématiser un processus. L’on sait aussi que toutes les situations qui impliquent un problème à résoudre font inévitablement référence à une démarche intellectuelle de haut niveau. Par conséquent, nous nous sommes surtout intéressés à saisir les processus qu'il soit question d’habiletés intellectuelles ou de stratégies cognitives, liés au stade de développement des opérations formelles.
Il est question de pensée formelle lorsque les capacités suivantes sont stimulées:
“ - aborder un problème de façon systématique,
- engendrer des hypothèses de solutions possibles, - évaluer ces hypothèses par les moyens appropriés, - les appliquer selon une stratégie planifiée d'avance,
- découvrir des relations de cause à effet dans une situation donnée.” (Groupe démarche,1986)
De plus, l'on sait que pour bien fonctionner, la pensée requiert l’aptitude à simuler mentalement des scénarios complets, à inventer de nouvelles hypothèses et à les manipuler symboliquement (Lindsay et Norman, 1980). Cette aptitude sera exploitée en autant que les structures
intellectuelles ont été élaborées préalablement par celui qui apprend. Mais pour que la construction et la consolidation de ces schémas puissent se faire, il est essentiel de placer les individus dans des contextes favorisant ce type de développement.
Malheureusement ..."notre culture est relativement pauvre en modèle de procédure systématique" (Papert, 1981)
La programmation informatique propose un environnement centré sur la modélisation de processus systématique. En fait, nous sommes d’avis qu'elle stimule l’individu de telle sorte qu’il met en place des structures agissant sur son mode de pensée.
"Les modèles informatiques semblaient en mesure de donner forme concrète à des domaines de la connaissance qui avaient toujours paru, jusqu'alors, irrémédiablement intangibles et abstraits." (Papert, 1981 )
C'est par ses possibilités interactives (apparition d’un message d'erreur), la visualisation des concepts et des règles (tracé de l’ordinogramme) ainsi que la structure générale (spécificité au niveau des instructions et vision de l'ensemble du processus) que la programmation se distingue. De fait, nous croyons qu'à toutes les fois que l’étudiant fait exécuter une instruction à l'ordinateur il peut, s’il sait interpréter le message que lui retourne l'appareil, progresser de façon autonome. Dans ces conditions, l'apparition ou non d'un message d'erreur servira de feedback tout en stimulant et influençant l'apprenant à poursuivre son programme.
"dans le courant cognitiviste contemporain, le feedback est une information traitée par l'étudiant qui lui permet de s'informer sur la précision de son comportement, ou de se motiver à poursuivre son apprentissage, ou les deux. Pour les cognitivistes, le feedback n’a pas en soi une fonction d'information ou de motivation; c'est plutôt le traitement cognitif que l'étudiant en fait qui donne au feedback sa valeur informationnelle ou motivationnelle".
Ainsi, s’il devient plus habile, en plus d'interpréter les messages d'erreurs correctement, il développera des automatismes lui permettant d'effectuer mentalement les algorithmes solutionnant son problème.
A notre avis, la programmation est une expérience qui apporte l'ensemble des matériaux nécessaires au développement de la pensée formelle. En fait, on pourrait difficilement retrouver les mêmes possibilités dans une autre activité puisque cet environnement comporte différentes sources de stimuli tout aussi importantes les unes que les autres. De plus, nous croyons qu'une combinaison de stimuli peut modifier un comportement. Bien entendu cette combinaison doit à la fois guider l'apprenant mais aussi lui laisser l'opportunité de construire ses propres stratégies.
Dans notre situation, plusieurs sources de stimulation influencent l'apprenant: lectures, aide des pairs, interaction avec l'ordinateur etc. Puisqu'il nous est impossible d'isoler chacun des stimuli ou encore de déterminer leur poids relatif, nous nous sommes intéressés, pour élaborer notre plan d'intervention, à la théorie du behavioriste Edwin Ray Guthrie (Dubé, 1986)
Il est intéressant d’observer la parenté de cette théorie et le contexte d’apprentissage lié à la programmation informatique.
Figure 1. Encodage (stimuli-réponse)
Guthrie voit l'apprentissage sous l’angle de l’adaptation du comportement résultant de plusieurs stimuli pas toujours identifiables mais pouvant tous avoir une influence sur la réponse (Dubé,1986). C'est le concept de contiguïté à la base de sa théorie qui s’apparente à notre mode d'intervention. La contiguïté étant un type d’association qui lie ensemble des suites de stimuli sous formes de règles et de principes directeurs.
2.1.1 Habiletés de programmation
Selon ['Encyclopédie Universalis (1975), la programmation est la rédaction de la description de l'algorithme dans une langue telle que l’on puisse déterminer sans ambiguïté la nature des traitements à
grammaire d'une telle langue artificielle doit être extrêmement précise et contraignante.
..."programmer consiste à donner des savoir-faire à un ordinateur à l'aide d’un bagage qu'il peut traduire en action modifiant son état" (Arcouet et Cloutier, 1988).
Les auteurs poursuivent en disant que programmer implique donc un transfert de connaissances opératoires du programmeur à l'ordinateur. Avec cette définition, entrer des données dans une base, entrer des valeurs dans un chiffrier ou dessiner des pages-écrans ne sont pas de
la programmation.
Compte tenu de ce qui précède, la programmation s'adresserait donc au développement des habiletés de résolution de problèmes (savoir-faire, connaissance opératoire, ou encore habiletés mathématiques de résolution de problèmes).
Mais avant d'associer la programmation spécifiquement au développement de stratégies de résolution de problèmes, il importe de bien observer les méthodes d'enseignement utilisées pour la maîtrise des habiletés de programmation. En fait, pour qu’il soit question de réso lution de problème, il faut nécessairement créer un contexte favorisant l'utilisation de stratégies cognitives. Cependant, reproduire des exemples (comme c'est souvent le cas dans les cours de débutants), copier des programmes et observer leur exécution ne représentent pas, à notre avis, un environnement de résolution de problème. Avant de
problème mais aussi celui de la résolution d’un problème.
“Un problème se définit par un état de départ (ou état initial), un (des) état(s) satisfaisant(s) au but à atteindre (pour simplifier, nous parlerons d'un état final), un ensemble d'opérations de transformations avec des contraintes d’applications.
La résolution d'un problème est considérée comme un cheminement, dans un espace de tous les états possibles qu'on peut générer par l'application des opérations en respectant les contraintes, reliant état initial et état final” (A. Nguyen-Xuan, 1987).
Dans le cas où l'ensemble des possibilités ou des solutions a été proposé et que seules les limites du problème changent, s’agit-il toujours de résolution de problèmes? Il est bien difficile de répondre de façon affirmative à cette question mais prenons comme exemple l'étude des examens antérieurs. Nous avons constaté qu'un très fort pourcentage d'étudiants ont connu des difficultés à répondre aux exigences de la question posée. Cependant, les énoncés de problème étaient tous similaires aux exercices effectués durant le cours et comportaient même une difficulté moindre que le dernier exercice. Puisqu'il s'agissait de notions vues et mises en pratique, l'application d'une règle devenait donc la seule demande cognitive.
Ainsi, dans le cas de ces examens, étions-nous toujours en situation de résolution de problème (stratégies cognitives) ou était-il plutôt question de reproduction algorithmique (habiletés intellectuelles)? Devant ces interrogations, les auteurs partagent des opinions diverses. Des études récentes concernant la programmation informatique démontrent qu'il est
programmation et le développement cognitif de l'étudiant
"We need to ask more spécifie questions about the nature and process of programming instruction, the cognitive process in- volved in learning programming, and the academie and cognitive domains to be considered in looking for both near and far transfer effects.” (Pintrich, Berger et Stemmer 1987)
On pourrait donc se demander lorsqu'il s'agit de l'apprentissage d'un premier langage de programmation informatique, si la plupart des difficultés rencontrées ne se retrouveraient pas plutôt au niveau de la maîtrise des pré-requis qui permettent l'atteinte d'une nouvelle capacité soit l'acquisition des concepts et des règles qu'à celles liées aux stratégies de résolution de problème.
Le contexte dans lequel se déroule notre recherche nous porte à croire que les objectifs visés, couplés aux méthodes d'enseignement, développent principalement des savoir-faire algorithmiques et que les difficultés rencontrées sont effectivement associées à la maîtrise des concepts de programmation.
2.1.2 Habiletés intellectuelles
Nous situons notre recherche au niveau des capacités de type ha biletés intellectuelles telles que décrites par Gagné et non au niveau des stratégies de résolution de problèmes.
La raison de notre décision est fort simple. De manière générale, l'on sait que le développement d'heuristiques est un processus qui fait appel
à un savoir-faire qui de par sa nature dépasse largement les possibilités d'observations et de systématisation. Dans ces conditions, il fallait nous assurer d’une plus grande fiabilité des variables à manipuler lors de l'expérimentation (il est très difficile de systématiser une stratégie) et d’autre part, le niveau de développement visé se limitait à l’application de formule. A notre avis, les problèmes donnés aux étudiants en cours d’apprentissage se résolvent beaucoup plus par reproduction des règles d'ordre supérieur que par l'élaboration de stratégies particulières. Pour bien respecter la taxonomie choisie, il est important de décrire à quoi l'auteur réfère lorsqu'il définit les habiletés intellectuelles.
Les habiletés intellectuelles sont fondamentalement constituées d'opérations mentales à exécuter (Brien, 1981). Cette catégorie se divise en trois sous-catégories soit les concepts, les règles et les règles d'ordre supérieur. C'est principalement à l’acquisition des règles et des règles supérieures que nous nous intéresserons. Une règle est une procédure constituée de concepts et d'opérations qui permet de transformer une situation A en une situation desirée B. Tandis que la règle d’ordre supérieur se définit comme étant une capacité constituée d'un ensemble de règles qui permet de transformer une situation A en une situation B, ou d’associer une situation B en une situation A (Brien, 1981).
2.1.3 Techniques de résolution de problème
L’enseignement de la résolution d'un problème est généralement effectué à l’aide d’exemples, d'analogies ou d'exécution de programmes similaires. En fait, quelle que soit la méthode d'enseignement utilisée,
elle devrait permettre aux participants d’élaborer plus rapidement une stratégie de résolution de problème. Pour choisir la meilleure méthode en fonction des habiletés visées, certains auteurs proposent que ces méthodes soient elles-mêmes constituées d’éléments qui agiront sur les apprentissages. Viau (1988b) distingue, pour sa part, méthode et technique d'enseignement. De fait, il écrit que ce ne sont pas en soi les méthodes d'enseignement qui influencent l'apprentissage mais bien les éléments qui composent ces méthodes, c'est-à-dire les techniques d'enseignement.
Une technique d'enseignement est une représentation externe d’un processus cognitif que l'étudiant effectue durant un apprentissage. Il existe plusieurs techniques d’enseignement, les plus fréquentes étant le rappel, le structurant, la question, l’exemple, le contre-exemple, l’analogie, le feed-back, etc. (Viau,1988b).
Ce qui est important à retenir du concept "technique d'enseignement", c’est surtout la place laissée aux processus cognitifs spécifiques à chacun des apprenants malgré que la méthode soit administrée pour un groupe. Dans cette optique, lorsqu’il est question de méthodes de programmation, la nature et les liens des exemples auront un effet différent sur la rétention des apprenants.
Mais la plus grande difficulté, lorsqu'il s'agit de la résolution d'un problème, c'est la représentation du problème comme tel (Nelson, 1984). Il faut donc que l'étudiant apprenne à se représenter la structure même d'un problème.
“What do students do when they program? 1) understanding the problem,
3) coding the program and,
4) debugging the program. ” (Pintrich, Berger et Stemmer 1987)
Pour enseigner ce type d'habiletés, il existe une variété de protocoles. Selon H. Stolovitch (1983), les tables de décision, les algorithmes et ordinogrammes, les programmes informatiques sont autant d'instruments utilisant soit des modèles de représentation et de
rationalisation soit des outils de quantification rapides
..."Par exemple, des algorithmes, des ordinogrammes (flow chart) et des schémas de ce type, pourraient être largement utilisés, et ce, de façon active par l'étudiant.”...
..."En fait, le formateur pourrait prévoir des exercices où les étudiants ont à traduire en terme de schémas, d'ordinogrammes, d'algorithmes, une série d'opérations (scénario) ou une suite d'activités. Cette approche s'appuie sur la logique mathématique. La rationalisation peut aussi s'apprendre. L'étudiant devrait alors être guidé à chercher les postulats, les règles, l'agencement ou la syntaxe des règles, les classes ou les catégories...
(Stolovitch, 1983)
Dans ces circonstances, on peut dire que la rédaction de l'algorithme, le tracé de l'ordinogramme, l’utilisation de pseudo-codes, les exercices dirigés sont des techniques d'enseignement qui influencent autant les unes que les autres l'acquisition d'habiletés de programmation.
CENTREDE DOCUMENTATION
BUREAU 163
FACULTÉ DES SCIENCES DE L’ÉDUCATION
2.1.4 Ordinogramme universitélaval
QUEBEC G1K7P4
Comme il est indiqué précédemment, les protocoles ou techniques d'enseignement ne sont pas que verbaux ou écrits. Ils peuvent tout aussi bien être représentés par des signes, codes ou symboles. Le graphique de résolution de problème est une technique utile qui consiste à construire une représentation visuelle de la séquence
d'opérations pendant la résolution de problème (Lindsay et Norman, 1980). Nelson (1984) écrit que la visualisation est une technique efficace pour arriver à déterminer avec justesse la demande du problème. Il poursuit en disant qu’enseigner la visualisation des habiletés aidera à trouver plus facilement la solution au problème.
La façon de représenter graphiquement les étapes de la résolution d'un problème informatique est de se servir d’un ordinogramme. Un ordino gramme est une technique visuelle qui permet d’exprimer la logique d'un algorithme. Il est généralement établi avant la rédaction d'un programme.
L'ordinogramme est le schéma d'organisation visuelle de la résolution d'un problème. Sa symbolique suggère le sens du mouvement du développement d'un problème de l’énoncé vers la solution.
Les symboles constituant un ordinogramme se divisent en trois catégories: les symboles de gestion de cheminement, de gestion d'information et de gestion de cheminement et d'information.
1- Les symboles de gestion de cheminement
- Ovale: Indique le départ et l'arrêt du déroulement du programme.
Arrêt (fin)
Départ (début)
- Flèche: Indique le sens du cheminement des informations.
Y
- Symboles annotés: Indique la liaison entre la fin d’une séquence et sa poursuite.
- Double rectangle:lndique l'utilisation d’un sous-programme.
Nom du
sous-programme
2- Les symboles de gestion d’information
- Parrallélogramme:lndique les manipulations d’entrée (au clavier) ou de sortie à l’écran liées au programme.
- Rectangle: Indique le traitement de variables numériques ou alphanumériques.
3- Les symboles de gestion de cheminement et d’information
- Losange: Représente la vérification d'une condition nécessaire à la poursuite du programme. (A noter que ce symbole est le seul à avoir une entrée et deux sorties).
- Rectangles + losanges:Représente l’automatisation d'une tâche répétitive. Ce symbole hybride sert à représenter le début de la condition, son état de croissance et son état final.
Figure 2 Symboles utilisés pour tracer l'ordinogramme
Malgré que l’utilisation de l'ordinogramme se fait en respectant des règles (forme, sens, emplacement) très précises, elles, ne sont cependant pas encore standardisées.
Tout au cours de cette recherche lorsqu'il s'agit de l’ordinogramme, on sous-entend la représentation symbolique des habiletés intellectuelles (concepts, règles et règles d'ordre supérieur) visées par l'énoncé du problème.
On sait que pour qu'il y ait apprentissage, il faut évidemment qu’il y ait eu perception du langage et des formes. En soi, la perception et la reconnaissance des formes n’est pas une activité mentale qui peut affecter les apprentissages; c'est plutôt l'interprétation de cette perception qui détermine le degré des apprentissages effectués. Par exemple, en présentant les formes géométriques suivantes:
Il est bien évident qu'il s'agit d'un cercle et d'un triangle. Aucune interprétation ne vient interférer notre traitement cérébrale. Par contre lorsqu'on superpose ces mêmes formes et qu'on place la figure sur une porte dans un lieu public, alors l'association des 2 formes liées au contexte globale de la situation et de l'environnement nous permettra de conclure qu'il s'agit de la salle de toilette pour dame.
0
A
I
Figure 3 Association symbolique
Pourtant, il est toujours question d'un simple cercle et d'un triangle. Le fait que ces formes sont relatives au concept qu'on se fait de la femme ont été appris par analogie (similitude). Que serait-il arrivé, si sur cette même porte au lieu d'avoir posé ce schéma, il aurait été inscrit en langage digital conventionnel le mot FEMME?. Les seules personnes pouvant réagir auraient probablement été les francophones.
Avec cet exemple, on admet que l’utilisation de symboles est un mode de communication qui en plus d'être plus universel permet instantanément l'association avec des concepts et des règles. Puisque l'association symbolique se fait couramment et est plus universelle que l’écrit, nous croyons que la visualisation des concepts et des règles de programmation permet d'améliorer la rapidité de résolution d'un problème informatique. En fait, si au lieu de lire des textes codifiés, on pouvait lire une suite de symboles, alors les solutions aux problèmes pourraient être plus rapidement trouvées.
2.2 Enseignement assisté par ordinateur
Notre pratique pédagogique s'inscrit dans le grand courant de l'enseignement programmé.
"l'enseignement tutoriel sur ordinateur, comme il existe de nos jours, est en fait une forme modifiée de l’enseignement programmé." (Boulet et Villeneuve, 1983).
A notre avis, pour améliorer le processus d’acquisition de connaissance en programmation informatique, il est important de respecter le rythme et le style d'apprentissage des étudiants. De plus, le fait de décortiquer en petites notions et de graduer le rythme de présentation des éléments notionnels donnera plus de temps au participant pour démystifier l’appareil.
Pour cette recherche, l'ordinateur ne fera pas seulement l'objet d'apprentissages nous l'utiliserons aussi comme moyen d’enseignement. La majorité des classifications des modes d’enseignement assistés par ordinateur comptent entre 4 et 7 catégories. Très souvent, on remarque que chacune des catégories s'associe à une compétence particulière. Nous avons aussi constaté qu'elles apparaissent de façon graduée. Nous adoptons la classification suivante:
Exercice répété
Enseignement tutoriel Jeux éducatifs
Simulation
Le mode que nous avons privilégié est l'enseignement tutoriel. On dit qu'il est question d'enseignement tutoriel lorsque l'ordinateur assume lui-même la responsabilité d’introduire les nouveaux contenus d'apprentissage aux étudiants. Cependant cette définition ne spécifie pas quelles sont les habiletés qui seraient favorisées par cette méthode d'enseignement. Selon Merkazi (1987), le mode d'enseignement tutoriel est un mode d’enseignement qui favorise chez l'apprenant l'acquisition d'informations verbales et la maîtrise d'habiletés intellectuelles. Avec cette affirmation, l’enseignement tutoriel nous apparaît comme étant la méthode qui correspond le mieux au type de recherche envisagée puisqu'elle permet au candidat de se familiariser avec l'ordinateur.
En fait, nous croyons que la prise en charge par l'ordinateur de l'identification et la détection des erreurs couplée à l'enseignement tutoriel sont deux stimuli nous permettant d'atteindre un nombre plus élevé de styles d'apprentissage. Pour la conception et la production des tutoriels nous respecterons les 6 étapes suivantes:
1- procède à un rappel des connaissances préalables, 2- présente ses objectifs,
3- illustre la matière à l'aide d'exemples,
4- stimule la demande cognitive de l'étudiant en posant des questions,
5- propose des exercices,
6- donne un feedback sur ces exercices.
Le fait d’utiliser l'ordinateur comme moyen d’enseignement nous permet de transmettre l'information de façon différente. Ainsi, des effets spéciaux tels l'utilisation de la couleur, le clignotement et l'animation seront associés aux pages-écrans.
CHAPITRE 111 REVUE DE LA DOCUMENTATION
3.1 Objectifs visés
Il est plutôt difficile de décrire la demande cognitive ou encore les capacités qui sont visées par les habiletés de programmation. Cette difficulté vient sans doute du fait que plusieurs études ont estimé les cours de programmation non pas en terme d'un contenu spécifique, mais en terme de transferts pour des résolutions de problèmes relatifs à d'autres types de contenu (Linn, Sloane et Clancy,1987). A cet effet, ces mêmes auteurs, affirment qu'il est plus important d’établir les habiletés que les étudiants devraient acquérir par la programmation que d’évaluer les transferts possibles pour d'autres matières puisque les étudiants sont loin d’être familiers avec les habiletés de programmation même après une formation (constatation qui fut démontrée lors de notre pré-recherche).
En principe, ce sont les caractéristiques logiques et systématiques de la programmation qui devraient nous permettre d'examiner les acquisitions des apprenants ainsi que les événements d'enseignement appropriés. Nos efforts ont donc été orientées sur la recherche d'études portant sur l'efficacité des techniques d'enseignement en programmation informatique. Malheureusement, très peu d'information n'a encore été publié à ces sujets. Les raisons justifiant ce manque d'information provient tout simplement du fait qu'il n'y a pas de barème établi en sciences informatiques et que ce domaine de connaissances partage presque toujours ses caractéristiques avec d'autres contenus. Cependant, comme Leurer (1986) le mentionne, apprendre Logo peut
probablement pas aider les étudiants à apprendre des stratégies de résolution de problèmes mathématiques ou autres.
3.2 Stratégies d'enseignement
Une étude portant sur les relations entre les matières qui traitent de logique, les techniques de résolution de problèmes et la programmation informatique a démontré la nécessité d’utiliser des moyens complètement indépendants au langage de programmation (utilisation d'algorithmes, d’ordinogrammes, pseudo-codes etc.) de façon à permettre la ré solution des problèmes sans qu’il y ait des connaissances préalables de la programmation informatique (Schwill, 1985). Selon ce même auteur, cette méthode d’enseignement assure une plus grande rétention à long terme des habiletés de programmation.
Il est très important de porter attention au processus "step-by-step" dans la lecture d’un algorithme puisqu’il y a certains aspects de la programmation, mais surtout de l’algorithme, qui demandent plus d'attention (Johnson et Anderson, 1985). Ceci se confirme lorsque le programme et en particulier l'algorithme incluent plusieurs difficultés de programmation tels: l’assignation des concepts, la boucle itérative et récursive ainsi que les branchements conditionnels dans la prise de décision (Johnson et Anderson, 1985). Witt (1981a), poursuit dans la même optique en écrivant que si le programme n'est pas compatible avec le procédé d'apprentissage naturel de l'étudiant et son rythme de traitement, peu importe le contenu, le déroulement du programme risque de ne pas être assimilé.
Selon Lawson, (1985) il n’y a pas de langage de programmation supérieur pas plus qu'il n'y a de classe de langage à privilégier et à utiliser dans toutes les situations de résolution de problème. En réalité, le choix du langage de programmation est probablement moins important que les habiletés de l'instructeur ou la nature du support de l’environnement de programmation (Garland, 1984).
Selon (Garland, 1984 ), un langage de programmation sera bon si:
- il est facile à apprendre et à utiliser; ainsi, l'instructeur peut passer plus de temps à enseigner les concepts que la terminologie et les règles du langage,
- il est le reflet d'importants concepts; ainsi, il est possible d'enseigner les sciences informatiques comme on enseigne un langage,
- il peut obtenir une congruence entre ce que l'on désire faire et ce qu’il peut faire; ainsi, il est plus simple de
répondre aux énoncés de problèmes,
- il possède un minimum de détails non essentiels alors on pourra s’attarder au problème plus qu'au langage.
Notre choix s'est arrêté sur le langage BASIC parce qu'il répond à tous les points ci-hauts mentionnés et qu’il s’exécute automatiquement, c'est- à-dire sans l'aide d'un compilateur.
3.3 Comportements des étudiants
Selon Pintrich, Berger et Stemmer, (1987), les étudiants ne planifient pas leur programme. Ils passent très peu de temps à les créer, à écrire ou transcrire leur pensée dans leur propre code avant de taper et
d'essayer de résoudre le problème à l’aide du langage. Leur comportement semble être captivé par l’attrait de la machine ou la "conduite de la machine". Les stratégies ou opérations de base des étudiants sont d’aller vers la machine et de commencer à programmer. Ce "rush-to-program" est un comportement très répandu.
Par ailleurs, les apprenants ne semblent employer aucun comportement sophistiqué de "débugage" comme: reformuler les codes, décomposer les codes, tracer l'ordinogramme. (Pintrich, Berger et Stemmer, 1987). On observe que les étudiants utilisent les solutions toutes faites, comme par exemple celles présentées en classe ou dans les livres. Ils généralisent ces solutions seulement lorsqu'ils découvrent des nouvelles utilisations pour ces solutions, ou bien notent des cas qui ne sont pas couverts par la documentation (Linn, Sloane et Clancy, 1987).
Malheureusement, les ressources limitées des étudiants en programmation ne leur permettent pas d'adopter des comportements très différents. Il est donc difficile de les étudier et de les classifier en raison:
“ - du manque de temps en classe (faisant sauter directement l’apprenant à l'ordinateur),
- de l'hétérogénéité dans les groupes,
- et finalement de la nature de l'environnement.” (Pintrich, Berger et Stemmer, 1987)
Quoi qu'il en soit, la nature des comportements est très différente d'un individu à l'autre. Cette affirmation se constate assez facilement lorsque l’on remarque les comportements des super "programmeurs". A cause de leur besoin d’estime très élevé, ils adoptent une attitude beaucoup
plus ouverte face aux difficultés rencontrées (ex: apparition des messages d'erreurs, lecture des énoncés de départ). Ils iront d’eux- mêmes consulter les livres de référence et feront leur démarche (Molzberger, 1985).
Finalement, dans une étude portant sur l’utilisation de l’ordinateur pour enseigner l’apprentissage de la programmation, les auteurs ont affirmé que ce type d’environnement "intégré’’ simplifie l’enseignement et l’apprentissage de la programmation et permet à l’étudiant de pratiquer concrètement sa compréhension des concepts de programmation au rythme qui lui convient (Muldner et Tomek, 1985).
CHAPITRE IV PRODUITS PÉDAGOGIQUES UTILISÉS
Pour cette recherche, nous avons conçu différents types de matériel pédagogique: trois (3) tutoriels, trois (3) prétests, deux (2) post-tests et trois (3) exercices.
4.1 Tutoriels
Lors de la production d’un tutoriel, on considère plusieurs aspects avant d’en arriver à un produit fini. Pour ce faire, nous avons tout d’abord conçu un devis de production. Ce dernier comprenait les parties suivantes: objectifs, analyse du contenu et finalement intégration du tutoriel en situation d’apprentissage.
Objectifs
Aucun changement majeur n'a été apporté aux objectifs du cours. Il était, à notre avis, important de conserver la même formule pour ainsi obtenir des résultats similaires à ceux correspondant à l'évaluation des examens antérieurs. Pour permettre la rédaction des tutoriels, seuls les objectifs spécifiques ont été précisés.
Ainsi, l’objectif général de la section programmation se formule comme suit:
- l’étudiant sera en mesure de rédiger des programmes simples en langage BASIC.
Tutoriel 1- Faire interagir un usager avec l'ordinateur,
Tutoriel 2- Faire passer un test d'arithmétique à un usager et finalement
Tutoriel 3- Poser des questions à un usager en donnant le feedback approprié.
Pour compléter, nous avons rédigé les objectifs d'unités correspondantes des méthodes algorithmiques de résolution. (Voir détails en annexe pages: 79, 90, 113)
Analyse du contenu
Tout au cours de notre développement, nous avons structuré nos interventions en respectant constamment les objectifs en terme de liens pré-requis ou subordonnés mais aussi, la trilogie apprenant-tuteur- machine. Voici la hiérarchie ainsi que les objectifs qui ont guidé nos interventions pour la section 2.
Algorithme
Décrire ce qu’est un algorithme
Suivre et donner le résultatd’un algorithme Interpréter un algorithme
Modifier un algorithme
Détecter les erreurs d'un algorithme Corriger les erreurs de fonctionnement
Développer un algorithme spécifique àun seul programme Développerun algorithme qui s'applique à plus d'un programme Ordinogramme
Décrire ce qu’est unordinogramme
Suivre et donner le résultat d’un ordinogramme Interpréter un ordinogramme
Modifier un ordinogramme
Détecter les erreurs d’un ordinogramme Corriger les erreurs de fonctionnement
Développer un ordinogramme spécifique à un seul programme Développerun ordinogramme qui s’applique à plus d'un programme
Concevoir et produire un programme informatique exempt d’erreurs dont l'objet est de permettre à un usager de pratiquer une table de multiplication jusqu'à l'obtention d'une réussite parfaite.
---
ï---Générer la modification constante et croissante d'une variable numérique
Permettre la reprise du déroulement Vérifier plusieurs conditions permettre
1
Diriger l'action -W deux actions Vérifier plusieurs ' conditions permettre une action0
—0
Vérifier une condition permettre deux actions
Q
f
O
Liens subordonnés(chronologiques)
Préalables
Scénario
Pour chacun des tutoriels, nous avons utilisé les possibilités graphiques de l’ordinateur. Ainsi, pour donner plus d’emphase aux concepts et
règles, nous avons sélectionné certains effets spéciaux tels: le clignotement des caractères, l'utilisation de la couleur, le déroulement contrôlé et les effets sonores.
De plus, nous avons structuré les éléments de contenu de façon à ce qu'ils se présentent graduellement en utilisant au maximum les spécificités de l'ordinateur. Un exemple intéressant et qui illustre notre stratégie de présentation est celui de la boucle. Avec le mouvement à l'intérieur des pages-écrans, l'observation des différentes phases de construction de la boucle devient plus simple. (Voir figure 4 extrait du scénario, tutoriel 2, page précédente)
L'intégration en situation d'apprentissage
Pour faciliter l'utilisation des tutoriels, nous avons rédigé de courtes directives. Chaque étudiant se procurait une disquette qu'il devait remettre accompagnée de ses travaux à la fin de la session.
4.2 Prétest
Afin d'obtenir le plus d’informations possibles en ce qui concerne la maîtrise des concepts requis pour réussir les leçons, nous avons conçu 3 prétests. Ces derniers regroupent plus de 10 questions et sont administrés par ordinateur, (voir extrait aux pages: 81 et 82,116 à 118).
Affecter N = 1
t
/
Afficher N, N*1!
....
V
Affecter N = N+1/
Afficher N, N*1!
T
’
Affecter N = N+1V
/
Afficher N, N*1/
1- Affichage pas par pas
(nombre limité)
□
2- Vérification limite supérieure
Affecter T 7 N = 1
3- Automatisation du processus
4.3 Questionnaires
Cette section nous permet d’obtenir des informations générales sur le participant et identifier le profil de notre clientèle. C’est à l'aide de ces questionnaires que nous obtiendrons aussi les informations concernant leur méthode de travail et leur niveau de familiarisation avec l'appareil, (voir en annexe pages: 72 et 73, 147 et 148 )
4.4 Exercices
L’évaluation des acquisitions, pour sa part, a été effectuée à l’aide des exercices similaires des sessions précédentes. Chaque énoncé d’exercices était accompagné d’exemples. A notre avis, une lecture attentive et une concentration accrue lors de l’exécution de l’exemple donnait à l’étudiant toutes les notions nécessaires pour rédiger son programme, (voir en annexe pages: 84, 92,120)
4.5 Post-test et examen final
Pour obtenir le niveau de rétention des habiletés enseignées, nous avons développé un post-test ainsi qu’un examen final. Notez que la forme de l'examen final nous permettait d'évaluer l’ensemble des éléments constituant la catégorie des habiletés intellectuelles. Deux questions servaient de contrôle. La première distribuée au hasard, était
représentée sous trois formes différentes: l'algorithme, l'ordinogramme, le programme. La seconde question était similaire pour tous les candidats et elle servait à évaluer toutes les notions de programmation vues au cours. (Voir en annexe F )
CHAPITRE V DÉROULEMENT DE L’EXPÉRIMENTATION
Pour répondre à nos hypothèses de travail, notre expérimentation se déroule en deux parties.
La première consiste à évaluer si le fait d'apprendre à tracer un ordinogramme augmente ou facilite l’encodage des notions de programmation. La deuxième, pour sa part, est centrée sur la rétention des habiletés visées.
5.1 Schéma expérimental
Les tutoriels ont été administrés au même groupe. Le groupe était formé de 39 sujets. Nous avons respecté le schéma expérimental suivant:
R
0
X
0
1 1 2
R
0
X
03 2 4
Figure 6. Schéma expérimental 1
R = Distribution au hasard (groupe algorithme/ordinogramme) O-| = Prétests informatisés (groupe algorithme/ordinogramme) Xi = Tutoriels (groupe algorithme/ordinogramme)
O2 - Exercices (groupe algorithme/ordinogramme) R = Distribution au hasard (groupe algorithme) O3 = Prétests informatisés (groupe algorithme) X2 = Tutoriels (groupe algorithme)
Déroulement
Les présentations des tutoriels ont été effectuées durant deux sessions de quatre heures soit de 8.00 heures à 12.00 heures à une semaine d’intervalle. A cause du nombre restreint d'ordinateurs une rotation a été imposée. Ainsi, les étudiants qui se présentent en premier utilisent les ordinateurs jusqu’à 10.00 heures alors que les autres terminent à 12.00 heures. Nous supposons que la lecture des éléments notionnels a été faite avant que l’étudiant ne se présente au cours.
Une limite de 20 minutes est donnée pour effectuer le prétest. Puis, nous avons distribué un exemple. Des directives obligaient l'étudiant à effectuer premièrement la lecture de l'algorithme et de l'ordinogramme (groupe 1). Par la suite, on lui remettait un exemple similaire au problème à résoudre. Il avait à l'éditer et à observer son exécution. Après toutes ces étapes, il obtenait l’énoncé du problème. Il devait rédiger l'algorithme tracer l'ordinogramme (groupe 1) et remettre le résultat sur papier. Une fois les copies remises, il pouvait rédiger son programme, vérifier son exécution, le faire imprimer et remettre la liste imprimée du programme. Dans les deux cas, aucun des étudiants n’ont manqué de temps pour exécuter ces consignes.
CHAPITRE VI PRÉSENTATION DES RÉSULTATS
L'objet du présent chapitre est de présenter les résultats en fonction des hypothèses que nous avons formulées. Tout d'abord, nous faisons part des résultats obtenus pour l'ensemble des instruments destinés à évaluer les habiletés cognitives des participants soit: le test final, les prétests ainsi que les post-tests. Pour chacune de ces catégories, nous décrivons en premier lieu les résultats de l'ensemble du groupe ainsi que ceux obtenus en fonction de la distribution algorithme/ordinogramme.
Par la suite, nous évoquons les résultats en fonction de chacune de nos hypothèses. Cette deuxième section compte, elle aussi, deux parties principales. La première s’intéresse particulièrement à la performance pour l'ensemble des prétests tandis que la seconde décrit les résultats pour le test final.
La présentation des résultats nous a conduits vers une analyse de type exploratoire. Les techniques permettant une analyse confirmative ne purent être appliquées puisque notre échantillon était trop limité. Compte tenu de cette considération, nous présentons les résultats sous forme de tendance sans généraliser pour d'autre clientèle.
6.1- Rétention des habiletés
Les résultats qui suivent nous permettent de vérifier l’influence de l’enseignement tutoriel sur les performances des participants.
6.1.1.1- Résolution de problèmes (groupe expérimental)
Mauvaise réponse Simulé
Groupe expérimental Groupe témoin Bonne réponse 38% 29% 32% 7% 66% 27%
Tableau 2. Performance: résolution de problème
Nous constatons à la lecture de ces résultats que la rédaction d’un programme sur papier a semblé plus simple chez les sujets du groupe expérimental. Les résultats étant de 38% pour le groupe expérimental comparativement à 7% pour le groupe témoin. Cependant, on remarque aussi que le pourcentage de simulation est plus élevé de 5% pour le groupe expérimental. Par contre si l’on considère que le fait de ne pas avoir utilisé exactement la méthode enseignée soit une erreur, alors, le nombre de mauvaises réponses pour le groupe témoin se chiffre à 93% contre 61% pour le groupe expérimental. L’ensemble des résultats obtenu pour les deux groupes reste donc très faible. En comparaison avec les résultats de notre pré-recherche, 68,4% d'erreurs, on remarque que le groupe expérimental a un peu mieux performé. Malgré tout, on ne compte que seulement 7% d'erreurs en moins.
B. réponse M. réponse Simulé Total
Algorithme 5 4 6 15
Ordinogramme 8 6 5 19
Total 13 10 11 34
Tableau 3. Performance: résolution de problème/distribution groupe 1
Pour ce groupe, la distribution des sujets est inégale puisque l'on compte 19 sujets ayant travaillé avec un ordinogramme tandis que 15
n'ont utilisé que l'algorithme. Malgré cette différence, on constate toutefois que l'écart entre les résultats obtenus et la distribution est peu
marquée.
Ainsi, en ce qui concerne la programmation, on peut croire qu’elle n'a pas été plus simple pour les sujets associés à l'une ou l'autre des 2 techniques.
groupe 2
B. réponse M. réponse Simulé Total
Algorithme 0 12 3 15
Ordinogramme 2 8 5 15
Total 2 28 8 30
sujets ont obtenu un bon résultat. Un fait intéressant, ces derniers étaient associés à l’ordinogramme. De plus, le nombre de sujets ayant une mauvaise réponse est supérieur chez le groupe ayant seulement à travailler avec un algorithme.
6.1.1.2- Habiletés intellectuelles (groupe expérimental)
Mauvaise réponse Sans réponse
Groupe expérimental Groupe témoin Bonne réponse 44% 55% 0% 39% 39% 23%
Tableau 5. Performance: habiletés intellectuelles
Les sujets des 2 groupes ont obtenu de moins bons résultats lors de la résolution de la règle d'ordre supérieur. L'écart entre les bonnes et les mauvaises réponses du groupe expérimental étant de 11%. Par contre tous les candidats de ce groupe ont répondu à la question posée. Une fois encore les résultats du groupe témoin sont inférieurs à ceux obtenus par le groupe expérimental. De plus, si on considère le fait de ne pas répondre comme étant une erreur alors 62% des candidats du groupe témoin ont de mauvaises réponses, ce qui est très élevé.
Total Algorithme Ordinogramme Programme Total Mauvaise réponse Bonne réponse 4 6 6 5 3 8 15 19 10 11 13 34 Tableau 6. Performance: habiletés intellectuelles/distribution
groupe 1
On remarque que les sujets associés à l’ordinogramme ont obtenu de meilleurs résultats. Six (6) sujets ayant bien répondu contre seulement 5 mauvaises réponses.
Total M. réponse Sans réponse
B. réponse Sans réponse 0 0 7 7 Algorithme 3 4 0 7 Ordinogramme 3 4 0 7 Programme 5 4 0 9 Total 11 12 7 30
Tableau 7. Performance: habiletés intellectuelles/distribution groupe 2
Pour ce groupe, les résultats sont beaucoup plus uniformes. Aucune catégorie n’est supérieure à l'autre en terme de bonnes réponses.
A la suite de toutes ces observations portant sur la rétention des habiletés de programmation en fonction de la méthode d'enseignement, il ressort que les sujets du groupe témoin ont, en général, mieux réussi.
Aucun lien ne peut cependant être fait en ce qui a trait au choix des techniques d'enseignement. Les résultats étant pratiquement les mêmes d'un groupe à l'autre.
6.1.2- Effet de l'ordinogramme (groupe expérimental seulement)
6.1.2.1- Performances obtenues au prétest
Le tableau qui suit représente la synthèse des valeurs minimales, maximales ainsi que la moyenne. Le rectangle illustre les limites de la distribution pour l'ensemble du groupe. La moyenne est symbolisée par la ligne centrale du rectangle. Les valeurs minimales et maximales sont représentées par les petits traits extérieurs. Finalement, les points illustrent les cas extérieurs à la distribution normale du groupe.
« O 120 80 60 40 100
■
T
1
O
O
T
a • --- ---v--- ---J'-< i1
---
1
Tutoriel 2 Tutoriel 3 20 Tutoriel 1 groupe 16.1.2.2- Performances obtenues au test final
Les moyennes obtenues au 3 prétests tendent à diminuer d'un prétest à l'autre. On constate que plus de 71% des sujets ont maîtrisé les informations verbales avant d'entreprendre la leçon portant sur les concepts de base. L'écart des résultats variant entre 0 et 95%. Au prétest numéro 2, la moyenne atteint seulement 66%. On peut croire qu’un plus grand nombre de sujets n'était pas nécessairement prêt à passer à la leçon portant sur les règles. Il en va de même pour le dernier prétest, seulement 65% des sujets ont maîtrisé les règles apprises. En fait, on constate que plus on augmente en difficulté à l'intérieur de la catégorie des habiletés intellectuelles, moins les participants maîtrisent les préalables.
- Performance/distribution
Dans le tableau qui suit, nous avons regroupé les résultats obtenus pour l'ensemble des trois (3) prétest et ce, pour nos deux (2) groupes. La première catégorie de résultats (Algo. 1, Algo. 2, et Algo. 3) est attribuée au groupe témoin tandis que la seconde (Ordino. 1, Ordino. 2, Ordino. 3), présente les résultats du groupe expérimental.
Tableau 9. Performance: prétest/distribution
En fonction de la distribution, on remarque très peu de différence entre les sujets ayant travaillé avec l’ordinogramme et ceux qui n'ont eu que l’algorithme.
Cette section nous permet de constater que les performances des sujets diminuent à chacun des seuils à franchir vers l’atteinte d’habiletés intellectuelles (cette observation étant vraie pour les deux groupes).
6.1.3- Effet de l'enseignement tutoriel (groupe expérimental et témoin)
Tutoriel 3
Résultats
Tableau 10. Performance: tutoriel 3 (prétest, post-test)
Les résultats obtenus au prétest et aux post-tests du tutoriel 3 diffèrent beaucoup d'un groupe à l'autre. Par rapport au prétest, la moyenne du groupe expérimental augmente contrairement à celle du groupe témoin.
L'ensemble des résultats du groupe expérimental (moyenne du prétest=66%, moyenne du post-test= 70%) sont supérieurs à ceux du groupe témoin (moyenne du prétest=56%, moyenne du post-test= 54%). Un point commun entre les deux groupes se remarque au post-test. Dans les deux cas, on compte plus de sujets à l'extérieur de la moyenne.
- Performances obtenues au prétest et au post-test en fonction de la distribution No tes e n % N o te s en %
Tableau 11. Performance: prétest et post-test/algorithme
la moyenne obtenue par les sujets du groupe témoin qui a utilisé l’ordinogramme. Cette dernière a augmenté de plus de 9%.
6.2- Évaluation des hypothèses
Cette section nous permet de vérifier l’influence de la symbolisation des concepts et des règles sur l'acquisition des habiletés de programmation.
Hypothèse 1 : l'acquisition des règles d'ordre supérieur est accrue si l'apprenant a déjà eu un contact avec l'appareil,
Pour le groupe expérimental, nous avons regroupé, l'ensemble des résultats obtenus aux 3 prétests en fonction de la distribution. Le même type de compilation fut effectué pour le test final. En ce qui concerne le groupe témoin, nous avons considéré seulement les résultats du test final.
6.2.1- Performance des sujets en fonction du niveau de familiarisation des candidats avec l'ordinateur
6.2.1.1- Groupe expérimental
Sans rép. 80% et + 50-79% - de 50% Total
Total 5 52 35 10 102
Tableau 13. Prétests vs distribution et utilisation de l’ordinateur groupe 1 6.2.1.1.2 Test final Algo.+OUI Algo.+NON Total Sans rép. Ordino.+OUI Ordino.+NON
Bonne réponse Mauvaise rép.
6 9 3 6 3 3 12 10 2 14 7 3 Total 18 12 24 14 68 Tableau 14. Test final vs distribution et utilisation de l’ordinateur
groupe 1
Vingt et un (21) sujets du groupe expérimental se disent familiers avec l'outil contre 14 qui ne le sont pas. Pour l'ensemble des prétests, on remarque qu 'un nombre égal de sujets (5 ) a obtenu une note inférieure à 50%. En ce qui concerne le test final, le nombre de sujets ayant une performance supérieure à 80% est beaucoup plus élevé chez les sujets familiers avec l'outil (33) que chez les non-familiers (19). Curieusement,