Wie ich Kindern Python beibringe

Bild

Meine Hauptarbeit bezieht sich auf Daten und Programmierung in R , aber in diesem Artikel möchte ich über mein Hobby sprechen, das sogar ein gewisses Einkommen bringt. Ich war immer daran interessiert, Freunden, Klassenkameraden und Klassenkameraden Dinge zu erzählen und zu erklären. Es war immer einfach für mich, mit Kindern eine gemeinsame Sprache zu finden. Ich weiß nicht warum. Generell glaube ich, dass Kindererziehung und -erziehung eine der wichtigsten Berufe überhaupt ist, und meine Frau ist Lehrerin. Im Allgemeinen habe ich vor ungefähr einem Jahr in einer lokalen Gruppe auf Facebook geworben, in einer Gruppe getippt und einmal pro Woche begonnen, Scratch und Python zu unterrichten. Jetzt habe ich fünf Gruppen, meine eigene Klasse im Haus und Einzelstunden. Wie ich zu so einem Leben gekommen bin und wie genau ich Kinder unterrichte, erkläre ich in diesem Artikel.

Ich lebe in Kanada, der Stadt Calgary, Alberta, daher werden einige Punkte mit lokalen Besonderheiten zusammenhängen.

Zimmer


Platz für den Unterricht zu haben, war von Anfang an ein großes Problem. Ich habe versucht, stundenweise nach Büros und Klassen zu suchen, aber nicht sehr erfolgreich. Unsere Universität und SAIT, das örtliche Gegenstück des MIT, unterrichten mit und ohne Computer. Die Preise erwiesen sich als nicht sehr human, aber am Ende stellte sich heraus, dass die Universität keine Minderjährigen zuließ und SAIT im Allgemeinen nur an ihre Studenten weitergab. Diese Option ist also verschwunden. Es gibt viele Bürozentren, die stundenweise Besprechungs- und Büroräume vermieten, und es gibt ganze Unternehmen, die eine Reihe von Optionen anbieten, von einer vollwertigen Klasse bis zu einem Raum für vier Personen. Ich hatte die Hoffnung, dass Alberta eine Ölprovinz ist, wir seit 2014 eine träge Krise haben und viele Geschäftsbereiche leer stehen. Vergebens hoffte ich, dass die Preise so stark von Pferden gezogen wurden, dass ich es zunächst nicht einmal glaubte. Für Eigentümer ist es einfacher, in leeren Büros zu sitzen und die Kosten zu bezahlen, als zu entleeren.

In diesem Moment fiel mir ein, dass ich regelmäßig Steuern zahle und ob unser geliebter Staat dort etwas hat, oder besser gesagt, die Stadt Calgary. Es stellte sich heraus, dass es sehr viel gibt. Die Stadt hat Arenen für Hockey und andere Eiskunstläufe, und diese Arenen haben Räume, in denen Eiskrieger über Strategien für zukünftige Schlachten diskutieren. Kurz gesagt, in jeder Arena gibt es ein paar Räume mit Tischen, Stühlen, einer weißen Tafel und sogar einem Waschbecken mit Wasserkocher. Der Preis ist ziemlich göttlich - 25 kanadische Tugriks pro Stunde. Ich entschied mich anfangs für anderthalb Stunden Unterricht, also setzte ich in einer Gruppe von fünf Personen den Preis für eine Lektion von 35 US-Dollar fest, um die Miete zu kompensieren. Naja, steck etwas in meine Tasche. Im Allgemeinen lernte ich gerne in Arenen. Dies löste eines der Probleme. Die meisten russischsprachigen Menschen leben im Süden und ich lebe im Norden der Stadt. Deshalb habe ich mich für die Arena in der Mitte entschieden. Aber es gab Unannehmlichkeiten. Die kanadische Bürokratie ist gut und freundlich, aber, gelinde gesagt, kann sie etwas langsam sein. Es ist kein Problem, sich an den Rhythmus zu gewöhnen und vorauszuplanen, aber manchmal entstehen unangenehme Momente. Auf der Website der Stadt können Sie beispielsweise bequem Zeit und Ort auswählen, ein Zimmer reservieren, aber in keiner Weise bezahlen. Sie rufen per Telefon an und akzeptieren Zahlungen per Karte. Sie können ins Büro gehen und bar bezahlen. Es gab einen lustigen, aber nicht sehr angenehmen Moment, als ich auf ihren Anruf wartete, um die zweite Lektion zu bezahlen. Ich wartete nicht und kam am letzten Tag für fünfzehn Minuten zu spät ins Büro. Ich musste mich der Wache mit dreistem Gesicht nähern und mich hinlegen, dass der Raum reserviert war. Wir Kanadier, wir nehmen unser Wort, lassen mich ruhig ein und überprüfen nichts, aber ich würde das nicht tun, wenn die Leute nicht zum Unterricht gegangen wären.

