Wie ich Kindern Python beibringe

Wie ich Kindern Python beibringe

Meine Hauptbeschäftigung bezieht sich auf Daten und Programmierung in, aber in diesem Artikel möchte ich über mein Hobby sprechen, das sogar ein gewisses Einkommen bringt. Ich hatte immer Interesse daran, Freunden, Klassenkameraden und Kommilitonen etwas zu erzählen und zu erklären. Außerdem fiel es mir immer leicht, mit Kindern zu kommunizieren, ich weiß nicht, warum. Insgesamt denke ich, dass die Erziehung und Ausbildung von Kindern eine der wichtigsten Aufgaben ist, und meine Frau ist Lehrerin. Vor etwa einem Jahr habe ich eine Anzeige in einer lokalen Facebook-Gruppe geschaltet, eine Gruppe gegründet und angefangen, Scratch und Python einmal pro Woche zu unterrichten. Jetzt habe ich fünf Gruppen, meinen eigenen Klassenraum zu Hause und Einzelunterricht. Wie ich zu diesem Leben gekommen bin und wie genau ich Kinder unterrichte, werde ich in diesem Artikel erzählen. R, но в этой статье я хочу рассказать про своё увлечение, которое даже приносит некий доход. Мне всегда было интересно рассказывать и объяснять что-то друзьям, одноклассникам и однокурсникам. Ещё мне всегда просто было находить общий язык с детьми, не знаю, почему. Вообще, я считаю, что воспитание и обучение детей это одно из важнейших занятий из всех, да и жена у меня педагог. В общем, примерно год назад я дал объявление в местной группе на фейсбуке, набрал группу и стал преподавать скратч и питон раз в неделю. Сейчас у меня пять групп, свой класс в доме и индивидуальные занятия. Как я дошёл до жизни такой и как именно я учу детей, я раскажу в этой статье.

Ich lebe in Kanada, in Calgary, Alberta, sodass einige Punkte mit lokalen Besonderheiten verbunden sind.

Räumlichkeit

Die Verfügbarkeit von Räumlichkeiten für Kurse war von Anfang an ein zentrales Problem. Ich habe versucht, Büros und Klassen stundenweise zu mieten, aber nicht sehr erfolgreich. Unsere Universität und SAIT – das lokale Pendant zum MIT – vermieten Klassenräume mit und ohne Computer. Die Preise dort waren nicht gerade human, und letztendlich stellte sich heraus, dass die Universität Minderjährige nicht hereinlässt, während SAIT ausschließlich an eigene Studenten vermietet. Damit fiel diese Option weg. Es gibt viele Bürozentren, die Besprechungsräume und Büros stundenweise vermieten, und komplette Unternehmen, die eine Vielzahl von Optionen anbieten, vom vollwertigen Klassenraum bis hin zu kleinen Zimmern für vier Personen. Ich hatte Hoffnungen, da Alberta eine Ölprovinz ist, und wir seit 2014 eine langsame Krise haben, wodurch viele Gewerbeflächen leer stehen. Ich habe umsonst gehofft; die Preise waren derart unrealistisch, dass ich anfangs nicht einmal daran glaubte. Es ist den Eigentümern einfacher, in leeren Büros zu sitzen und die Kosten zu tragen, als die Preise zu drücken.

