Innovation Pédagogique et transition
Institut Mines-Telecom

Une initiative de l'Institut Mines-Télécom avec un réseau de partenaires

Enseigner la programmation par le jeu : le projet PyRat à Telecom Bretagne

27 octobre 2016 par Karmann Retours d’expériences 4563 visites 3 commentaires

Enseigner l’informatique dans le supérieur relève souvent du défi. Il faut à la fois pouvoir intéresser les étudiants et maintenir leur motivation tout en s’arrangeant avec les contraintes de niveaux hétérogènes et de la difficulté d’individualiser les enseignements. Par ailleurs, dans les écoles d’ingénieurs, le niveau d’exigence technique se doit d’être élevé et les enseignants doivent en même temps transmettre un grand nombre de concepts complexes à leurs étudiants.

C’est pour répondre à ces problématiques qu’un enseignant et un doctorant de Télécom Bretagne ont mis au point le projet PyRat.

Article rédigé par Marine Karmann, conseillère pédagogique, à partir d’un entretien avec Vincent Gripon, enseignant chercheur à Télécom Bretagne et Bastien Pasdeloup, doctorant avec une mission d’enseignement.

Cet article sera prolongé prochainement par la réalisation d’une vidéo dans le cadre de la chaîne "minute de l’innovation pédagogique" mise en place par L’Institut Mines télécom.

I - FICHE D’IDENTITE DU PROJET

1 - Etudiants concernés

Le projet concerne l’ensemble des étudiants de première année, à leur arrivée à l’école (entre 150 et 170 élèves selon les années), une populaloin d’étudiants issus de classes préparatoires et d’admis sur titres n’ayant pas suivi le même cursus en informatique.

2 - Rôle du dispositif dans le cursus de formation

PyRat a remplacé les anciens cours de programmation/algorithmique, en première année où l’hétérogénéité des étudiants et l’attrait très différencié pour l’informatique posait problème.

Le rôle du cours est donc d’une part de fournir des bases dans ces domaines, mais aussi de susciter de l’intérêt pour l’informatique auprès des étudiants arrivant à l’école, car la discipline a une image contrastée, d’un goût prononcé à une image assez mauvaise auprès de certains étudiants sortant de prépa.

3 - Nombre d’enseignants concernés

L’essentiel du travail de préparation et de mise en place du projet vient des deux enseignants que nous avons rencontrés. Un groupe de travail étendu a été mis en place assez rapidement, ajoutant trois personnes au duo initial prolongeant la réflexion et préparer la mise en oeuvre de la formation.

Ensuite, lorsque le cours est joué, une dizaine d’enseignants se retrouvent en face à face avec les élèves. Soit pour des remplacements ponctuels, soit pour la durée complète du cours.

Les deux enseignants que nous avons rencontrés tiennent à noter l’aide qu’ils ont reçus d’un enseignant chercheur ayant des responsabilités au niveau de la scolarité pour mettre en place le projet.

On voit donc qu’il s’agit d’un projet qui a demandé beaucoup de travail et d’investissement dans sa mise en place et qui mobilise un nombre assez important d’enseignants pendant qu’il est joué. La coordination est importante entre tous ces enseignants et des réunions sont organisées à différents points d’étapes (avant le cours, pendant le cours et après le cours) en cours de parcours pour revoir l’organisation et discuter des différents problèmes rencontrés. Ces réunions servent notamment à envisager des améliorations aux problèmes rencontrés. Par ailleurs, il faut noter la présence d’importants échanges mails. Le dispositif est ainsi en constante évolution et la réflexivité des enseignants sur leurs pratiques est ainsi bien développée.

4 – Objectifs et attendus

Les objectifs du module sont nombreux et touchent aussi bien à des champs disciplinaires qu’à l’acquisition de méta-compétences ou à la posture que devront prendre les enseignants.

Ainsi, à l’issu de ce module, les étudiants doivent être capable de :

  1. Mobiliser les bases attendues en informatique (algorithmique, théorie des graphes, programmation)
  2. Montrer une certaine curiosité vers des algorithmes complexes pouvant servir à l’Intelligence Artificielle qu’ils doivent programmer pour le tournoi de fin de module.
  3. Mettre en place les actions nécessaires à un travail en binôme efficace.
  4. Développer une certaine autonomie face aux apprentissages (notamment par le biais du dispositif de classe inversée).
  5. Synthétiser leurs apprentissages pour la présentation orale qu’ils doivent réaliser lorsqu’ils présentent leur Intelligence Artificielle en fin de module.
  6. D’une manière générale, les enseignants ont également des objectifs à atteindre de par l’organisation même du module :
  7. Apporter une première familiarisation ludique avec l’informatique.
  8. Différencier les enseignements pour s’adapter aux acquis (très hétérogènes) des étudiants de première année.

