Erlernen der Grundlagen der Programmierung

Früher oder später wird ein Kind, das in einer Familie aufwächst, anfangen, seinen Vater oder seine Mutter zu belästigen, die zu Hause programmieren:

- Was machst du?
- Was bedeutet dieses Wort?
"Und warum sind hier grüne Buchstaben und hier blaue Buchstaben?"
Und es wird sicherlich zur Hauptfrage kommen:
- Werden Sie mir das Programmieren beibringen?

Diese Frage wurde mir auch gestellt. Ich war nicht bereit für eine Antwort. Und er begann über das Problem nachzudenken. Wie kann man ein Kind (ungefähr zehn Jahre alt) an diese interessante und faszinierende Aktivität binden?

Außerdem einige Gedanken zu diesem Thema und was sie mich dazu gebracht haben ...

Eine kleine Erklärung zur weiteren Diskussion. Ich bin ein professioneller Java-Entwickler. Ich bin mit dieser Sprache und Plattform vertraut. Ich finde es nicht allzu schwierig, Java zu lernen, selbst als erste Programmiersprache. Wie andere Sprachen kann Java schrittweise gelernt werden, ohne direkt in den Dschungel von OOP einzutauchen.

Ich bin der Meinung, dass die Grundlagen der Programmierung von jedem modernen Menschen verstanden werden sollten. So lernen Sie die Mathematik im Umfang der Grundschule kennen. Wir alle verwenden Taschenrechner und Tabellenkalkulationen, aber wir wissen immer noch, wie man ein Stück Papier oder im Kopf addiert und multipliziert. Und das bringen wir Kindern bei. Das gleiche gilt für die Programmierung - eine Person muss über die Fähigkeiten der Algorithmusisierung verfügen und eine Vorstellung davon haben, wie der erfundene Algorithmus in einer bestimmten Sprache implementiert werden kann.

Die Aufgabe besteht also darin, das Kind in die Programmierung einzuführen. Es wäre gleichzeitig gut, das beginnende Interesse nicht zu zerstören. Was ich gefunden habe:

Scratch und andere visuelle Spielesysteme


Persönlich habe ich solche noch nie benutzt. Ich bin sicher, dass viele Kinder gerne spielen und sich mit ihnen beschäftigen. Für meine Zwecke ist dies von geringem Nutzen, da ich in ihnen zu viel Unterhaltungskomponente sehe.

Zahlreiche Online-Programmierschulungen


GeekBrains, JavaRush, Codecademy und andere. Auch hier habe ich aufgrund der Einschränkungen beim Erwerb eines Berufs keine Kurse besucht. Ich habe ihre Marketingmaterialien und Probestunden durchgesehen. Fanden sie auch nicht geeignet. Entweder wird das Material nicht von Grund auf neu gegeben, oder die Ausbildung ist zu stark auf die weitere Beschäftigung ausgerichtet. Der allgemeine Eindruck ist nicht, jüngere Schüler zu unterrichten, sondern den Beruf zu beherrschen.

Bildungsliteratur


Googelte das Buch von Jacob Fine, "Programmieren in Java für Kinder, Eltern, Großeltern." Etwas veraltet, aber vielleicht als Hilfslesung geeignet. Eine ausführliche Präsentation in den ersten Kapiteln zur Installation und Konfiguration von JDK und Eclipse wird nicht alle zu weiteren Studien inspirieren. Persönlich machen mich solche Beschreibungen traurig und deprimiert.

Es gibt auch Bruce Eckels Java-Philosophie - ein gutes Tutorial. Aber ich würde es Kindern nicht empfehlen.

Ich konnte also nicht das ideale System finden, um einem Kind das Programmieren beizubringen, aber ich entwickelte eine Reihe von Kriterien, die es erfüllen muss:

  • komplexe Darstellung des Materials - Theorie, Beispiele und praktische Aufgaben
    Unterrichtsmaterialien in russischer Sprache
  • Erlernen einer echten, modernen Programmiersprache (Java)
  • einfacher Syntax- und Kompilierungsfehlercode-Editor
  • Kontexthilfe zur Standardbibliothek, vorzugsweise in russischer Sprache
  • Russischsprachige Systemschnittstelle nicht mit Werkzeugen überladen
  • Compiler-Nachrichten in russischer Sprache
  • Die Schulungsunterlagen richten sich an Personen, die mit der Programmierwelt nicht vertraut sind, dh es sollten auch sehr offensichtliche Dinge erklärt werden

In Bezug auf die wiederholt erwähnte russische Sprache. Viele mögen Einwände erheben, sagen sie in der IT-Welt ohne Englisch, was bedeutet, dass es unterrichtet werden muss. Lassen Sie das Kind unterrichten. Einschließlich dieser Art.

