Hallo. Ich heiße Michael Kapelko. Ich entwickle Software seit mehr als 10 Jahren professionell. Die letzten Jahre waren iOS gewidmet. In meiner Freizeit entwickle ich Spiele und Spieleentwicklungstools.
Übersicht
Heute möchte ich meine Erfahrungen mit dem Programmieren von Kindern teilen. Ich werde die folgenden Themen diskutieren:
- Organisation des Lernprozesses
- Lernplan
- Gedächtnisspiel
- Entwicklungswerkzeuge
- Unterricht
- Ergebnisse und Pläne
Organisation des Lernprozesses
Der Lernprozess wird im Rahmen der sozialen Verantwortung von Unternehmen durchgeführt: Ein Unternehmen stellt einen Raum mit Geräten zur Verfügung und verbindet Mitarbeiter, die sich als Lehrer versuchen möchten, mit Mitarbeitern, die ihre Kinder erziehen möchten. All dies geschieht freiwillig.
Potenzielle Lehrer werden in Gruppen eingeteilt, sodass jede Gruppe drei Lehrer enthält: erfahrene einen und zwei Anfänger. Eine solche Gruppe von drei Lehrern führt eine Gruppe von Schülern. Die Schüler werden nach Alter und Fähigkeiten in Gruppen eingeteilt.
Ich habe 2018 zum zweiten Mal als Lehrer am Programm teilgenommen. Die Kinder waren ungefähr zehn Jahre alt. Unsere Gruppe war von Oktober bis Dezember 2018 jeden Samstag von 10: 00-12: 00 Uhr aktiv. Mit meiner Position als Lehrerin habe ich auch meine Frau als Schülerin engagiert.
Lernplan
Als ich das erste Mal an dem Programm teilnahm, unterrichtete unsere Gruppe Kinder ziemlich gedankenlos: Wir hatten einfache Aufgaben, um verschiedene Bediener zu erklären. Am Ende des Kurses hatten wir nichts Konkretes zu bewerten, zu analysieren und zu teilen.
Dieses zweite Mal habe ich beschlossen, ein Memory-Spiel mit Kindern zu erstellen. Ich beschloss, den Kurs als erfolgreich zu betrachten, wenn jedes Kind am Ende des Kurses in einer Stunde ein einfaches Memory-Spiel von Grund auf neu erstellen könnte.
Um dies zu erreichen, haben wir in jeder Lektion das gleiche Spiel von Grund auf neu erstellt. Ich möchte betonen, dass wir keine persönlichen Konten verwendet haben, um Fortschritte zu speichern. Unsere Aufgabe war es, die Fähigkeit der Spieleerstellung im Kopf zu speichern, nicht in einem PC.
Gedächtnisspiel
Mal sehen, was das Memory-Spiel ist.
1) Im einfachsten Fall haben wir 16 Karten, von denen nur 8 eindeutig sind, die restlichen 8 sind Duplikate der eindeutigen.

Wie Sie sehen können, haben wir nur zwei Karten mit einer Katze, nur zwei Karten mit einem Hund usw.
2) Zu Beginn mischen wir die Karten und legen sie mit den Gesichtern nach unten.

3) Der erste Spieler dreht ein Kartenpaar.

4) Wenn sich die Karten unterscheiden, werden sie erneut verdeckt aufgedeckt.

5) Der nächste Spieler dreht ein weiteres Kartenpaar.

6) Wenn die Karten gleich sind, werden sie vom Spielfeld entfernt.

Das Ziel des Spiels ist es, alle Karten vom Spielfeld zu entfernen. Hier gibt es keine Konkurrenz, so dass das Spiel alleine gespielt werden kann.
Einerseits ist das Memory-Spiel ziemlich einfach. Andererseits erfordert die Spielimplementierung wesentliche Funktionen, die jedes mehr oder weniger komplexe Spiel hat:
- Erstellung von Gegenständen
- Anordnung der Gegenstände
- Auswahl der Artikel
- Vergleich von Gegenständen
- Entfernen von passenden Gegenständen
Entwicklungswerkzeuge
Wir haben Scratch als unser Entwicklungswerkzeug verwendet. Scratch ist ein großartiges Werkzeug, um Kindern das Programmieren beizubringen, da jede Aktion, jede Operation grafisch dargestellt wird.
Mit dem folgenden Skript können Sie beispielsweise eine Katze in 1 Sekunde um 360 Grad drehen:

So sieht es in Aktion aus:

Ich möchte betonen, dass Scratch eine ziemlich erfolgreiche Lösung ist, um Code grafisch darzustellen. Beispielsweise verwendet eine kostenpflichtige Lösung von SAP ein ähnliches Konzept von Cubes zur Programmierlogik:

