Atelier d'initiation à la programmation

Bonjour à toutes et à tous !

À la rentrée prochaine sera enseignée, dans certains lycées, une nouvelle discipline scolaire dédiée au numérique, avec, notamment, des cours d’apprentissage de la programmation. Dans les prochaines années, l’enseignement de cette discipline va être généralisé à l’ensemble des lycées technologiques et d’enseignement général, et c’est pour cela que le gouvernement va créer, dés 2020, un CAPES d’informatique. Le langage retenu par l’Éducation nationale pour l’apprentissage de la programmation est Python.

Je travaille justement sur le développement d’un outil permettant d’écrire des exercices d’accompagnement pour des cours d’apprentissage de la programmation. Les exercices utilisant cet outil auront pour particularité d’avoir, au lieu de l’habituelle interface texte, une véritable interface graphique. L’idée, c’est de rendre ces exercices plus attrayants pour ceux qui ne connaissent l’informatique qu’au travers de leur smartphone, je pense notamment aux adolescents, et qui, de ce fait, seraient probablement rebutés par une interface texte.

À titre de preuve de concept, j’ai crée un dépôt Github avec quelques exemples d’exercices basés sur cet outil : https://q37.info/s/tpkx4cfk. Il y a des exercices de type Hello, World! qui visent à familiariser l’étudiant avec certains concepts (très) basiques de programmation. D’autres exercices mettent en avant des concepts plus avancés, dont certains s’appuient sur une API similaire à celle, dédiée au graphisme, du langage Logo (la fameuse tortue). Il y a aussi un exercice qui consiste à implémenter le jeu du pendu.

Ce jeu pourra être découpé en plusieurs exercices de difficultés croissantes. Pour les plus faciles, l’étudiant aura à disposition une API prenant en charge les fonctionnalités les plus difficiles, et, pour les exercices plus difficiles, l’étudiant devra lui-même développer ces fonctionnalités. Je pense que cette approche est une bonne idée, et compte implémenter d’autres jeux dans cette optique (propositions bienvenues !).

Pour tester ces exercices, il suffit de récupérer le contenu du dépôt (avec un git clone…, ou par téléchargement direct du fichier ZIP correspondant (https://q37.info/s/js7fm3vj)), de se rendre, avec une console, au répertoire racine, et de lancer python fr/(A|B|C|Z_(1|2(a|b)|3)).py (par exemple : python fr/Z_2a.py). Pour ceux qui préfèrent la version anglaise des exercices, remplacer fr par en.

J’essaye de développer une série cohérente d’exercices qui pourrait, par exemple, être utilisée dans le cadre d’un atelier EducPop d’initiation à la programmation, sachant qu’il y aura probablement une demande pour de tels ateliers lorsque cette nouvelle discipline sera enseignée dans les lycées. S’il y en a qui veulent participer, toute contribution, sous quelque forme que ce soit, est la bienvenue !

P.S.: pour le titre, il y a apparemment un bug, parce que moi, à l’édition, j’ai bien une apostrophe…

Plop, moi j’avais créé ça pour mes cours de programmation pour des élèves de 15 ans: https://reflexlibre.net/fr/programmation.html

Note, la caricature n’est pas de moi, et potentiellement certains textes aussi… Raison pour laquelle j’ai pas publié de repo, sachant que j’avais codé ça en quelques heures la veille du premier cours…