Les nouvelles technologies pour l’enseignement des mathématiques
Intégration des TICE dans l’enseignement des mathématiques

MathémaTICE, première revue en ligne destinée à promouvoir les TICE à travers l’enseignement des mathématiques.

Utilisation de CAPYTALE au lycée

NDLR : Stéphane Gyuran propose au travers de cet article un partage d’expérience sur l’utilisation de Capytale au lycée dans un cadre pédagogique favorisant l’engagement et la prise d’autonomie des élèves.

Stéphane Gyuran est professeur de mathématiques au lycée Victor Hugo de Besançon. Il enseigne également la spécialité NSI en classe de terminale et est membre du groupe Mathématiques et TICE à l’IREM de Besançon.

L’article et les documents liés sont placés sous la licence creative commons Attribution + Pas d’Utilisation Commerciale (CC-BY-NC) : le titulaire des droits autorise l’exploitation de l’œuvre, ainsi que la création d’œuvres dérivées, à condition qu’il ne s’agisse pas d’une utilisation commerciale (les utilisations commerciales restant soumises à son autorisation).

Article mis en ligne le 10 avril 2023
dernière modification le 16 avril 2023

par Stéphane Gyuran

 Introduction

Dans les lycées, Python est devenu Le langage de programmation des algorithmes.
Lors de l’introduction de l’algorithmique en 2009 on ne parlait pas d’implémentation des algorithmes dans un langage spécifique mais à l’époque d’écrire ceux-ci en pseudo-codes .
Rapidement les enseignants ont cherché un langage accessible pour implémenter ces premiers algorithmes.

Un des logiciels largement utilisé fut AlgoBox. Son interface graphique simple permet de faire apparaitre les structures classiques algorithmiques ainsi que les objets nécessaires (entiers, flottants, listes).
Si cela était très satisfaisant en termes de prise en main pour des béotiens en langage de programmation, l’écriture pouvait s’avérer fastidieuse pour des algorithmes dépassant la dizaine de lignes de codes.
Le logiciel a les défauts de ses qualités, il sécurise l’écriture syntaxique en proposant des blocs d’instructions pré-remplis, mais il perd en même temps en fluidité d’écriture et s’éloigne par là des langages classiques de programmation rencontrés en informatique.

Progressivement les programmes scolaires ont imposé Python comme langage d’implémentation.
On retrouve ainsi par exemple en mathématique l’usage des listes Python (programme de Première) avec une construction de celles-ci par compréhension (Programme de Terminale).
Bien entendu l’usage d’un tel outil nécessite une organisation toute particulière tant matérielle que pédagogique, nous allons voir comment Capytale permet de faciliter ces deux aspects.

 D’un point de vue matériel

Il suffit d’avoir une connexion internet et un navigateur. On y accède sur le portail de l’ENT de l’établissement. Cela permet l’identification de l’élève permettant ainsi des interactions sécurisées avec le professeur.
L’élève peut réaliser les travaux qui utilisent les langages accessibles dont Python. Ceux-ci sont donc réalisables depuis un PC , tablette, smartphone qui supporte un navigateur web récent.
On peut donc s’assurer que la totalité (ou très grande majorité) des élèves réaliseront le travail demandé ou pourront s’exercer.

C’est un outil qui bénéficie d’une communauté dynamique avec une équipe conceptrice très réactive aux remarques remontées par les utilisateurs.

 Du point de vue pédagogique

 Création d’une activité CAPYTALE

 Avec le notebook

L’environnement « Notebook Jupyter » permet de réaliser des activités mélangeant instructions et plages d’exécutions de scripts (exemple dans la capture d’écran ci-dessous).

figure 1
Questions courtes et codage : intégration dans le notebook

Cela permet d’intégrer directement les scripts à l’intérieur des consignes et donc d’éviter la dispersion des élèves, les scripts pouvant s’exécuter directement sur la page.

 L’environnement Script-console

CAPYTALE propose également pour Python une interface proche de celle rencontrée sur machine avec :

  • Un espace de consigne laissé par le professeur ;
  • un espace pour écrire un script ;
  • un espace pour utiliser la console Python ;
  • pour le professeur, un espace d’évaluation, commentaires et note.
Consigne
ScriptConsole
Vue de l’environnement console python dans CAPYTALE

On retrouve cette philosophie dans les autres applications de CAPYTALE (Base de données, HTML…), ce qui permet un apprentissage plus intégré de toutes les notions qu’on peut aborder dans ces domaines.

 Partage d’une activité CAPYTALE

 Professeur – Élève

Chaque activité est repérée à l’aide d’un code (code de partage avec la classe) qui peut s’utiliser directement dans l’environnement CAPYTALE, ou bien accessible à l’aide d’un lien (URL de partage) ou QR code.

figure 2
Partager l’activité avec la classe

Quel que soit le moyen d’accès l’élève devra obligatoirement s’authentifier sur son ENT [1].
Le nombre de vues indique le nombre de copies qui ont été faites de cette activité. Chaque copie est alors l’activité sur laquelle travaille votre élève.
En cliquant sur le nombre de vues on accède ainsi à tous les liens permettant de visualiser le travail de l’élève, on peut y laisser des commentaires et une note [2].

Gestion des travaux
Vue de l’interface de gestion des activités dans CAPYTALE. les corrections apparaissent avec des appréciations saisies depuis une interface dédiée.
 Entre enseignants

On peut donner des droits de gestionnaires de sa propre activité avec d’autres personnes enregistrées dans notre ENT. On peut donc « associer » d’autres enseignants (voire des élèves) à une activité, cela permet coconstruire celle-ci avec une prudence sur la synchronisation car le dernier qui enregistre modifie toute l’activité !

 Échange dans la communauté

Il y a une bibliothèque qui recueille les activités que l’on a choisi de publier. Celle-ci devient alors disponible à tous les utilisateurs de CAPYTALE.

figure 3
Partager et collaborer avec la communauté enseignante

On retrouve grâce à une zone de recherche les thèmes qui nous intéressent rangés par ordre de pertinence (copies et « like »).
On peut alors copier l’activité qui nous plait, la copie effectuée devient notre propre activité dans laquelle nous pouvons faire les modifications que nous souhaitons.

On peut ajouter à cela une liste de discussion où s’échangent idées et suggestions de modifications. L’équipe qui gère cette liste est très réactive et à l’écoute.

 Évolutions et personnalisation

 Mise en forme des activités Notebook

Des activités tutoriels sont enregistrées dans la bibliothèque, on peut ainsi notamment améliorer nos présentations dans les notebooks avec la syntaxe Mardown. Pour les utilisateurs de HTML on peut rédiger et mettre en page avec les balises.

figure 4
Aide pour la réalisation de notebook

 Fichiers attachés aux activités

Il est possible de charger des fichiers qui accompagnent et peuvent le cas échéant interagir avec les activités.
Par exemple un fichier base de données (en SQLITE) permettra de manipuler des requêtes en SQL.

Il est possible de charger également des fichiers non accessibles (cachés) pour les apprenants, cela permet par exemple de charger des fonctions , et ou variables « boites noires » que l’enseignant programme.
Il suffit alors d’utiliser la syntaxe d’importation classique :

>from mon_fichier import fonction1, fonction2, variable1, variable2 ...

Cela peut s’avérer utile par exemple pour réaliser des graphiques avec MatplotLib.pyplot, sans que les élèves aient à voir le code ou savoir utiliser ces bibliothèques.

Une autre utilisation de ces fichiers cachés est celui d’auto-correction des scripts.
On programme ainsi des tests unitaires qui permettent de valider la réponse d’un élève en affichant par exemple si le contenu recherché est le bon et même des scripts de tests de fonctions [3].

L’avantage de ces fichiers permet ainsi une progression personnalisée des apprenants.
On passe ainsi plus de temps à expliquer aux élèves qui en ont le plus besoin en laissant plus d’autonomie à celles et ceux qui ont mieux compris ou ont plus de facilités dans les apprentissages de l’informatique.
En effet, les élèves se fient à la validation du script d’auto-correction et passent à la question suivante si celle-ci a été facilement réussie.

Exemple :

figure 5
Réalisation du codage d’une fonction par l’élève et correction automatique à l’aide d’un jeu de tests
Dans le notebook on demande à l’élève de programmer une fonction, celle-ci a été complétée pour l’exemple.

 Conclusion

Globalement il faut se féliciter de la qualité de cet outil. Il accompagne au plus près les besoins de formation de nos apprenants, son utilisation via un navigateur démocratise l’usage de logiciels essentiels aux parcours suivis par nos élèves en lycée.
On peut ainsi l’utiliser :

  • en spé math et spé sciences-physiques pour l’algorithmique en Python ;
  • en Seconde pour certaines parties du programme de SNT notamment en HTML ;
  • en spé NSI Première et Terminale pour Python, HTML et SQL ;
  • en CPGE pour Python en ITC (informatique tronc commun) et MPSI-MPI en informatique avec OCaml.

Les fonctionnalités et personnalisation que l’on peut apporter permettent de différencier plus facilement les apprentissages.
Enfin le partage au sein d’une communauté dynamique est très stimulant et la pérennité technologique de l’outil encourage un réel engagement.