Article original : What I Learned Teaching 20 High School Girls How to Code
Le premier jour, elles ne savaient même pas ce qu'était un float. Le quatorzième jour, elles avaient programmé un jeu de démineur, un décodeur de chiffre ou une simulation d'apocalypse zombie. Et je les ai aidées à apprendre comment faire.
Chaque été, le MIT accueille un programme appelé WTP, ou Women's Technology Program.
Selon les propres mots du programme, son objectif est :
"d'éveiller l'intérêt pour l'étude future de l'ingénierie et de l'informatique chez les lycéennes de première année".
Le programme favorise une communauté collaborative et centrée sur les femmes pour celles qui n'ont pas eu l'opportunité d'explorer l'ingénierie et la technologie.
Cette année, j'ai eu le privilège d'être l'instructrice en informatique pour la filière EECS (Electrical Engineering and Computer Science) du WTP. Cela signifiait que j'allais enseigner à 20 lycéennes comment coder – aucune d'entre elles n'avait eu de contact préalable avec la programmation.

En deux courtes semaines, moi ainsi que quatre brillants tuteurs du MIT, leur enseignerions les bases de la programmation en Python : types de données, variables, conditionnelles, boucles, fonctions, classes, et même l'héritage. La dernière semaine du programme serait réservée à la réalisation d'un projet de programmation de leur choix, mettant à l'épreuve leurs nouvelles compétences.
En tant qu'instructrice, j'ai passé plus d'un mois à préparer les matériaux pour le cours. Pendant le cours (sans jeu de mots), j'ai passé trois heures par jour à donner des conférences et une heure par jour à tenir des heures de bureau pour les étudiants. Voici ce que j'ai appris en cours de route :
1) Tout le monde peut apprendre à coder
Oui, tout le monde.

Le premier jour, j'ai distribué à chacun une feuille de référence Python. Elles l'ont regardée avec horreur et intimidation (je dois admettre, la mise en page était un peu effrayante). Mais au huitième jour, nous avons discuté de la feuille de référence et le consensus général était qu'elles comprenaient presque tout !
Les filles que j'ai enseignées venaient de tout le pays, avec des parcours variés et un accès différent aux ressources. À la fin du cours, toutes les étudiantes avaient l'impression de comprendre les bases et avaient simplement besoin de plus de répétition.
Peut-être que certaines étudiantes avec un meilleur accès aux ressources en mathématiques et en sciences ont saisi les concepts plus rapidement, mais celles sans le même parcours ont tout de même pu comprendre ces sujets éventuellement. Cela a pris un travail supplémentaire.
Ces étudiantes cherchaient souvent de l'aide supplémentaire pour les devoirs, ou passaient volontairement leur temps à réviser des problèmes supplémentaires. Néanmoins, à la fin de la journée, elles étaient capables de compléter les mêmes tâches et projets que leurs pairs plus avancés.
2) La communauté compte
Quand on apprend avec d'autres personnes, cela fait toute la différence. Une communauté accueillante et bienveillante peut vous aider à répondre à des questions, expliquer un concept sous un angle différent, et vous rappeler que la route est difficile, mais que vous êtes tous dans le même bateau.

Souvent, mes étudiantes formaient leurs propres groupes de résolution de problèmes pour discuter des approches à adopter pour les différents devoirs. En fait, cette collaboration est encouragée par les politiques du MIT.
Dans ces groupes, lorsque vous discutez de différentes solutions et pesez le pour et le contre de chaque solution, vous vous exposez à de nouvelles idées et à de nouveaux concepts.
En fin de compte, cela développe des compétences en résolution de problèmes. Au cœur de la programmation, il y a la résolution de problèmes.
Le WTP a créé une communauté unique de femmes bienveillantes, dirigée par des femmes dans les STEM. J'ai remarqué que la clé pour construire une communauté bienveillante et accueillante est la patience, la compréhension et le dialogue ouvert – en veillant à ce que personne ne se sente exclu, ridiculisé ou rabaissé.
3) Le codage demande de la pratique
Au début du cours, j'ai demandé à mes étudiantes si quelqu'un connaissait ou apprenait une autre langue. Dix mains se sont levées. Ensuite, j'ai demandé à mes étudiantes si elles pouvaient écrire un livre dans cette langue. Aucune main n'était en l'air.
Apprendre un langage de programmation est très similaire à apprendre une autre langue. Bien qu'il soit crucial de comprendre la grammaire, le vocabulaire et la syntaxe, ceux-ci deviennent intuitifs avec la pratique.