Also habe ich Winter und Frühling studiert, und dann gab es Veränderungen, die zum letzten Strohhalm wurden. Erstens wurde das Büro für Besucher geschlossen und die Zahlung per Telefon um die Ecke angeboten. Ich saß mindestens eine halbe Stunde im Gang, bevor ich anrief. Zweitens, wenn meine liebe Tante mich vor anderthalb Stunden bezahlte, nahm jetzt ein Mädchen den Hörer ab und sagte, dass die Zahlung nur stundenweise erfolgte. Zu dieser Zeit hatte ich eine Gruppe von drei oder zwei Personen, und die zusätzlichen 12,5 Dollar waren überhaupt nicht extra. Natürlich bin ich ideologisch, aber wenn meine Frau mich auf die Straße fährt, gibt es niemanden, der unterrichtet. Ich war damals noch ohne Arbeit.

Und ich beschloss, in die Bibliothek zu gehen. Bibliotheken vermieten schöne Räume kostenlos, aber eines gibt es: Sie können keine kommerziellen Aktivitäten durchführen. Auch gemeinnützige Organisationen haben dort kein Recht, Geld zu sammeln. Sie sagten mir, dass dies nicht besonders kontrolliert wird, die Hauptsache ist, dass man am Eingang kein Geld nimmt, aber ich verstoße wirklich nicht gern gegen die Regeln. Ein weiteres Problem: Die Räume sind oft besetzt, und es ist schwierig, an einem Ort zeitgleich Unterricht zu geben. Ich habe im Sommer und zu Beginn des Winters Bibliotheken unterrichtet, ich musste diejenigen auswählen, wo es einen Platz gibt, am Ende habe ich fünf oder sechs Bibliotheken gewechselt. Dann begann er, in zwei Monaten einen Platz zu reservieren, und dann stellte sich heraus, dass dies nur in einer kleinen Bibliothek möglich war, im übrigen gab es regelmäßig keine Plätze zum richtigen Zeitpunkt. Und dann habe ich beschlossen, zu Hause einen Computerkurs zu machen. Ich hängte die Tafel auf, kaufte eine Anzeige für einen zweiten Tisch und ein paar alte Monitore. Für die Arbeit kaufte das Unternehmen einen leistungsstarken neuen Laptop für mich, da die Analyse auf meinem Computer fast 24 Stunden dauerte. Insgesamt hatte ich einen neuen alten Computer, einen alten alten Computer, einen Laptop, in dem mein kleiner zerdrückter Bildschirm und ein altes Netbook, auf dem ich selbst den Bildschirm zerdrückte. Ich habe sie alle an die Monitore angeschlossen und Linux Mint überall installiert, mit Ausnahme des Netbooks, auf dem ich anscheinend eine sehr leichte Distribution installiert habe, pappi. Ich habe immer noch einen alten neuen Laptop, der für 200 Dollar gekauft wurde. Ich habe ihn an den Fernseher angeschlossen. Wichtig ist auch, dass unser Besitzer vor kurzem die Fenster für uns gewechselt hat und jetzt im Raum statt des schrecklich zusammengebrochenen Elends neue weiße Rahmen. Die Frau hält das Wohnzimmer, die Küche und das zweite Schlafzimmer unter einem Kindergarten, so dass sich die gesamte Etage als rein pädagogisch herausstellte. Also, jetzt ist alles in Ordnung mit dem Raum, lasst uns direkt zum Unterrichten gehen.

Kratzer


