Comment j'enseigne aux enfants Python

image

Mon travail principal est lié aux données et à la programmation R , mais dans cet article, je veux parler de mon hobby, qui apporte même des revenus. J'ai toujours voulu raconter et expliquer des choses à des amis, des camarades de classe et des camarades de classe. Il m’a toujours été facile de trouver une langue commune avec les enfants, je ne sais pas pourquoi. En général, je crois que l'éducation et l'éducation des enfants est l'une des occupations les plus importantes de tous, et ma femme est enseignante. En général, il y a environ un an, j'ai fait de la publicité dans un groupe local sur Facebook, tapé dans un groupe et commencé à enseigner le scratch et le python une fois par semaine. Maintenant, j'ai cinq groupes, ma propre classe à la maison et des leçons individuelles. Comment je suis arrivé à une telle vie et comment j'enseigne exactement aux enfants, je vais l'expliquer dans cet article.

J'habite au Canada, la ville de Calgary, en Alberta, donc certains points seront liés aux spécificités locales.

Pièce


Avoir de l'espace pour les cours était un problème majeur depuis le tout début. J'ai essayé de chercher des bureaux et des classes à louer à l'heure, mais sans grand succès. Notre université et SAIT, l'équivalent local du MIT, suivent des cours avec et sans ordinateur. Les prix se sont avérés peu humains, mais finalement il s'est avéré que l'université ne laissait pas les mineurs, et SAIT ne passait généralement qu'à ses étudiants. Donc, cette option a disparu. Il existe de nombreux centres de bureaux qui louent des salles de réunion et des bureaux à l'heure; il existe des entreprises entières qui offrent un tas d'options d'une classe à part entière à une salle pour quatre personnes. J'avais de l'espoir, puisque l'Alberta est une province pétrolière, nous avons connu une crise atone depuis 2014 et de nombreux secteurs d'activité sont vides. J'espérais en vain que les prix étaient tellement tirés par des chevaux que je n'y ai même pas cru au début. Il est plus facile pour les propriétaires de s'asseoir dans des bureaux vides et de payer des frais que de déverser.

En ce moment, je me suis souvenu que je paye régulièrement des impôts, et si notre cher État y a quelque chose, ou plutôt la ville de Calgary. Il s'est avéré qu'il y en a beaucoup. La ville possède des arénas pour jouer au hockey et au patinage artistique, et ces arénas ont des salles où les durs guerriers des glaces discutent des stratégies pour les batailles futures. En bref, dans chaque arène, il y a quelques chambres avec des tables, des chaises, un tableau blanc et même un évier avec une bouilloire. Le prix est assez divin - 25 tugriks canadiens par heure. J'ai d'abord décidé de faire des cours d'une heure et demie, alors j'ai fixé le prix d'une leçon de 35 $ du nez dans un groupe de cinq personnes pour compenser le loyer, eh bien, mettez quelque chose dans ma poche. En général, j'aimais étudier dans les arènes, cela résolvait l'un des problèmes - la plupart des russophones vivent dans le sud et je vis dans le nord de la ville, alors j'ai choisi l'arène au milieu. Mais il y avait des inconvénients. La bureaucratie canadienne est bonne et amicale, mais, pour ainsi dire, c'est un peu lent. Il n'y a aucun problème lorsque vous vous habituez au rythme et planifiez à l'avance, mais parfois des moments désagréables surviennent. Par exemple, sur le site Web de la ville, vous pouvez facilement choisir l’heure et le lieu, réserver une chambre, mais vous ne pouvez en aucun cas payer. Ils appellent par téléphone et acceptent les paiements par carte. Vous pouvez vous rendre au bureau et payer en espèces. Il y a eu un moment drôle mais pas très agréable où j'attendais leur appel pour payer la deuxième leçon, je n'ai pas attendu et j'étais en retard au bureau le dernier jour pendant quinze minutes. J'ai dû m'approcher du garde avec un visage effronté et mentir que la chambre était réservée. Nous les Canadiens, nous prenons notre parole, nous avons laissé tranquillement entrer et je n'ai rien vérifié, mais je ne le ferais pas si les gens n'étaient pas allés en classe.

J'ai donc étudié l'hiver et le printemps, puis il y a eu des changements qui sont devenus la dernière paille. Tout d'abord, le bureau était fermé aux visiteurs et proposait d'accepter le paiement par téléphone au coin de la rue. Je me suis assis pendant au moins une demi-heure dans l'allée avant de téléphoner. Deuxièmement, si avant ma chère tante me prenait le paiement pendant une heure et demie, maintenant une fille décrochait le téléphone et disait que le paiement n'était qu'à l'heure. À cette époque, j'avais un groupe de trois ou deux personnes, et les 12,5 $ supplémentaires n'étaient pas du tout supplémentaires. Bien sûr, je suis idéologique, mais si ma femme me chasse dans la rue, il n'y aura personne pour enseigner. J'étais encore sans travail à l'époque.