In diesem Moment erinnerte ich mich daran, dass ich brav meine Steuern zahle, und ob es da nicht etwas von unserem teuren Staat gibt, genauer gesagt — von der Stadt Calgary. Es stellte sich heraus, dass es das tatsächlich gibt. Die Stadt hat Arenen für Eishockey und andere Eiskunstlaufveranstaltungen, und in diesen Arenen gibt es Räume, in denen strenge Eiskrieger Strategien für zukünftige Kämpfe diskutieren. Kurz gesagt, jede Arena hat ein paar Räume mit Tischen, Stühlen, einer Whiteboard und sogar einem Waschbecken mit einem Wasserkocher. Der Preis ist ziemlich human — 25 kanadische Dollar pro Stunde. Ich hatte ursprünglich entschieden, die Unterrichtseinheiten anderthalb Stunden lang zu machen, also setzte ich den Preis für eine Sitzung auf 35 Dollar pro Kopf in einer Gruppe von fünf Personen, um die Miete auszugleichen und mir selbst etwas in die Tasche zu stecken. Insgesamt machte es mir Spaß, in den Arenen zu unterrichten; es löste ein Problem — die meisten Russischsprachigen leben im Süden, während ich im Norden der Stadt wohne, also wählte ich eine Arena ungefähr in der Mitte. Aber es gab auch Unannehmlichkeiten. Die kanadische Bürokratie ist gut und freundlich, aber, um es milde auszudrücken, manchmal etwas träge. Es gibt keine Probleme, wenn man sich an den Rhythmus gewöhnt und im Voraus plant, aber manchmal gibt es unangenehme Momente. Zum Beispiel kann man auf der Website der Stadt bequem Zeit und Ort auswählen und einen Raum reservieren, aber bezahlen kann man irgendwie nicht. Sie rufen selbst an und nehmen die Zahlung per Karte entgegen. Man kann ins Büro fahren und bar bezahlen. Es gab einen amüsanten, aber nicht sehr angenehmen Moment, als ich auf ihren Anruf wartete, um für die zweite Sitzung zu bezahlen, aber nicht abwarten konnte und am letzten Tag mit fünfzehn Minuten Verspätung ins Büro kam. Ich musste mit einer dreisten Miene zur Security gehen und behaupten, dass der Raum reserviert ist. Wir Kanadier glauben auf Wort, sie ließen mich ruhig rein und überprüften nichts, aber ich würde das nicht machen, wenn die Leute nicht bereits auf dem Weg zur Sitzung wären.

So habe ich den Winter und den Frühling verbracht, und dann traten Veränderungen ein, die das Fass zum Überlaufen brachten. Erstens wurde das Büro für Besucher geschlossen, und man bot an, die Zahlungen telefonisch um die Ecke zu akzeptieren. Ich saß mindestens eine halbe Stunde im Flur, bevor ich durchkam. Zweitens, wenn früher die nette Dame die Zahlung für anderthalb Stunden entgegengenommen hat, so meldete sich jetzt ein Mädchen und erklärte, dass die Zahlung nur für eine Stunde möglich sei. Zu diesem Zeitpunkt hatte ich eine Gruppe von zwei oder drei Personen, und die zusätzlichen $12,50 waren alles andere als unerheblich. Natürlich bin ich ideenreich, aber wenn meine Frau mich auf die Straße setzt, wird es niemanden geben, der unterrichtet. Zu der Zeit war ich ja auch arbeitlos.

Und ich habe beschlossen, in die Bibliothek zu gehen. Bibliotheken vermieten großartige Räume völlig kostenlos, aber es gibt einen Haken – man darf dort keine kommerziellen Aktivitäten durchführen. Sogar gemeinnützige Organisationen dürfen dort kein Geld sammeln. Man hat mir gesagt, dass das nicht besonders überwacht wird, solange man dort kein Geld am Eingang einsammelt, aber ich mag es nicht, die Regeln zu brechen. Ein weiteres Problem ist, dass die Räume oft besetzt sind und es schwierig ist, Veranstaltungen gleichzeitig am selben Ort abzuhalten. Ich habe in Bibliotheken im Sommer und zu Beginn des Winters unterrichtet und musste die auswählen, in denen Platz war; letztendlich habe ich fünf oder sechs Bibliotheken gewechselt. Dann habe ich angefangen, die Plätze zwei Monate im Voraus zu reservieren, und selbst das gelang nur in einer kleinen Bibliothek; in den anderen gab es regelmäßig keinen Platz zur gewünschten Zeit. Und dann habe ich beschlossen, ein Computerzimmer zu Hause einzurichten. Ich habe eine Tafel aufgehängt, einen zweiten Tisch und ein paar alte Monitore über eine Anzeige gekauft. Für die Arbeit hat die Firma mir ein neues, leistungsstarkes Laptop gekauft, weil die Analyse auf meinem Computer fast 24 Stunden dauerte. Insgesamt hatte ich einen neuen alten Computer, einen alten alten Computer, ein Laptop, dessen Bildschirm mein Kleiner zertrümmert hat, und ein uraltes Netbook, dessen Bildschirm ich selbst kaputt gemacht habe. Ich habe alle an die Monitore angeschlossen und überall Linux Mint installiert, außer auf dem Netbook, auf dem ich eine ganz leichte Distribution, glaube ich, Puppy, installiert habe. Ich habe auch noch ein altes neues Laptop, das ich für 200 Dollar gekauft habe und das ich an den Fernseher angeschlossen habe. Außerdem hat unser Vermieter uns kürzlich neue Fenster eingebaut, und im Raum sind jetzt anstelle des schrecklichen, verfallenen Elends neue weiße Rahmen. Das Wohnzimmer, die Küche und das zweite Schlafzimmer hält meine Frau für eine Kindertagesstätte, deshalb ist die gesamte Etage rein pädagogisch geworden. Also, jetzt ist der Raum in Ordnung, kommen wir direkt zum Unterricht.