Ich fange an, die Grundlagen des Programmierens mit der Scratch-Sprache zu vermitteln. Dies ist eine Sprache, die fertige Blöcke verwendet, die zu der Zeit im MIT geprägt wurden. Die meisten Kinder haben schon in der Schule Sammelalben gesehen, die so schnell gemeistert wurden. Es gibt fertige Programme und Unterrichtspläne, aber ich mag sie überhaupt nicht. Einige seltsame - erstellen Sie zum Beispiel Ihre eigene Geschichte. Das gesamte Programm besteht aus unzähligen Blöcken say '<...>' for 2 seconds . Es ist zu sehen, dass es von sehr kreativen Persönlichkeiten erfunden wurde, aber mit diesem Ansatz können Sie lernen, den klassischen indischen Spaghetti-Code zu schreiben. Ich spreche von Anfang an von Prinzipien wie DRY. Andere Aufgabensammlungen sind ziemlich gut, aber die Kinder gehen schnell der Sache auf den Grund und beginnen, sie wie ein Maschinengewehr zu machen. Aus diesem Grund tun sie in einer Stunde das, was sie in fünf Stunden haben sollten. Und die Suche und Auswahl von Aufgaben nimmt viel persönliche Zeit in Anspruch. Im Allgemeinen erinnert der Scratch eher an keine Sprache, sondern an eine IDE, bei der Sie sich nur merken müssen, wo Sie klicken und wo Sie suchen müssen. Sobald die Schüler mehr oder weniger lernen, versuche ich, sie auf Python zu übertragen. Ich habe sogar ein siebenjähriges Mädchen auf Python, das einfache Programme schreibt. Worin ich den Vorteil von Scratch sehe - es gibt solche Grundkonzepte, die spielerisch aufgenommen werden. Aus irgendeinem Grund ist es ausnahmslos für jeden sehr schwierig, die Idee einer Variablen zu verstehen. Zuerst habe ich dieses Thema schnell durchgearbeitet und bin weitergegangen, bis ich festgestellt habe, dass sie im Allgemeinen nicht wussten, was sie dagegen tun sollten. Jetzt widme ich den Variablen viel Zeit und komme ständig auf sie zurück. Ich muss dumm grooven. Ich ändere verschiedene Variablen auf dem Bildschirm und lasse sie ihre Bedeutung sagen. Auch in Scratch gibt es Kontrollstrukturen und Überprüfungen von Werten, wie zum Beispiel while , for oder if in Python. Sie sind recht einfach zu vergeben, nur bei verschachtelten Zyklen gibt es Probleme. Ich versuche, mehrere Aufgaben mit einer verschachtelten Schleife zu geben, damit die Aktion klar ist. Danach gehe ich zu den Funktionen über. Selbst für Erwachsene ist der Funktionsbegriff nicht offensichtlich, und noch mehr für Kinder. Lange Zeit kreuzige ich, was eine Funktion im Allgemeinen ist, und spreche von einer Fabrik, die Gegenstände als Input empfängt und Waren ausgibt, von einem Koch, der Lebensmittel aus rohen Produkten herstellt. Dann erstellen wir ein „Make a Sandwich“ -Programm mit Produkten und daraus eine Funktion, an die Produkte als Parameter übergeben werden. Beim Studium der Funktionen bekomme ich einen Kratzer.

Python


Python ist einfacher. Es gibt ein gutes Python for Kids-Buch, und ich lerne daraus. Dort ist alles Standard - Zeichenfolgen, Reihenfolge der Operationen, print() , input() usw. Geschrieben in einer einfachen Sprache, mit Humor, Kinder mögen es. Es hat einen Fehler in vielen Programmierbüchern. Wie in einem berühmten Witz - wie man eine Eule zeichnet. Oval - Kreis - Eule. Von einfachen Konzepten zu scharfen Übergängen zu eher komplexen Konzepten. Ich benötige einige Lektionen, um das Objekt an die point-Methode anzuhängen. Andererseits habe ich es nicht eilig, ich wiederhole dasselbe auf eine andere Art und Weise, bis sich zumindest ein Bild entwickelt. Ich beginne mit den Variablen und hämmere sie erneut, bereits in Python. Variablen sind eine Art Fluch.