Et j'ai décidé d'aller à la bibliothèque. Les bibliothèques louent gratuitement de belles salles, mais il y a une chose: vous ne pouvez pas mener d'activités commerciales. Même les organisations caritatives n'ont pas le droit de collecter de l'argent là-bas. Ils m'ont dit que ce n'est pas particulièrement contrôlé, l'essentiel ici n'est pas de prendre de l'argent à l'entrée, mais je n'aime vraiment pas enfreindre les règles. Autre problème - les salles sont souvent occupées et il est difficile de dispenser des cours selon un horaire en même temps et en un seul endroit. J'ai enseigné les bibliothèques en été et au début de l'hiver, j'ai dû choisir celles où il y a une place, au final j'ai changé cinq ou six bibliothèques. Puis il a commencé à réserver une place en deux mois, et puis, il s'est avéré que cela ne se faisait que dans une petite bibliothèque, dans le reste il n'y avait régulièrement pas de place au bon moment. Et puis j'ai décidé de faire un cours d'informatique à la maison. J'ai accroché le tableau, acheté une annonce pour une deuxième table et quelques vieux moniteurs. Pour le travail, l'entreprise m'a acheté un nouvel ordinateur portable puissant, car l'analyse a pris près de 24 heures sur mon ordinateur. Au total, j'avais un nouvel ancien ordinateur, un vieil ordinateur ancien, un ordinateur portable, dans lequel mon petit écran écrasé et un ancien netbook, sur lequel j'ai moi-même écrasé l'écran. Je les ai tous connectés aux moniteurs et installé Linux Mint partout, à l'exception du netbook, sur lequel j'ai installé une distribution très légère, semble-t-il, pappi. J'ai encore un vieil ordinateur portable neuf acheté 200 $, je l'ai connecté au téléviseur. Une autre chose importante est que notre propriétaire a récemment changé de fenêtre pour nous, et maintenant dans la pièce il y a de nouveaux cadres blancs au lieu d'une terrible misère effondrée. L'épouse tient le salon, la cuisine et la deuxième chambre sous un jardin d'enfants, donc tout l'étage s'est avéré être purement pédagogique. Donc, maintenant tout va bien dans la salle, passons directement à l'enseignement.

Gratter


Je commence à donner les bases de la programmation avec le langage scratch. Il s'agit d'un langage qui utilise des blocs prêts à l'emploi, inventés à l'époque dans le MIT. La plupart des enfants ont déjà vu des albums de coupures à l'école, si vite maîtrisés. Il existe des programmes prêts à l'emploi et des plans de cours, mais je ne les aime pas du tout. Certains étranges - créez votre propre histoire, par exemple. L'ensemble du programme se compose d'innombrables blocs say '<...>' for 2 seconds . On peut voir qu'il a été inventé par des personnalités très créatives, mais avec cette approche, vous pouvez apprendre à écrire le code spaghetti indien classique. Je parle de principes comme DRY depuis le tout début. D'autres collections de tâches sont assez bonnes, mais les enfants vont vite au fond des choses et commencent à les faire comme une mitrailleuse. En conséquence, dans une leçon, ils font ce qu'ils devraient avoir sur cinq. Et la recherche et la sélection des tâches prennent beaucoup de temps personnel. En général, le scratch ne rappelle pas une langue, mais un IDE, où il vous suffit de vous rappeler où cliquer et où chercher. Dès que les élèves apprennent plus ou moins, j'essaie de les transférer en python. J'ai même une fille de sept ans sur python qui écrit des programmes simples. Ce que je vois l'avantage de gratter - il existe de tels concepts de base qui sont assimilés de manière ludique. Pour une raison quelconque, sans exception, il est très difficile pour tout le monde de comprendre l'idée d'une variable. Au début, j'ai rapidement parcouru ce sujet et j'ai continué jusqu'à ce que je découvre qu'ils ne savaient généralement pas quoi faire à ce sujet. Maintenant, je consacre beaucoup de temps aux variables et j'y reviens constamment. Je dois faire un groove stupide. Je change différentes variables à l'écran et leur fais dire leur signification. De plus, il existe des structures de contrôle et des contrôles de valeurs, tels que while , for ou if en python. Ils sont donnés assez facilement, seuls les cycles imbriqués posent des problèmes. J'essaie de donner plusieurs tâches avec une boucle imbriquée, et pour que son action soit claire. Après cela, je passe aux fonctions. Même pour les adultes, le concept de fonction n'est pas évident, et encore plus pour les enfants. Pendant longtemps, je crucifie ce qu'est une fonction en général, je parle d'une usine qui reçoit des objets en entrée et distribue des marchandises, d'un cuisinier qui fabrique des aliments à partir de produits bruts. Ensuite, nous faisons un programme «faire un sandwich» avec des produits, puis nous en faisons une fonction, à laquelle les produits sont passés en tant que paramètres. Sur l'étude des fonctions, je me retrouve avec une égratignure.