Mais programmer un script est très similaire à écrire un livre (ou peut-être un essai). L'idée et la structure sont aussi importantes que la langue elle-même.
Les mots seuls ne font pas un livre. Les idées écrivent le livre, et la langue exprime simplement ces idées. De même, les conditionnelles et les boucles seules ne constituent pas un script. La logique écrit l'épine dorsale, et les conditionnelles/boucles indiquent à l'ordinateur comment l'exécuter.
Comment puis-je garder une trace des lettres utilisées dans le pendu ? Comment puis-je trouver l'index du plus petit nombre dans une liste ? Comment devrais-je représenter ce polynôme ?
Pour un programmeur débutant, ce sont des questions intimidantes. Pour quelqu'un qui a de l'expérience, cela vient avec l'intuition. La seule différence entre le débutant et l'expert est le temps passé à pratiquer la compétence.
4) Enseigner est gratifiant
J'aurais pu passer mon été à me détendre sur la côte californienne. Au lieu de cela, j'ai choisi d'enseigner. Je n'ai aucun regret.
Enseigner est difficile. Il y a un dicton qui dit quelque chose comme : si vous ne pouvez pas l'enseigner, vous ne le connaissez pas. Enseigner vous oblige à comprendre pleinement un concept afin de pouvoir l'expliquer de plusieurs manières aux autres. C'est épuisant de se répéter encore et encore, en espérant que peut-être le concept finira par être compris.
Cependant, lorsque qu'un étudiant a ce moment AHA ! quand quelque chose finit par avoir du sens, c'est la meilleure sensation au monde. Savoir que vous avez transmis votre connaissance à quelqu'un qui désirait l'apprendre signifie que vous avez offert un cadeau inestimable.

J'ai eu l'extrême privilège de passer par un système éducatif qui valorise l'apprentissage et de pouvoir fréquenter l'un des collèges les plus renommés d'Amérique. J'attribue beaucoup de cela aux enseignants que j'ai eus en grandissant. C'est la preuve que les enseignants peuvent avoir un énorme impact.
À la fin du cours, certaines des étudiantes étaient enthousiastes à l'idée de montrer à leurs amis ce qu'elles avaient appris et de les aider à apprendre à coder également.
L'acte d'enseigner est exponentiel.

En réflexion
Initialement, j'étais hésitante à l'idée d'être l'instructrice. Cela signifiait trois semaines de mon été après l'obtention de mon diplôme occupées par l'enseignement. Vingt lycéennes introduites à la programmation par moi, leurs pensées sur les STEM influencées par la manière dont j'ai enseigné mon cours. J'étais nerveuse.
Cependant, en réfléchissant à l'été, je suis extrêmement reconnaissante d'avoir eu cette opportunité unique de pouvoir interagir avec et enseigner à ces étudiantes. Je les ai aidées à apprendre non seulement à programmer en Python, mais aussi à penser comme une informaticienne. Cela m'a inspiré à continuer à enseigner, surtout dans des environnements interactifs où je pourrais poser des questions en temps réel.
À la toute fin du programme, les étudiantes ont créé un "monthbook" et ont écrit des petits mots mignons les unes aux autres et au personnel. En lisant les messages qui m'étaient adressés, je me suis sentie honorée de faire partie de leur introduction à l'informatique. Elles ont été tout aussi inspirantes pour moi que je l'ai été pour elles.