Comment j’enthousiasme les élèves pour les mathématiques avec Python et Raspberry Pi

J’enseigne Python à l’aide d’ordinateurs Raspberry Pi 400 dans une bibliothèque locale pour la deuxième année consécutive. Quelques élèves de cette année n’ont pas connu de succès en mathématiques dans leur école. L’une d’elles m’a demandé si elle avait besoin d’algèbre pour assister à notre cours. Je lui ai dit que j’avais échoué en algèbre, géométrie et trigonométrie à l’école. Elle était soulagée. Une autre étudiante s’est précipitée à la porte un peu en retard parce qu’elle suivait des cours de géométrie à l’école d’été après avoir échoué au cours pendant l’année scolaire. J’ai partagé ma propre histoire d’impuissance apprise et ma détresse à l’idée des tests de mathématiques. Mes propres mauvaises expériences ont eu un impact sur mes années de lycée et mes premières années de collège.
J’aime Python, et en particulier, le turtle
module, du fait d’une expérience en école doctorale au début des années 1990. L’exercice a utilisé le logo d’Apple pour enseigner la géométrie aux étudiants, ce qui a conduit à une épiphanie qui a complètement changé mon attitude envers les mathématiques. La classe de cette semaine compte quatre élèves de huitième année. Deux ont des antécédents en mathématiques et deux ont des phobies des mathématiques. Le premier jour de cours à la bibliothèque publique d’Olean, nous avons commencé par une brève explication du RaspberryPi 400 et comment connecter chacun de ces ordinateurs à d’anciens moniteurs VGA provenant du stockage. J’ai donné aux étudiants un bref aperçu et une visite des ports, de la souris périphérique et du câble microHDMI que nous allions utiliser. Nous avons procédé, étape par étape, à l’assemblage des pièces des unités Raspberry Pi 400 et à leur connexion aux moniteurs. Nous avons mis les unités sous tension et j’ai aidé les étudiants à configurer correctement leurs ordinateurs pour les États-Unis et le fuseau horaire de l’Est. Nous nous sommes connectés au réseau sans fil de la bibliothèque et étions prêts à commencer.
J’ai donné aux étudiants un bref aperçu de tous les logiciels sur leurs ordinateurs. Ensuite, je leur ai présenté le Mu-Editor qui est préinstallé sur leurs ordinateurs. Nous avons revu le Boucle de lecture-évaluation-impression (REPL). J’ai expliqué que même si nous pouvions exécuter du code dans le REPL, il leur serait plus facile d’écrire le code dans l’éditeur Mu, puis d’enregistrer leur code avec un .py
extension pour s’assurer que le système pourrait l’exécuter correctement. J’ai expliqué comment notre code avait besoin de commentaires et comment les ajouter et les enregistrer correctement.
# first program
print("Hello World")
Puis je leur ai présenté le turtle
module. Nous avons parlé des éléments d’un carré ; que les carrés sont composés de quatre côtés égaux et contiennent des angles de 90 degrés. Nous avons écrit le code suivant ensemble, enregistré notre travail et l’avons exécuté.
# First Turtle Square
import turtle
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
J’ai expliqué comment modifier le code et ajouter des fonctionnalités telles qu’une couleur de stylo différente et un arrière-plan de couleur différente.
# First Turtle Square
import turtle
turtle.pencolor("blue")
turtle.bgcolor("yellow")
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(90)
Je leur ai présenté le turtle.shape
pour changer de la valeur par défaut pour ressembler davantage à une tortue. Je les ai encouragés à sauvegarder à chaque fois et à itérer. Ils se sont amusés à partager leurs résultats.
Lors de notre deuxième séance, j’ai montré comment utiliser un pour boucle pour dessiner un carré et comment nettoyer le code en attribuant la “tortue” à une lettre spécifique. Ensuite, j’ai exécuté le code.
#For Loop
import turtle as t
for x in range(4):
t.forward(200)
t.right(91)
L’un des étudiants qui avait rencontré des problèmes de mathématiques dans le passé a dit : « Ce carré a l’air tordu.
J’ai dit: “Tu as raison. Qu’y a-t-il de mal à cela?”
Elle m’a fait savoir que mon t.right
devrait être 90
et pas 91
. J’ai corrigé l’erreur et relancé le code. Cela avait l’air parfait, et elle était fière d’avoir connu quelques succès en mathématiques.
Nous avons modifié notre code et je leur ai présenté de nouvelles possibilités dans le module tortue, notamment la vitesse, la couleur du stylo et la couleur d’arrière-plan. Ils ont apprécié quand j’ai montré comment nous pouvions facilement créer une spirale carrée en utilisant le code suivant :
# square spiral
import turtle as t
t.speed(0)
t.bgcolor("blue")
t.pencolor("yellow")
for x in range(200):
t.forward(x)
t.right(91)
Nous avons encore changé notre code pour créer des spirales circulaires. Les étudiants se penchaient sur l’apprentissage et notre cours de quatre-vingt-dix minutes a pris fin. L’une des étudiantes est à l’école d’été pour reprendre la géométrie qu’elle a échouée pendant l’année scolaire, et chaque jour, elle parcourt un pâté de maisons et demi pour se rendre dans notre classe, où elle excelle dans la construction de formes géométriques. Elle a le sens du détail et aide régulièrement les autres étudiants à identifier les erreurs dans leur code. Son œil vigilant m’a inspiré à discuter avec le groupe de la valeur des logiciels open source et du pouvoir de nombreux yeux sur le code.
(Don Watkins, CC BY-SA 4.0)
# circle spiral
import turtle as t
t.speed(0)
t.bgcolor("blue")
t.pencolor("yellow")
for x in range(100):
t.circle(x*2)
t.right(91)
t.setpos(60,75)
for x in range(100):
t.circle(x)
t.right(91)
(Don Watkins, CC BY-SA 4.0)
L’utilisation de Python avec du matériel et des logiciels open source pour faciliter l’enseignement des mathématiques m’étonne. Avec un peu d’ingéniosité, il est possible de réinventer l’enseignement des mathématiques. Chaque élève qui a participé à notre cours recevra le Raspberry Pi 400 sur lequel il a travaillé à emporter chez lui et à utiliser. Ils devront trouver un écran auquel se connecter, mais pour un peu plus de cent dollars l’unité, nous investissons dans leur avenir. Vous pouvez avoir le même effet dans votre communauté si vous êtes prêt à donner de votre temps. Les bibliothèques publiques sont d’excellents espaces pour les activités parascolaires, et certaines des ressources que j’ai utilisées comme base pour mes cours proviennent de livres de bibliothèque. L’un de ces livres est Teach Your Kids to Code. Un autre est Python pour les enfants et Un tutoriel simple sur les tortues par Al Sweigart est disponible en ligne. Nous avons utilisé des kits Raspberry PI 400 avec des moniteurs VGA et des adaptateurs microHDMI vers VGA. Vous pouvez facilement adapter cette instruction à l’aide d’ordinateurs portables Linux, Windows et/ou macOS remis à neuf.