Didactique de l’informatique

Didactique de l’informatique

Rappel des compétences identifiées liées à l’informatique:

compétence détail
Évaluer attribuer mentalement une valeur à un programme donné
Anticiper se mettre en posture de programmeur pour décrire l’enchaînement des opérations, avant le début de l’exécution
Décomposer transformer un problème complexe en un ensemble de problèmes plus simples équivalent au problème initial
Généraliser inférer un problème général à partir d’une instance, repérer dans un problème particulier la répétition de traitements ou de données suivant un même schéma
Abstraire “faire abstraction” des informations non pertinentes et créer des solutions où la manière de résoudre un problème peut être “abstraite” à l’aide d’une interface pertinente

Une activité débranchée

Pour étudier les compétences et l’apprentissage de notions informatiques, on va mettre en œuvre une activité classique en informatique débranchée, le problème dit du baseball multicolore:

On a 4 bases, matérialisées par des cartes de couleurs différentes, et 8 jetons de couleur, avec deux jetons par couleur de carte. On dispose les bases en cercle, et on met deux jetons au hasard sur chaque base. On enlève ensuite un des jetons. Le but du jeu est de déplacer les jetons pour que chacun rejoigne la base de sa couleur. On impose trois contraintes:

  • on ne déplace qu’un jeton à la fois,
  • on ne peut déplacer un jeton que vers une base voisine,
  • on ne doit jamais avoir plus de deux jetons par base.

L’activité se fait par petits groupes de 3 ou 4. Vous commencerez par traiter le problème, en posture d’élèves, avant d’étudier les possibilités de l’activité, en posture d’enseignant. Il est important de noter par quelles étapes de réflexion vous passez lors de l’étude du problème dans la première phase, pour pouvoir y revenir dans la seconde phase. Travailler en groupes doit faciliter cela.

Dans l’idéal, cette activité se fait avec du matériel pour manipuler. Pour pouvoir faire sans, un simulateur a été réalisé: http://www-verimag.imag.fr/~wack/baseball/

Exploration du problème

On commence par explorer le problème pour le comprendre. Quelques suggestions pour un déroulement d’activité:

  1. Traiter ensemble quelques cas particuliers.

  2. Élaborer ensemble une stratégie.

  3. Formaliser la stratégie retenue.

    Pour cette étape, il est utile de répartir des rôles au sein du groupe:

    • une personne déplace les jetons, selon les instructions reçues;
    • une personne donne les ordres de déplacement;
    • une personne vérifie que les ordres respectent les règles et la stratégie choisie;
    • une personne choisit la situation initiale, elle tente de prendre en défaut la stratégie.

Pour aller plus loin, on peut poursuivre en démontrant la correction de l’algorithme proposé, évaluer sa complexité, etc. Ou encore se poser la question de l’implémentation du jeu.

Transposition

Le but de l’activité ici n’est pas seulement de résoudre un problème algorithmique mais aussi de s’interroger sur la transposition qui peut en être faite en classe.

  1. Pour chacune des compétences proposées, identifier à quel endroit elle est sollicitée au cours de l’activité (dans l’exploration comme dans la formalisation).

  2. Proposer un scénario d’activité en classe basé sur cette activité et destiné à travailler une notion particulière (par exemple: l’état et la variable, la représentation de l’information, la notion de liste ou de tableau, la complexité des algorithmes, les invariants de boucle…).

    Il s’agit donc d’identifier pour une telle séance:

    • les pré-requis,
    • l’organisation de la phase d’exploration,
    • le bilan à en tirer.

Travail collectif

Élaboration fiches d’activité

Prenez vos fiches d’activité et identifiez quelle compétence y est travaillée de quelle façon.

Sur l’évaluation

Produire des questions (QCM ou autres) pour travailler et évaluer chaque compétence spécifiquement.

Réflexions

Quelques sujets à réfléchir tous ensemble, au choix du public et au gré de l’inspiration du groupe:

  • Que dire sur les aspects pluri-disciplinaires de la discipline? Quelle articulation avec les sujets traités dans les autres disciplines?

  • La polysémie sur quelque mots fondamentaux: quelles différences y a-t-il dans l’interprétation des mots « variable » et « fonction » en informatique par rapport aux autres disciplines (les mathématiques mais pas seulement)?

  • Découvrir l’exécution d’un programme Python: utilisation de PythonTutor qui permet de visualiser l’exécution d’un programme et l’état de sa mémoire.