Scratch

Ich beginne mit den Grundlagen des Programmierens in Scratch. Diese Sprache verwendet vorgefertigte Blöcke und wurde ursprünglich am MIT entwickelt. Die meisten Kinder haben Scratch bereits in der Schule kennengelernt, weshalb es relativ schnell erlernt werden kann. Es gibt fertige Programme und Unterrichtspläne, die mir jedoch überhaupt nicht gefallen. Einige sind seltsam – beispielsweise 'Erstelle deine eigene Geschichte'. Das gesamte Programm besteht aus unzähligen Blöcken. sage '<...>' für 2 Sekunden. Es ist offensichtlich, dass es von sehr kreativen Persönlichkeiten entwickelt wurde, aber mit so einem Ansatz kann man schreiben lernen, wie man klassischen indischen Spaghetti-Code erzeugt. Ich hingegen erkläre von Anfang an Prinzipien wie D.R.Y. Andere Aufgabenpakete sind durchaus gut, aber die Kinder steigen schnell in die Materie ein und beginnen, sie wie aus einem Maschinengewehr zu erledigen. Letztendlich machen sie in einer Stunde das, was sie in fünf Stunden hätten machen sollen. Und die Suche und Auswahl der Aufgaben nimmt viel persönliche Zeit in Anspruch. Im Grunde erinnert Scratch mehr an eine IDE als an eine Programmiersprache, wo man einfach lernen muss, wo man klicken und was man suchen soll. Sobald die Schüler sich mehr oder weniger eingearbeitet haben, versuche ich, sie auf Python umzustellen. Sogar ein siebenjähriges Mädchen schreibt einfache Programme in Python. Ich sehe den Nutzen von Scratch darin, dass es grundlegende Konzepte vermittelt, die spielerisch erlernt werden. Merkwürdigerweise fällt allen ohne Ausnahme die Idee einer Variablen sehr schwer zu verstehen. Zunächst bin ich schnell durch dieses Thema gegangen und habe weitergemacht, bis ich festgestellt habe, dass sie überhaupt nicht wissen, was sie damit anfangen sollen. Jetzt widme ich den Variablen viel Zeit und komme ständig darauf zurück. Man muss manchmal stumpfe Wiederholungen machen. Ich ändere verschiedene Variablen auf dem Bildschirm und lasse sie deren Werte aussprechen. Zudem gibt es in Scratch Kontrollstrukturen und Wertprüfungen. while, für oder wenn In Python. They are introduced quite easily, but there can be issues with nested loops. I try to provide several tasks involving nested loops, and to make their functions visually clear. After that, I move on to functions. Even for adults, the concept of a function can be unclear, and even more so for children. I spend a long time explaining what a function is in general, telling about a factory that receives items and produces goods, about a chef who makes food from raw ingredients. Then we create a program "make a sandwich" with ingredients, and then we turn it into a function that takes the ingredients as parameters. I finish my lessons on functions with Scratch.

Python

Python is simpler. There is a good book called 'Python for Kids,' which I teach from. It covers everything standard — strings, order of operations, print(), input() und so weiter. Es ist in einfacher Sprache geschrieben, mit Humor, und Kinder mögen es. Es hat einen Nachteil, der vielen Programmierbüchern eigen ist. Wie in dem bekannten Witz – wie malt man eine Eule. Oval – Kreis – Eule. Der Übergang von einfachen Begriffen zu ziemlich komplexen Konzepten ist zu abrupt. Ich brauche mehrere Stunden, um zu erklären, dass ein Objekt mit einer Methode durch einen Punkt verbunden wird. Auf der anderen Seite eile ich nicht, ich wiederhole das Gleiche auf verschiedene Weisen, bis sich ein gewisses Verständnis bildet. Ich beginne mit Variablen und wiederhole sie, schon in Python. Variablen sind ein Fluch.