Ich bin damit einverstanden, dass ein Programmierer zumindest auf der Ebene der „Lesedokumentation“ fließend Englisch spricht. Wir sprechen aber nicht über die Ausbildung eines Programmierers. Die Sprachbarriere, die in dieser Ausbildungsphase entsteht, kann zu einem unüberwindbaren Hindernis werden und die Begeisterung des Kindes sehr schnell auslöschen. Deshalb halte ich die Russifizierung von allem und jedem für von entscheidender Bedeutung.

Integrierte Lernumgebung


Wie Sie bereits zu erraten beginnen, komme ich zum Kern des Artikels. Da ich nicht wie viele von uns das Ideal in der Welt um mich herum gefunden habe, habe ich beschlossen, es selbst zu schaffen. Bei uns sind Programmierer also schon lange etabliert. Die Aufgabe schien mir in einer begrenzten und vernünftigen Zeit interessant und machbar.

Der Arbeitstitel des Projekts lautet „Java-Klasse“. Die Idee ist wie folgt. Die Desktop-Anwendung ist eine „integrierte Lernumgebung“. Ich habe heruntergeladen, installiert und Sie können die Lektionen sofort lesen, Code schreiben und ausführen.

JavaFX-Technologie. Die Umgebung kann in drei Modi sein: Lesen von Lehrmaterialien, Arbeiten mit Quellcode und Ausführen eines laufenden Programms.

Modus: Lesen von Schulungsunterlagen


Hier können Sie die verfügbaren Lektionen und Dokumentationen lesen. Es soll Materialien aus dem Online-Speicher herunterladen.

Materialien sind urheberrechtlich geschützt. Es ist geplant, ein spezielles XML-Format für Textmarkups zu entwickeln. Innerhalb des Programms werden XML-Dateien in HTML-Dokumente konvertiert und im integrierten Browser (WebView) angezeigt. Interaktive Elemente werden in Seiten eingebettet. Am Ende des Textes der Lektion befindet sich beispielsweise die Schaltfläche "Projekt öffnen", mit der die Umgebung mit einem geladenen Beispiel aus der Lektion in den Codebearbeitungsmodus versetzt wird.

Für die Hauptklassen der Standardbibliothek soll eine minimale Dokumentation in russischer Sprache im Javadoc-Stil geschrieben werden. Diese Dokumentation wird auch als kontextsensitive Hilfe im Code-Editor verfügbar sein.

Modus: Arbeiten mit Quellcode


Der Code ist in Projekte organisiert, die verwaltet werden können. Dateivorgänge sind nur grundlegend - Erstellen / Hinzufügen, Löschen und "Speichern unter ...". Von den Editoren wird es bisher nur einen Java-Code-Editor geben. Änderungen werden automatisch gespeichert. Der Code wird automatisch kompiliert. Es verwendet den EuGH-Compiler aus dem Eclipse JDT-Projekt, der die moderne Version der Sprache unterstützt. Auf diese Weise können Sie unter anderem alle Nachrichten des Compilers vollständig ins Russische übersetzen.

Die richtextfx-Bibliothek wird verwendet, um Syntax- und Kompilierungsfehler hervorzuheben. Die Code-Vervollständigungsfunktion ist nicht vorgesehen.

Wenn die bearbeitete Java-Datei eine Methode enthält, ist die main()Schaltfläche zum Starten des Programms verfügbar, mit der die Umgebung in den Codeausführungsmodus versetzt wird.

Modus: Ausführen eines laufenden Programms


In diesem Modus werden die Konsole des laufenden Programms, Informationen zum Programm und Schaltflächen zur Ausführungssteuerung angezeigt. Für die Organisation von Trainingsplattformen mit interaktiver visueller Interaktion werden spezielle Tools entwickelt. Das heißt, Die Konsole ist nicht die einzig mögliche Manifestation eines Arbeitsprogramms.

Jetzt wird an einem Prototyp gearbeitet. Folgende Funktionen sind implementiert:

  • Arbeit mit Projekten und Dateien
  • Java-Code-Editor
  • Java-Compiler-Integration
  • Hervorheben von Fehlern und Compiler-Warnungen im Editor
  • Code-Analyse, um die Startschaltfläche bei der Ausführung zu aktivieren


Darstellung des Prototypfensters im Quellcodemodus.

Es wird sowohl an der Umgebung selbst als auch an der Erstellung einer Reihe von Java-Lektionen für Anfänger gearbeitet, die in der ursprünglichen Version des Systems enthalten sein sollten.

Was denkst du über alles, was gesagt wurde? Braucht jemand anderes als ich so etwas? Ich wäre dankbar für die Kommentare und konstruktiven Vorschläge. Es ist auch sehr interessant, Geschichten über Ihre Erfahrungen mit der Einbeziehung von Kindern (und nicht nur) in die Welt der echten IT zu hören.

Vielen Dank für Ihre Aufmerksamkeit.

Jetzt auch beliebt: