Depuis le lancement du cours de programmation Python pour les jeunes en 2018, il a maintenant traversé plus de huit ans de pratique en classe. Après des années d’enseignement, d’ajustements et de retours d’élèves, je voulais écrire ce texte pour partager ce que j’ai appris.
D’où vient le programme
Mes tout premiers supports de cours étaient construits autour de Java. En raison de la nature du langage, ce cours convenait à des élèves d’environ 14 ans. À mesure que mes élèves rajeunissaient, ces supports ne convenaient plus. J’ai donc entrepris de rédiger un nouveau programme bâti autour de Python, adapté à toute la tranche des 9 à 16 ans.
Les supports Python sont tirés directement des manuels et notes de cours d’introduction à l’informatique de plusieurs universités nord-américaines réputées — puis simplifiés, annotés et enrichis d’exemples et d’exercices avant d’arriver en classe.
Des âges différents, des rythmes différents
Le nouveau cours de Python a été lancé début 2018. Au fil de nombreuses cohortes et tranches d’âge, j’ai continuellement affiné le contenu. La différence la plus visible, c’est le rythme.
Prenons les élèves de 11 ans et de 14 ans : une unité demande au moins 15 leçons à un élève de 11 ans, et l’étape de base compte six unités au total. Ainsi, un élève qui commence à 11 ans a besoin d’environ 1,5 à 2 ans pour acquérir des bases solides en programmation — et il ne peut pas s’arrêter trop longtemps (par exemple durant les vacances d’été ou d’hiver), avec une pratique continue entre les cours. Pour un élève de 14 ans, le même contenu prend environ 12 leçons.
Le contenu du cours
Prenons la première unité : avec les exemples et les exercices, j’en ai fait environ 200 pages de diapositives. Comme je l’ai mentionné, un élève de 11 ans a besoin de 15 leçons pour parcourir ces 200 pages.
Personnellement, s’il ne s’agissait que d’exposer la matière, je pourrais finir rapidement. Mais que les élèves la maîtrisent et l’appliquent vraiment est une tout autre affaire. En programmation, passer de « je comprends » à « je sais m’en servir », ce sont deux étapes distinctes.
J’ai préparé six unités thématiques de ce type, menant les élèves de zéro jusqu’à la capacité de transformer leurs propres idées en programmes fonctionnels. Elles couvrent :
- Les fondamentaux de la programmation
- Les variables
- Les structures de contrôle
- Les fonctions
- Le tri
- La programmation orientée objet (POO)
- Les structures de données de base
- La programmation fonctionnelle
- Les algorithmes simples
En plus de ces six unités thématiques, j’ai préparé des modules autonomes — intégrant le graphisme, la création de jeux, et plus encore — à utiliser au bon moment pour rendre le cours plus stimulant.
La programmation en texte, est-ce ennuyeux ?
Un parent m’a déjà demandé si la programmation en mode texte, qui ressemble un peu à de la saisie, risquait de paraître monotone et difficile à tenir pour un enfant. Cette inquiétude est sans fondement.
Apprendre à programmer est loin d’être aussi monotone qu’il n’y paraît. Nous utilisons des programmes pour concrétiser des fonctionnalités et des idées. Lorsqu’un élève entre dans le cours et transforme ses propres idées et ses nouvelles compétences en code qui s’exécute sur l’ordinateur, la fierté de voir le résultat nourrit sans cesse sa motivation à poursuivre.
Un mot pour conclure
En guise de dernier volet de « Cours de Python pour les jeunes : bilan », je tiens à remercier tout particulièrement les élèves et les parents qui m’ont soutenu et fait confiance au fil des ans. Voir tant d’élèves découvrir leurs passions par l’apprentissage — et finir par entrer à l’université et se lancer dans le domaine — me remplit de joie et de gratitude. En réalisant leurs propres rêves, mes élèves m’aident à réaliser les miens.