Benutzer können nur Werte in vordefinierte Felder eingeben. Wenn Benutzer mehr Funktionen wünschen, müssen sie auf Skripte zurückgreifen.
Persönlich habe ich noch nie eine Verlangsamung von Scratch erlebt, und es gab viele in der SAP-Lösung.
Die erste Lektion
Die erste Lektion war einführend, wir haben keine PCs benutzt.
Der Plan war:
- Treffen
- Spielen Sie das Memory-Spiel mit Karten
- Lernen Sie das Konzept des Algorithmus
- Detaillieren Sie den Algorithmus des Spiels
- Analysieren Sie die Lektion
1) Treffen
Sowohl Lehrer als auch Schüler stehen im Kreis. Dies gleicht alle aus und macht alle zu einem Teammitglied.
Das erste Teammitglied nennt seinen Namen und warum er sich für den Kurs entschieden hat. Das zweite Teammitglied und der Rest wiederholen zuerst den Namen und die Geschichte jedes vorherigen Teammitglieds, bevor sie ihre eigenen Namen und Geschichten erzählen.
So sieht es aus:
- John: Mein Name ist John, ich werde Scratch studieren, weil mein Vater mich dazu zwingt.
- Alex: Das ist John, er macht Scratch, weil sein Vater will, dass er es macht. Mein Name ist Alex und dies ist mein viertes Jahr bei Scratch.
- Ann: Das ist John, seine Eltern zwingen ihn, Scratch zu machen. Das ist Alex, er ist ein Scratch-Veteran. Und ich bin Ann, eine Anfängerlehrerin, also werde ich zusammen mit euch allen lernen.
Ein solches Besprechungsformat hat folgende Ziele:
- Sich kennenlernen
- Jedes Teammitglied sollte andere Teammitglieder beim Namen kennen
- Gemeinschaftsraum
- Jeder ist im Kreis, nicht an einem Schreibtisch, dies verhindert die Ablenkung von Kindern durch PC-Spiele
- Gleichheit
- Sowohl Lehrer als auch Schüler befinden sich im selben Kreis, dies gleicht jeden als Teammitglied ohne Hierarchie aus
- Achtung
- Jedes Teammitglied sollte genau zuhören, um die Aussagen anderer korrekt wiederholen zu können
- Feedback
- Jedes Teammitglied sollte so klar wie möglich sein, wenn es Gedanken ausdrückt, sonst könnte niemand sie wiederholen
- Spaß
- Erinnerungsprobleme erzeugen viel Lachen
2) Memory-Spiel mit Karten
- Nimm 8 Paare derselben Karten aus zwei Kartenspielen
- Legen Sie die Karten verdeckt in ein 4 x 4-Raster
- Die Schüler stehen um einen Tisch herum
- Jeder Schüler dreht nacheinander ein Kartenpaar
4.1. Wenn die Karten übereinstimmen, werden sie vom Spielfeld genommen
4.2. Wenn sich die Karten unterscheiden, werden sie erneut verdeckt
Die Schüler sind bestrebt, Tischspiele zu spielen. Während der Spielparty sagen die Lehrer jeden Schritt im Algorithmus des Spiels laut.
Nach ein paar Partys ist es Zeit herauszufinden, was ein Algorithmus ist.
3) Das Konzept des Algorithmus
- Fragen Sie die Schüler zuerst und hören Sie sie an, um ihr Niveau herauszufinden
- Korrigieren Sie, was die Schüler sagen, wenn sie einer erwarteten Antwort nahe waren
- Bitten Sie die Schüler, einen Algorithmus zu schreiben, mit dem ein Mann aus dem Zustand "steht außerhalb eines Raums" in den Zustand "sitzt und arbeitet an einem PC" versetzt wird
Die Schüler gehen gerne an die Tafel und schreiben. Deshalb bitten wir jeden Schüler, jeweils einen Schritt des Algorithmus zu schreiben. Der aktivste Schüler sollte den Algorithmus ausführen, indem er ihn genau befolgt.
4) Der Algorithmus des Spiels
Bitten Sie die Schüler, den Algorithmus des Spiels zu erstellen. Lassen Sie die Schüler wieder an die Tafel kommen und jeweils einen Schritt des Algorithmus hinzufügen. Sobald der Algorithmus fertig ist, spielen Sie das Spiel erneut mit Karten. Jetzt sollte jeder Schüler den Schritt des Algorithmus sagen, den er ausführt.
So sieht es aus:
- John: "Lege 16 Karten verdeckt ab"
- Alex: "Wende ein Paar Karten"
- Paul: Wenn sich die Karten unterscheiden, drehen Sie sie wieder verdeckt um
- Dan: "Noch ein Kartenpaar drehen"
- Mike: Wenn die Karten übereinstimmen, nimm sie vom Spielfeld.
5) Analysieren Sie die Lektion
Das war's für die erste Lektion. Die Lehrer haben endlich Zeit, die Lektion zu besprechen: Besprechen Sie die Kinder, Ansätze für schüchterne und aktive Kinder, planen Sie den nächsten Unterricht.
Wir hatten folgende Entscheidungen:
- Ordnen Sie die Schüler so an, dass aktive neben schüchternen als "aktiv-schüchtern-aktiv-schüchtern-etc" sitzen, damit wir nicht zwei Gruppen von schüchternen und aktiven Schülern auf verschiedenen Seiten eines Raums haben, was die Produktivität beeinträchtigen würde .
- Akzeptieren Sie nur genaue Antworten von Schülern, da aktive Schüler gerne zappeln, was die Disziplin behindert.
Die zweite und die dritte Lektion
Wir begannen jede Lektion mit demselben Treffen: Wir standen im Kreis auf, sagten unsere Namen und was wir taten. Diejenigen, die nichts getan haben, hätten sagen sollen, warum. Nach wie vor sollte jeder zuerst wiederholen, was frühere Teammitglieder gesagt haben.
Wir haben die zweite Lektion damit verbracht, Anforderungen für einen Gegenstand des Spielfelds zu erstellen und dann den Gegenstand in Scratch zu erstellen. Dies war mäßig erfolgreich.
In der dritten Lektion haben wir versucht, 16 Elemente zu erstellen und im 4x4-Raster anzuordnen. Wir sind kläglich gescheitert, weil wir den Schülern das Koordinatensystem nicht erklären konnten. Es stellte sich heraus, dass Unterrichtspläne nur Pläne waren, die Realität hatte ihre eigenen Anforderungen.
Wir haben zwei Möglichkeiten gesehen, um das Problem anzugehen:
- Studieren Sie das Koordinatensystem weiter und riskieren Sie, das Spiel bis zum Ende des Kurses nicht zu beenden
- Ändern Sie die Spielanforderungen so, dass kein Koordinatensystem erforderlich ist
Wir sind den zweiten Weg gegangen, weil wir schließlich keine Schule sind. Unser Ziel war es, Kindern beizubringen, das Spiel zu entwickeln, dh Fähigkeiten in der Praxis einzusetzen, nicht in der Theorie. Deshalb haben wir das 4x4-Raster durch einen Kreis mit 16 Elementen ersetzt.
Diese Lösung löste ein paar Gedanken in meinem Kopf aus:
- Man kann oft einen einfacheren Weg finden, um ein Problem zu lösen
- Dieser Weg ist einfacher zu verstehen, wenn auch weniger flexibel
- Man kann den schwierigeren Weg gehen, um die Flexibilität viel später zu erhöhen, wenn es absolut notwendig wird
- Durch die Vereinfachung rückt man dem Ziel näher, durch die Komplexifizierung in die entgegengesetzte Richtung
Der vierte und der Rest der Lektionen
Die vierte Lektion war das Ende der Anforderungen im Unterricht, da dies zu viel Zeit in Anspruch nahm. Wir haben die Praxis erneut der Theorie vorgezogen, um die Frist einzuhalten. Diesmal wurden alle Anforderungen vor dem Unterricht durchgeführt. Trotzdem las niemand sie.
Wir haben die vierte und fünfte Lektion damit verbracht, 16 Elemente im Kreis zu erstellen, ein Elementpaar auszuwählen und sie abzugleichen.
In der sechsten Lektion haben wir begonnen, das komplette Spiel von Grund auf neu zu erstellen. Jedes Mal, wenn die Schüler das komplette Spiel schneller und schneller neu erstellten. In der achten Lektion haben wir eine Rangliste eingeführt, um zu verfolgen, wie schnell jeder Schüler einen bestimmten Teil des Spiels neu erstellt.
Die letzte Lektion
Als sich die letzte Lektion näherte, war jeder in der Lage, das Memory-Spiel in zwei Stunden mehr oder weniger unabhängig von Grund auf neu zu erstellen.
Hier ist die Rangliste der letzten Lektion (Namen sind versteckt):

Die Rangliste ist in russischer Sprache, hier sind die Bildunterschriften übersetzt:
- Name
- Kreis von Gegenständen
- Auswahl von Paaren
- Verstecke alles
- Verstecke ein Paar
Hier können Sie die Entwicklung des Memory-Spiels durch den schnellsten Schüler von Grund auf miterleben: in nur einer halben Stunde.
Ergebnisse und Pläne
Die Ergebnisse haben meine Erwartungen übertroffen:
- Drei Schüler haben es in einer Stunde oder schneller geschafft
- Zwei Schüler schafften es in anderthalb Stunden oder schneller
Dieses Jahr habe ich vor, eine weitere Runde der Memory-Spiel-Erholung zu machen. Ich werde Scratch jedoch durch Opensource Game Studio-Tools ersetzen: Die Schüler verwenden Lua-, Git- und GitHub-Seiten.

UPDATE: Unterrichten von Leuten, um 2019 zu programmieren