Les enseignants souhaitent également que l’organisation du cours puisse donner la possibilité aux étudiants qui le souhaitent d’aller plus loin dans leurs apprentissages en mettant de nombreuses pistes d’algorithmes (et autres) à explorer par eux-mêmes.

II - DEROULEMENT DU PROJET

Le projet PyRat se déroule selon un principe hybride entre classe inversée et cours en présentiel.

Ainsi, les étudiants ont cours pendant 1h à chaque séance de 3h programmée. Les deux autres heures s’organisnet autour de la vérification des connaissances avec un questionnaire à choix multiple (QCM) de 15 minutes en début de séance,, suivi d’un travail sur le projet de programmation en lui-même. Entre chaque séance en présentielle, les étudiants une séance « à distance » pendant laquelle, ils peuvent avancer sur leur projet, et consulter le cours en version étendue sur le blog. Les QCM de début de séance servent quatre buts majeurs :

  1. S’assurer que les étudiants ont bien travaillé à actualiser leurs connaissances entre les deux séances en présentiel.
  2. Les enjoindre à une certaine ponctualité (le QCM est distribué en début de séance et le temps qui lui est dévolu est assez court).
  3. Montrer aux élèves que le contenu du blog va plus loin que les notions vues en cours et valoriser les étudiants qui ont travaillé sur des aspects plus avancés.
  4. Détecter des difficultés et des manquements qui pourront ensuite être retraitées par l’enseignant pendant la séance.

Les étudiants travaillent en binômes pendant toute la durée du projet.
Chaque binôme doit programmer une intelligence artificielle capable de se déplacer dans un labyrinthe en passant par des points stratégique. Ici, le procédé est « ludifié », il s’agit ici d’un rat qui doit attraper des bouts de fromage dans un labyrinthe.

Cette phase de programmation est suivie d’un temps de présentation orale pendant lequel chacun des binômes présente au reste de la promotion, l’Intelligence artificielle qu’ils ont programmée.

En fin de module, un grand tournoi est organisé, pendant lequel, les Intelligences Artificielles programmées par les étudiants s’affrontent et remportent des manches jusqu’à affronter un « boss final » (figure classique du monde du jeu vidéo). Il s’agit de l’intelligence artificielle ayant gagné le tournoi l’année précédente.

Sous ce déroulement simple en apparence se cache beaucoup de travail de préparation pour les enseignants et d’apprentissage pour les étudiants.

Ce travail pour les enseignants et les étudiants est notamment augmenté du fait de la grande hétérogénéité des groupes d’étudiants. En première année, beaucoup d’étudiants étrangers ne sont pas francophones et très peu anglophones, ce qui demande un travail d’adaptation des enseignements pour faire profiter à tous de leurs compétences en informatique.

Par ailleurs, les étudiants de première année ne viennent pas tous de parcours similaires et certains n’ont jamais fait de programmation, ce qui rend la constitution des groupes de travail parfois complexe. Les enseignants mettent un point d’honneur à constituer des groupes de 20 hétérogènes pour que chacun des élèves puissent profiter des compétences des autres. Mais au sein de ces groupes, les binômes de travail sont eux homogènes pour éviter les phénomènes de « passages clandestins » dans lesquels les étudiants travaillent de manière inégale, l’un prenant à sa chage tout le travail de programmation car il s’y « connaît mieux ».

III – Perspectives en didactique de l’informatique

Depuis les années 80, la recherche en pédagogie s’intéresse particulièrement à l’enseignement de la programmation informatique. En effet, et ce, jusqu’à des dates proches de nous, les chercheurs notent la difficulté de l’enseignement et de l’apprentissage des fondamentaux de la programmation, le qualifiant de « tâche difficile, en particulier pour les novices » (Guéraud, Peyrin, 1989) (Muratet et al. 2009, p.178).

Muratet définit trois problèmes principaux que rencontrent les étudiants dans leur apprentissage de la programmation. Premièrement, les étudiants sont rapidement confrontés à des « obstacles épistémologiques comme la manipulation des boucles (Ginat, 2004) (Soloway et al., 1983), des conditions, ou l’assemblage de programmes à base de composants. » (Muratet et al., 2009). Tous ces éléments sont autant de difficultés pour les étudiants, d’autant qu’ils demandent une certaine capacité d’abstraction assez difficile à acquérir si tôt dans le cursus de formation (Seppälä et al. 2006).

Deuxièmement, malgré une utilisation quotidienne des environnements informatiques par les étudiants dans des contextes sociaux ou de loisir (chatter, jouer, se divertir…), ils ne voient pas directement le lien qui s’opère entre leurs usages quotidiens et « les dispositifs déployés dans les enseignements. » (Muratet et al., 2009). Ainsi, comme le notait les enseignants à l’origine de PyRat à partir de leur propre expérience du terrain, « les personnes étudiant les techniques pédagogiques s’accordent à dire que les étudiants novices en informatique trouvent souvent la discipline théorique, technique, ou ennuyeuse. » (Stamm, 2007)

Et enfin, le troisième point définit par Muratet, nous fait prendre conscience de la pertinence du dispositif au regard des éléments de la recherche en didactique de l’informatique, il s’agit du paradoxe qui consiste à devoir faire maîtriser aux étudiants des concepts et des connaissances que l’on ne peut vraiment maîtriser que lorsque l’on sait programmer. En 2007 Greitzer et al. Proposent de faire travailler directement les apprenants sur des tâches réalistes et qui ont un haut degré de signifiance pour eux.

C’est précisément ce que se propose de faire le projet PyRat. En effet, en ouvrant le cours selon un dispositif proche de la classe inversée. Les étudiants se voient obligés d’organiser leur recherche d’information, et leur formation en fonction de leurs besoins pour le projet qu’ils doivent concevoir.

De plus en ajoutant une dimension ludique à cet ensemble, les enseignants rattachent leur cours à un univers vidéo-ludique souvent bien connu des étudiants ingénieurs, tout en faisant naître une motivation devant un type d’activité à première vue difficile à aborder. (Guéraud, Peyrin, 1989). La force pédagogique de l’activité ludique n’est plus à prouver dans le monde la pédagogie car « rien autant que le jeu n’exige d’attention, d’intelligence de résistance nerveuse » (Caillois, 1967).

Par ailleurs, en plus des difficultés liées à l’enseignement de la discipline de la programmation, le déroulement du cours se heurte à d’autres problématiques, comme, nous l’avons déjà noté, l’hétérogénéité du groupe d’étudiants. Ici, c’est le dispositif proche de la classe inversée qui permet de contourner le problème en laissant aux étudiants les plus avancés assez de portes ouvertes pour qu’ils puissent aller plus loin et continuer de progresser. Par ailleurs, le cours –et notamment les TP- sont conçus pour « garder à flot » les plus en difficultés, et leur permettre d’acquérir les bases attendues dans les objectifs de l’UV.

Pour aller dans le sens des diverses recherches qui préconisent le recours à la ludification pour enseigner la programmation et l’informatique en général (Guéraud & Peyrin, 1989, Muratet et al. 2009, Delozanne et al. 2011), les enseignants que nous avons rencontrés notent une réelle amélioration de l’implication des étudiants dans les cours d’informatique. Ces améliorations se font sentir à différents niveaux, comme les résultats à l’évaluation finale, l’intérêt pour la matière qui est plus difficile à mesurer, et enfin, la qualité des productions des étudiants.

Bibliographie :

  • CAILLOIS, R. ; Les jeux et les hommes. Gallimard, 1967
  • DELOZANNE, E. ; JARRAUD, P. ; MURATET, M. ; Un projet Jeux sérieux pour approfondir l’apprentissage de la programmation en première année à l’université., L’UTES-UMPC- Sorbonne Université (Paris-France), IRIT (Toulouse, France), 2011.
  • GUERAUD, V. ; PEYRIN, J-P. ; Un jeu de rôles pour l’enseignement de la programmation. Colloque francophone sur la didactique de l’informatique, Sep. 1988, Paris, France. Association EPI, pp.47-59, 1989.
  • MURATET, M. ; TORGUET, P. ; VIALLET, F. ; JESSEL, J-P. ; Evaluation d’un jeu sérieux pour l’apprentissage de la programmation. 2011.

A voir aussi dans l’article "Jeux sérieux et pédagogie de l’enseignement supérieur : les vidéos et diaporamas de la journée UTICE du 8 décembre"

 Conception d’un cours avec un jeu sérieux : PyRat, un jeu pour l’apprentissage de l’informatique avec Python, Bastien Pasdeloup, Doctorant, Télécom Bretagne Brest

Et la "Minute de l’innovation pédagogique : PyRat, apprendre la programmation en s’amusant"

Licence : CC by-sa

Vos commentaires

Répondre à cet article

Qui êtes-vous ?
[Se connecter]
Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Suivre les commentaires : RSS 2.0 | Atom