Ein intelligenter Schüler, der vor ein paar Monaten geschickt auf Variablen geklickt hat, sieht aus wie ein Widder an einem neuen Tor und kann dem Spieler kein X hinzufügen, das deutlich auf der oberen Tafelzeile steht. Wiederholen! Was hat eine Variable? Name und Bedeutung! Was bedeutet das Gleichheitszeichen? Aufgabe! Und wie überprüfen wir die Gleichheit? Doppeltes Gleichheitszeichen! Und so wiederholen wir immer wieder, bis zur völligen Erleuchtung. Dann gehen wir zu den Funktionen über, bei denen die Erklärung der Argumente am längsten dauert. Benannte Argumente, nach Position, standardmäßig usw. Wir haben die Klassen in keiner Gruppe erreicht. Zusätzlich zu Python in diesem Buch untersuchen wir beliebte Algorithmen, dazu später mehr.

Eigentlich Training


Meine Lektion ist wie folgt organisiert: Ich gebe eine halbe Stunde lang eine Theorie, teste Wissen, konsolidiere das, was ich gelernt habe. Hour - Labs. Oft werde ich bis zu einer Stunde mitgerissen und ausgestrahlt, dann bleibt jeweils eine halbe Stunde zum Üben. Als ich Python lernte, habe ich den Kurs Algorithmen und Datenstrukturen von Khiryanov vom MIPT durchlaufen. Mir hat seine Präsentation und der Aufbau der Vorträge sehr gut gefallen. Seine Idee ist, dass Frameworks, Syntax und Bibliotheken obsolet werden. Architektur, Teamwork und Versionskontrollsysteme sind zu früh. Dadurch bleiben Algorithmen und Datenstrukturen erhalten, die seit langem bekannt sind und immer in ähnlicher Form vorliegen werden. Ich selbst vom Institut Pascal nur ganze Zahlen und ich erinnere mich. Da meine Schülerinnen und Schüler größtenteils jung sind und zwischen sieben und fünfzehn Jahre alt sind, ist es meiner Meinung nach für ihre Zukunft wichtiger, den Grundstein zu legen, als schnell einen Plattformer in Python zu schreiben. Obwohl sie eher wie ein Plattformer sind und ich verstehe sie. Ich gebe ihnen einfache Algorithmen - eine Blase, eine binäre Suche in einer sortierten Liste, eine umgekehrte polnische Notation unter Verwendung des Stacks, aber wir analysieren jede sehr detailliert. Es stellte sich heraus, dass moderne Kinder im Prinzip nicht wissen, wie der Computer aufgebaut ist, erzähle ich auch. In jeder Vorlesung versuche ich, mehrere Konzepte miteinander zu verbinden. Zum Beispiel ein Computer - Speicher / Prozent - Speicher aus Zellen (lassen Sie mich eine Speicherkarte halten, raten 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 - ein logischer Datentyp für ein Bit - Ganzzahlen für ein Byte - float für zwei Bytes - string für ein Byte - die größte Zahl für 64 Bits - eine Liste und ein Tupel aus den vorherigen Typen. Ich mache einen Vorbehalt, dass in einem realen Computer alles ein wenig anders ist und es für diese Datentypen eine andere Speicherkapazität gibt, aber die Hauptsache ist, dass wir dabei selbst komplexere Datentypen aus einfacheren Datentypen erstellen. Datentypen sind vielleicht am schwierigsten zu merken. Deshalb beginne ich jede Lektion mit einem kurzen Aufwärmen - ein Schüler nennt den Datentyp, der nächste gibt zwei Beispiele und so weiter. Infolgedessen habe ich dafür gesorgt, dass auch die jüngsten Kinder fröhlich schreien - schweben! Boolean! sieben, fünf! Pizza, Auto! Während des Vortrags ruckle ich ständig den einen oder anderen, sonst fangen sie schnell an, ihre Nase zu stecken und zur Decke zu schauen. Und der Kenntnisstand jedes einzelnen muss zwischen den Fällen überprüft werden.

Meine Schüler überraschen mich immer wieder mit ihrer Dummheit und ihrem unerwarteten schnellen Verstand. Cleverness zum Glück öfter.

Ich wollte mehr schreiben, aber das Blatt stellte sich trotzdem heraus. Ich werde gerne alle Fragen beantworten. Ich begrüße jede Kritik in jeder Hinsicht, nur eine Bitte - toleranter gegeneinander in den Kommentaren zu sein. Dies ist ein guter Artikel.

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


All Articles