
L'année dernière, j'ai travaillé comme enseignant dans un des centres de formation provinciaux (ci-après dénommé CF), spécialisé dans l'apprentissage de la programmation. Je ne vais pas nommer ce centre de formation, et je vais essayer d'éviter les noms d'entreprises, les noms d'auteurs, etc.
J'ai donc été enseignant en Python et en Java. Ce CF a acquis des matériaux pédagogiques pour Java, tandis que Python a été lancé quand je suis arrivé et leur ai proposé cela.
Le manuel pour les élèves (en gros un livre ou un auto-apprentissage) que j'ai écrit pour Python a été influencé par l'enseignement de Java et les matériaux pédagogiques utilisés là-bas.
Dire qu'ils étaient horribles serait un euphémisme. Le modus operandi du livre sur Java, fourni par une entreprise très connue en Russie, n'était pas d'enseigner les bases de ce langage en général et la paradigme orientée objet en particulier, mais plutôt que les parents, venant aux cours ouverts, voient comment leur fils ou leur fille ont copié un serpent ou des échecs depuis le livre. Pourquoi dis-je copié ? C'est très simple, en fait, le livre contenait des feuilles entières (A4) de code, dont certains aspects n'étaient pas expliqués. En fin de compte, l'enseignant devait soit contrôler à quel endroit du code chaque élève se trouvait, en expliquant chaque ligne, soit tout se terminait en tricherie.
Vous pourriez dire : « Et alors, que peut-on y faire ? Laissez l'enseignant travailler mieux, et les échecs et le serpent, c'est vraiment génial ! »
Eh bien, tout serait super, si le nombre d'élèves dans le groupe n'était pas d'environ 15, ce qui complique considérablement les choses quand vous devez suivre tous les élèves, en expliquant : « Mais qu'écrivons-nous exactement ? »
En plus du nombre d'élèves dans le groupe, il y a un autre problème lié à ce manuel. Le code est écrit... comment dire, simplement horriblement. Un ensemble d'anti-modèles, des archaïsmes, car le livre n'a pas été mis à jour depuis longtemps, et notre cher ami, bien sûr, le guide de style. Par conséquent, même si vous parvenez à contrôler tous vos élèves et à leur expliquer rapidement et clairement ce que signifie le code copié, le code lui-même est si mauvais qu'il n'enseigne pas, pour le dire poliment, ce qu'il faut.
Et voici la conclusion, qui détruit littéralement ce manuel — dès le départ, il n'y a aucune introduction adéquate expliquant ce que sont les types de données, qu'il existe des types objets et primitifs, quel critère vérifie la propriété, générant cette dichotomie, etc. Dans le premier chapitre, il vous est proposé, à vous et à vos élèves, d'écrire un programme qui crée une fenêtre et y affiche "Bonjour !", mais il n'est pas expliqué ce que signifie réellement ce morceau de code, seulement des références à des leçons ultérieures, par exemple, "main" est mentionné — le point d'entrée, mais même le concept de "point d'entrée" n'est pas expliqué.
En résumé, ce document était une plaisanterie même parmi les enseignants et les responsables. Il n'apprenait littéralement rien aux enfants ; une fois, je me suis retrouvé avec un groupe qui étudiait déjà depuis un an avec ces matériaux, et ils ne savaient même pas écrire une boucle, bien que tous étaient très intelligents et que, rapidement, les choses allaient mieux. La plupart des collègues essayaient de s'écarter des matériaux pédagogiques afin que l'information soit assimilée et ne s'évapore pas simplement dans l'air, bien qu'il y eût aussi des personnes moins scrupuleuses, considérant normal que leurs élèves copient sans aucune explication.
Lorsque j'ai compris que je quitterais le Centre de Formation et que je devais continuer le programme Python l'année suivante, j'ai commencé à écrire mon propre manuel. En bref, je l'ai divisé en deux parties ; dans la première, j'expliquais tout sur les types de données, leur essence, les opérations les concernant, et les instructions du langage. Entre les thèmes, je faisais des QnA, pour que le futur enseignant puisse comprendre comment l'élève a assimilé le sujet. Et à la fin, j'ai ajouté un petit projet. Ainsi, la première partie explique les bases du langage et les développe, ce qui représente environ 12-13 leçons de 30-40 minutes. Dans la deuxième partie, j'ai abordé la POO, décrivant en quoi la mise en œuvre de cette paradigm en Python diffère de la plupart des autres, avec de nombreuses références au style guide, etc. Pour résumer — j'ai essayé d'être le moins ressemblant possible à ce qui était dans le manuel Java. Récemment, j'ai écrit à l'actuel professeur de Python pour demander des retours sur les matériaux, et je suis heureux de constater que tout va bien, que les enfants comprennent vraiment la programmation en Python.
Quelle conclusion je voudrais tirer de cette histoire : chers parents, si vous décidez d'envoyer votre enfant dans un centre de formation, surveillez attentivement ce qu'ils font pour que votre enfant ne perde pas son temps en vain, afin de ne pas lui faire perdre l'envie de programmer à l'avenir.
UPD : Comme l'ont justement noté dans les commentaires, je n'ai presque rien dit sur la présentation du matériel. Je dirai tout de suite que je pense qu'il devrait y avoir plus de pratique, le plus possible. À la fin de chaque leçon de la première partie, je faisais 4 à 5 petits exercices pratiques sur le thème de chaque chapitre. Entre les chapitres, il y avait des QnA (leçons de contrôle), où il y avait aussi des devoirs pratiques, mais qui étaient évalués. À la fin de la première partie, il y avait aussi un projet sur un sujet au choix parmi ceux proposés. Dans la seconde partie, j'ai fait une introduction à la POO à travers la création d'un mini-jeu console, dont le développement constituait l'ensemble de cette seconde partie et l'introduction à la paradigm.
Seuls les utilisateurs enregistrés peuvent participer au sondage. , s'il vous plaît.
Votre enfant apprend-il la programmation dans un centre de formation ?
4,6%Oui3
95,4%Non62
65 utilisateurs ont voté. 27 utilisateurs se sont abstenus.
Source : habr.com