Python


Python est plus facile. Il y a un bon livre sur Python pour les enfants, et j'apprends de lui. Tout y est standard - chaînes, ordre des opérations, print() , input() , etc. Écrit dans un langage simple, avec humour, les enfants l'aiment. Il présente une faille inhérente à de nombreux livres de programmation. Comme dans une blague célèbre - comment dessiner un hibou. Ovale - cercle - hibou. De concepts simples, transition trop brusque à des concepts assez complexes. Il me faut quelques leçons pour attacher l'objet à la méthode des points. D'un autre côté, je ne suis pas pressé, je répète la même chose de manière différente jusqu'à ce qu'au moins une image se développe. Je commence par les variables et je les martèle à nouveau, déjà en python. Les variables sont une sorte de malédiction.

Un étudiant intelligent qui a intelligemment cliqué sur des variables sur une égratignure il y a quelques mois, ressemble à un bélier à une nouvelle porte et ne peut pas ajouter X au joueur, qui sont clairement écrits sur la ligne du tableau ci-dessus. Répétez! Qu'est-ce qu'une variable a? Nom et signification! Que signifie le signe égal? Affectation! Et comment vérifions-nous l'égalité? Double signe égal! Et ainsi nous répétons encore et encore, jusqu'à l'illumination complète. Ensuite, nous passons aux fonctions, où l'explication des arguments prend le plus de temps. Arguments nommés, par position, par défaut, etc. Nous n'avons pas encore atteint les classes dans aucun groupe. En plus de python dans le livre, nous étudions les algorithmes populaires, plus à ce sujet plus tard.

En fait, la formation


Ma leçon est organisée comme ceci - pendant une demi-heure je donne une théorie, teste les connaissances, consolide ce que j'ai appris. Hour - Labs. Souvent, je m'emballe et je diffuse jusqu'à une heure, puis une demi-heure est laissée à l'entraînement, respectivement. Lorsque j'apprenais le python, j'ai suivi le cours d' algorithmes et de structures de données de Khiryanov du MIPT. J'ai beaucoup aimé sa présentation et la structure des conférences. Son idée est la suivante: les frameworks, la syntaxe, les bibliothèques deviennent obsolètes. L'architecture, le travail d'équipe, les systèmes de contrôle de version sont trop tôt. En conséquence, il reste des algorithmes et des structures de données qui sont connus depuis longtemps et seront toujours sous une forme similaire. Moi-même de l'institut pascal uniquement des entiers et je m'en souviens. Étant donné que mes étudiants sont pour la plupart jeunes, de sept à quinze ans, je pense qu'il est plus important pour leur avenir de jeter les bases que d'écrire rapidement un jeu de plateforme en python. Bien, ils aiment plus un jeu de plateforme, et je les comprends. Je leur donne des algorithmes simples - une bulle, une recherche binaire dans une liste triée, une notation polonaise inversée en utilisant la pile, mais nous les analysons en détail. Il s'est avéré que les enfants modernes ne savent pas, en principe, comment l'ordinateur est organisé, je le dis aussi. Dans chaque conférence, j'essaie de connecter plusieurs concepts ensemble. Par exemple, un ordinateur - mémoire / pourcentage - mémoire des cellules (laissez-moi tenir une carte mémoire, devinez combien de cellules sont ici) - chaque cellule est comme une ampoule - il y a deux états - vrai / faux - et / ou - binaire / décimal - 8bit = 1 octet - octet = 256 options - un type de données logique sur un bit - des entiers sur un octet - float sur deux octets - string sur un octet - le plus grand nombre sur 64 bits - une liste et un tuple des types précédents. Je réserve que dans un vrai ordinateur, tout est légèrement différent et une quantité de mémoire différente pour ces types de données, mais l'essentiel est que dans le processus, nous créons nous-mêmes des types de données plus complexes à partir de types plus simples. Les types de données sont peut-être la chose la plus difficile à retenir. Par conséquent, je commence chaque leçon par un échauffement rapide - un élève nomme le type de données, le suivant donne deux exemples, etc. En conséquence, je me suis assuré que même les plus jeunes enfants crient joyeusement - flottez! booléen! sept, cinq! pizza, voiture! Pendant la conférence, je me branle constamment l'un ou l'autre, sinon ils commencent rapidement à se pincer le nez et à regarder le plafond. Et le niveau de connaissance de chacun doit être vérifié entre les cas.

Mes élèves ne cessent de m'étonner par leur stupidité et leur vivacité d'esprit inattendue. Astuce, heureusement, plus souvent.

Je voulais écrire plus, mais la feuille s'est quand même avérée. Je répondrai avec plaisir à toutes les questions. J'accueille favorablement toutes les critiques, seulement une demande - d'être plus tolérant les uns envers les autres dans les commentaires. Ceci est un bon article.

Source: https://habr.com/ru/post/fr485424/


All Articles