
Im gesamten letzten Jahr arbeitete ich als Dozent in einem der provinziellen Bildungszentren (im Folgenden – BC), das sich auf Programmierunterricht spezialisiert hat. Ich werde den Namen dieses Bildungszentrums nicht nennen und versuche generell, ohne Firmennamen, Namen von Autoren usw. auszukommen.
Also, ich war Dozent für Python und Java. Dieses BC kaufte Lehrmaterialien für Java, und Python starteten sie, als ich kam und es ihnen anbot.
Die Lehrunterlage für die Schüler (im Grunde ein Lehrbuch oder Selbstlernmaterial) schrieb ich über Python, aber das Unterrichten von Java und die verwendeten Lehrmaterialien hatten einen nicht unerheblichen Einfluss darauf.
Zu sagen, dass sie schrecklich waren, ist nichts gesagt. Der Stil des Java-Lehrbuchs, das von einer sehr bekannten Firma in Russland geliefert wird, bestand nicht darin, eine Person die Grundlagen dieser Sprache im Allgemeinen und das Konzept der OOP im Besonderen zu lehren, sondern darin, dass die Eltern, die zu den offenen Unterrichtsstunden kamen, sahen, wie ihr Sohn oder ihre Tochter mit dem Buch die Schlange oder Schach kopierten. Warum sage ich 'kopiert'? Ganz einfach, es ist so, dass im Lehrbuch ganze Blätter (A4) Code präsentiert wurden, einige Punkte davon nicht erklärt wurden. Letztendlich muss der Lehrer entweder kontrollieren, an welchem Punkt im Code sich jeder Schüler gerade befindet und jede Zeile erklären, oder alles läuft auf Abgucken hinaus.
Sie werden sagen: „Was ist daran so schlimm, lass den Lehrer besser arbeiten, und Schach und Schlange sind doch richtig cool!“
Nun, das wäre alles großartig, wenn die Anzahl der Personen in der Gruppe nicht fast 15 betrüge, und das ist erheblich, wenn man plant, allen zu folgen, während man erklärt: „Und was genau schreiben wir hier?“
Neben der Anzahl der Personen in der Gruppe gibt es noch ein weiteres Problem mit dieser Lehrunterlage. Der Code ist ... wie soll ich sagen, einfach schrecklich. Eine Ansammlung von Antipatterns, Archaiken, da das Lehrbuch lange nicht aktualisiert wurde, und unser Liebstes, natürlich – Styleguides. Daher, selbst wenn Sie alle Ihre Schützlinge kontrollieren und ihnen schnell und verständlich erklären können, was der kopierte Code bedeutet, ist der Code selbst so schrecklich, dass er, um es gelinde auszudrücken, nicht das lehren wird, was er soll.
Nun, das ist das endgültige Fazit, das dieses Lehrbuch buchstäblich zerstört – von Anfang an fehlt jede Art von adäquater Einführung, die erklärt, was Datentypen sind, dass es objektorientierte und primitive Datentypen gibt, welches Kriterium die Eigenschaft prüft, die diese Dichotomie erzeugt usw. Im ersten Kapitel werden Ihnen und Ihren Schülern vorgeschlagen, ein (abzuschreibendes) Programm zu schreiben, das ein Fenster öffnet und dort 'Hallo!' anzeigt, jedoch wird nicht erklärt, was dieser Code eigentlich bedeutet, sondern nur auf zukünftige Lektionen verwiesen, wo z.B. 'main' – der Einstiegspunkt – erwähnt wird, aber selbst das Konzept 'Einstiegspunkt' wird nicht erläutert.
Zusammenfassend war dieses Papier sogar unter Lehrern und der Leitung ein Meme. Es lehrte die Kinder absolut nichts, einmal traf ich auf eine Gruppe, die bereits ein Jahr mit diesen Materialien lernte, und schließlich konnten sie nicht einmal eine Schleife schreiben; ich möchte betonen, dass alle sehr klug waren und es bald besser wurde. Die meisten Kollegen versuchten, von den methodischen Materialien abzuweichen, damit das Material aufgenommen wurde und nicht einfach in den Wind ging, obwohl es auch weniger gewissenhafte Personen gab, die es für normal hielten, dass ihre Schüler abschrieben, ohne jegliche Erklärungen.
Als klar wurde, dass ich das Ausbildungszentrum verlassen würde und das Programm für Python im nächsten Jahr fortgesetzt werden musste, begann ich, mein eigenes Lehrbuch zu schreiben. Kurz gesagt, ich teilte es in zwei Teile auf. Im ersten Teil erklärte ich alles über Datentypen, deren Wesen, Operationen damit und die Anweisungen der Sprache. Zwischen den Themen erstellte ich eine QnA, damit der zukünftige Lehrer verstehen konnte, wie der Schüler das Thema aufgenommen hat. Am Ende machte ich eine kleine Projektaufgabe. Der erste Teil erklärt somit die Grundlagen der Sprache und erläutert sie ausführlich, was etwa 12-13 Lektionen von 30-40 Minuten umfasst. Im zweiten Teil habe ich bereits über OOP geschrieben und beschrieben, wie sich die Implementierung dieses Paradigmas in Python von den meisten anderen unterscheidet, und ich machte viele Verweise auf den Style Guide usw. Zusammenfassend – ich versuchte, so unterschiedlich wie möglich zu sein im Vergleich zu dem, was im Java-Lehrbuch war. Kürzlich schrieb ich dem aktuellen Python-Lehrer und fragte nach Feedback zu den Materialien, und jetzt freue ich mich, dass alles gut ist und die Kinder wirklich Programmierung in Python verstehen.
Welchen Schluss möchte ich aus dieser Geschichte ziehen: liebe Eltern, wenn ihr euch entscheidet, euer Kind in ein Bildungszentrum zu geben, dann achtet genau darauf, was sie tun, damit euer Kind nicht sinnlos Zeit verschwendet und in Zukunft keine Lust mehr hat, zu programmieren.
UPD: Wie in den Kommentaren richtig angemerkt wurde, habe ich fast nichts zur Vermittlung des Materials gesagt. Ich möchte gleich sagen, dass ich der Ansicht bin, dass es mehr praktische Übungen geben sollte, und zwar so viele wie möglich. Am Ende jeder Sitzung im ersten Teil habe ich 4-5 kleine praktische Aufgaben zum Thema des Kapitels gemacht. Zwischen den Kapiteln gab es Q&A-Sitzungen (Kontrolllektionen), in denen es ebenfalls praktische, aber bewertete Aufgaben gab. Außerdem gab es am Ende des ersten Teils ein Projekt, dessen Thema aus den vorgeschlagenen gewählt werden konnte. Im zweiten Teil habe ich eine Einführung in OOP durch die Erstellung eines Konsolen-Mini-Spiels gemacht, dessen Entwicklung den gesamten zweiten Teil und die gesamte Einführung in das Paradigma ausmachte.
Nur registrierte Benutzer können an der Umfrage teilnehmen. .
Lernt Ihr Kind Programmieren im Bildungszentrum?
4,6%Ja3
95,4%Nein62
Es haben 65 Nutzer abgestimmt. 27 Nutzer haben sich enthalten.
Quelle: habr.com