Ein cleverer Student, der vor ein paar Monaten geschickt mit Variablen jongliert hat, schaut wie ein Schaf auf neue Tore und kann das X mit dem Y, das offensichtlich eine Zeile höher an der Tafel steht, nicht zusammenreimen. Wiederholen wir! Was hat eine Variable? Namen und Wert! Was bedeutet das Gleichheitszeichen? Zuweisung! Und wie überprüfen wir die Gleichheit? Doppeltes Gleichheitszeichen! Und so wiederholen wir immer wieder, bis zur vollständigen Erleuchtung. Dann gehen wir zu den Funktionen über, dort dauert es am längsten, die Argumente zu erklären. Benannte Argumente, nach Positionen, Standardwerte und so weiter. In keiner Gruppe haben wir es bisher zu den Klassen geschafft. Neben Python aus Büchern lernen wir auch populäre Algorithmen, darüber später.

Eigentlich das Lernen

Meine Lektion ist so aufgebaut — eine halbe Stunde gebe ich Theorie, überprüfe das Wissen, festige das Gelernte. Eine Stunde — praktische Übungen. Oft bin ich so begeistert, dass ich bis zu einer Stunde referiere, dann bleibt entsprechend eine halbe Stunde für die Praxis. Als ich Python gelernt habe, habe ich einen Kurs durchgearbeitet. Algorithmen und Datenstrukturen Khirjanova von der MFTI. Mir hat seine Präsentation und Struktur der Vorlesungen sehr gefallen. Seine Idee ist, dass Frameworks, Syntax, Bibliotheken - veralten. Architektur, Teamarbeit, Versionskontrollsysteme - das ist noch zu früh. Letztendlich bleiben Algorithmen und Datenstrukturen, die schon lange bekannt sind und immer in ähnlicher Form bestehen bleiben werden. Ich selbst erinnere mich aus meinem Institut-Pascal nur an Integers. Da meine Schüler hauptsächlich jung sind, zwischen sieben und fünfzehn Jahren, halte ich es für wichtiger, die Grundlagen zu legen, als möglichst schnell einen Plattformspieler in Python zu schreiben. Obwohl sie mehr einen Plattformspieler möchten, verstehe ich sie. Ich gebe ihnen einfache Algorithmen - Bubble Sort, binäre Suche in einer sortierten Liste, die umgekehrte polnische Notation mit einem Stack, aber wir analysieren alles sehr detailliert. Es stellte sich heraus, dass moderne Kinder im Prinzip nicht wissen, wie ein Computer funktioniert; auch das erkläre ich. Ich versuche, in jeder Vorlesung mehrere Konzepte miteinander zu verknüpfen. Zum Beispiel, der Computer - Speicher / Prozessor - Speicher aus Zellen (ich lasse sie einen Speicher-Riegel halten, schätzen Sie, wie viele Zellen hier sind) - jede Zelle ist wie eine Glühbirne - es gibt zwei Zustände - wahr / falsch - und / oder - binär / dezimal - 8 Bit = 1 Byte - Byte = 256 Optionen - logischer Datentyp auf einem Bit - ganze Zahlen auf einem Byte - float auf zwei Bytes — string auf einem Byte — die größte Zahl auf 64 Bits — eine Liste und ein Tuple aus den vorherigen Typen. Ich möchte klarstellen, dass es in einem echten Computer etwas anders ist und eine andere Menge Speicher für diese Datentypen benötigt wird. Aber das Wichtigste ist, dass wir in diesem Prozess komplexere Datentypen aus einfacheren schaffen. Datentypen sind wohl das Schwierigste, was man sich merken muss. Deshalb beginne ich jede Stunde mit einem kurzen Aufwärmen — ein Schüler nennt einen Datentyp, der Nächste bringt zwei Beispiele, und so weiter im Kreis. Am Ende habe ich erreicht, dass selbst die jüngsten Kinder fröhlich rufen — float! boolean! sieben, fünf! pizza, auto! Während der Vorlesung reiße ich ständig einen von ihnen, dann den anderen, sonst fangen sie schnell an, in der Nase zu bohren und an die Decke zu starren. Außerdem muss ich zwischendurch den Wissensstand jedes Einzelnen überprüfen.

Meine Schüler hören nicht auf, mich sowohl mit ihrer Dummheit als auch mit unerwartetem Scharfsinn zu überraschen. Zum Glück überwiegt der Scharfsinn meistens.

Ich wollte mehr schreiben, aber es ist schon ein langer Text geworden. Ich beantworte gerne alle Fragen. Jegliche Kritik begrüße ich, allerdings bitte ich darum, in den Kommentaren geduldiger miteinander umzugehen. Dies ist ein wohlwollender Artikel.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster