Programmiersprache für Kinder?

  • Zitat

    Original geschrieben von Pankoweit
    Na ja, also einen Zehnjährigen, der noch nichts vom Thema weiß, würde ich zuallererst mal an eine Skriptsprache heranführen, anhand derer er die unterschiedlichen Kontrollstrukturen, Schleifen etc. kennenlernen kann. Daran zeigt sich, ob er grundsätzlich in der Lage ist, diese verstehen und nachvollziehen zu können. Und wenn er dann Blut geleckt hat und von sich aus weiteres Interesse zeigt, kann er anschließend eine Hochsprache in Angriff nehmen.


    Würde ich auch so sehen. Vor allem muss man sich auch nicht gleich mit einer hochkomplexen Entwicklungsumgebung herumschlagen, deren Vorzüge man als Anfänger sowieso noch überhaupt nicht zu durchschauen in der Lage ist, sondern die für sich genommen selber erst mal ein "harter Brocken" ist. Grundlegende Dinge zu verstehen, etwa die verschiedene Kontrollstrukturen oder logische Operatoren, ist anfangs viel wichtiger. Wenn man diese Dinge verinnerlicht hat und Interesse entwickelt, lernt sich vor diesem Hintergrund anschliessend auch jede weitere Programmiersprache sehr viel leichter. ... Also, welche Programmiersprache zum Berufseinstieg in vielleicht acht Jahren evtl. nützlich sein könnte, daran würde ich jetzt erst noch mal gar nicht denken. ;)

  • Hallo,


    ich hab einem Neffen von mir, auch gerade 11, zum Geburtstag eine Arduino-Startpaket geschenkt ( mit viele LEDs , Taster, Sensoren, Steckboard und eine Arduino MEGA ) - wollte er sehr gerne haben.


    Die Arduino-Programmiersprache ist stark an C++ angelehnt, somit ein guter Einstieg. Software dafür braucht es kaum spezielles, nur dem Compiler mit dem Terminalprogramm vom Arduino selber und das gibt es kostenlos im Netz. Für den Rest tut es ein Texteditor wie Notepad++ ( Freeware ).


    Somit kann er sich mit Elektronik beschäftigen udn hat zudem gleich eine Einführung in die Programmierung und hat auch direkte Erfolgserlebnisse damit und er hat da schon viele Schaltungen mit aufgebaut und programmiert. Immer erst Beispiele dazu aus dem Internet und dann selber erweitert und umgebaut.

  • Ich hatte vor einigen Monaten ähnliche Intensionen, um Kinder an Technik heranzuführen.
    Ansatz war, Kindern zu veranschaulichen, wie Alltagsgeräte funktionieren und daraus abgeleitet, Automatisierungstechnik für Kinder erfahrbar zu machen.
    Ich hatte damals diesen Thread dazu aufgemacht
    Im Ergebnis entstand eine Waschmaschine, deren einzelne Funktionen über einen Arduino-ähnlichen Computer in Basic programmiert werden können. Solche Kleincomputer kosten ab ca 20,- und werden nur mit einem Monitor und einer Tasstatur verbunden... einschalten und los ...hat ein wenig C64-Feeling ;)


    Dazu einige Erfahrungen:


    Durch die Verbindung mit realen Alltagsgegenständen (hier Waschmaschine) erscheint das Ganze nicht nur als 'brotlose Kunst'.
    Imho ist eine Dauermotivation nur über interessante Aufgabenstellungen und sinnvollen Bezug zur 'realen Welt' zu erreichen. Programmieren als Selbstzweck wird nach kurzer Zeit langweilig. Es muss ja nicht gleich ne Waschmaschine sein ;) Modelleisenbahn, Modellautos oder LED-Beleuchtung im Kinderzimmer... oder eine 'Eltern-Überwachung' mit Bewegungsmeldern und Türschaltern :p .... egal, was ...wichtig ist, dass immer weiter ausgebaut werden kann.


    Als bedeutsam hat sich bei uns die Erfahrung einer unmittelbar sichtbaren Wirkung einer Befehlszeile herausgestellt. Soll heissen: Ein einfacher Basic-Befehl, der eine LED einschaltet oder einen Motor dreht, bringt schnelle Erfolgserlebnisse und motiviert, Abläufe (Befehle) zu kombinieren.


    Als Einstieg ist vllt auch ein Baukasten sinnvoll, wie in der letzten c't Hardware Hacks vorgestellt.


    Welche Programmiersprache zum Einsatz kommt, ist tatsächlich zunächst zweitrangig. Wir haben uns nach einigen Versuchen für einen Arduino mit Basic entschieden, weil es neben der einfachen Struktur eine Interpreter-Sprache ist. D.h. ein eingetippter Befehl wird sofort ausgeführt, ohne lange Compilation und Upload und für Anfänger undurchsichtige Klassenbibliotheken o.ä. (wie Samsungracers Vorschlag)


    Es braucht einige Zeit, bis 'der Knoten reisst' und die Kiddy-Programme Struktur bekommen. Anfangs werden zig Print-Befehle aneinandergereiht, um den Bildschirm zu füllen oder andere Anweisungen zig Mal hintereinander wiederholt, statt entsprechende Schleifen zu arrangieren.
    Es hat auch nicht gereicht, mit Programmbeispielen auf effizentere Programmierung hinzuwirken. Es war bei unseren Teilnehmern unbedingt nötig, die vereinfachende Wirkung von bedingten Schleifen und Daten-Arrays o.ä. zu erklären.
    Soll heißen: Der Einstieg ist am frustfreiesten, wenn ein 'alter Hase' anfangs ein paar Tipps geben kann ;)


    Sobald die vereinfachende Wirkung erkannt wird, verselbstständigt sich das Ganze und die Kids kommen nur noch, wenn Sie ein konkretes Problem nicht selbst lösen können. Mittlerweile kommen sie aber fast nur noch, weil Ihnen irgendein Sensor oder Schalter noch fehlt :cool:


    Solltest Du in dieser Richtung oder Samsungracers Vorschlag folgen wollen, kann ich gern noch weitere Erfahrungen preisgeben oder auf Wunsch den aktuellen Stand unseres Waschmaschinen-Projekts beschreiben.

  • Es mag alles seine Berechtigung haben und es mag auch durchaus Kids geben, die an einem derart hardwarenahen Ansatz Interesse und Gefallen finden. Ich finde ihn aber nach wie vor viel zu speziell und zu komplex, um allgemeine Grundlagen der Programmierung zu vermitteln und aufzuzeigen, mit welchen Problem- und Aufgabenstellungen sich Softwareentwickler heutzutage vorwiegend beschäftigen.

  • Na, das sehen bspw embedded-Programmierer sicher ganz anders :p
    Deine Kategorisierung 'vorwiegend' entspringt da wohl eher Deinem Kenntnis-Tellerrand ;)
    Ich stimme Dir zu, dass zu große Komplexität die Kids schnell überfordert, was sich tödlich auf die Motivation auswirkt. Deshalb haben wir nach einigen 'Fehlversuchen' auf komplexe Entwicklungsumgebungen etc verzichtet und sind zur Basic-Variante gekommen:
    Einschalten, Befehl eingeben und sofort die Wirkung sehen :top:
    Keine Betriebssystem-Schnittstellen, keine Klassenbibliotheken, keine Compiler usw.
    Hier mal ein Beispiel eines solchen Mini-Computers, damit verständlich wird, was ich meine. Die Preise solcher stand-alone-Experimentier-Computer beginnen ab ca 20,- und sind beliebig ausbau- und erweiterbar.

  • Zitat

    Original geschrieben von Gallium
    Na, das sehen bspw embedded-Programmierer sicher ganz anders :p
    Deine Kategorisierung 'vorwiegend' entspringt da wohl eher Deinem Kenntnis-Tellerrand ;)


    Das will (und kann ;) ) ich noch nicht mal abstreiten. Mich persönlich haben solche technischen Basteleien wie die, die dir und Samsungracer vorschweben, ehrlich gesagt noch nie die Bohne interessiert (und eigentlich auch noch nie wirklich interessieren müssen). Letztlich wohl das klassische Huhn-Ei-Problem, was zuerst war - mein ausgeprägte Desinteresse oder einfach die Tatsache, dass ich keinen blassen Schimmer davon habe. :D


    Zitat

    Original geschrieben von Gallium
    Einschalten, Befehl eingeben und sofort die Wirkung sehen :top:
    Keine Betriebssystem-Schnittstellen, keine Klassenbibliotheken, keine Compiler usw.
    Hier mal ein Beispiel eines solchen Mini-Computers, damit verständlich wird, was ich meine. Die Preise solcher stand-alone-Experimentier-Computer beginnen ab ca 20,- und sind beliebig ausbau- und erweiterbar.


    Ne, irgendwie macht mich das ja gar nicht an. Ist einfach nicht mein Ding, und auch nicht das, was ich unter "Programmierung" verstehe. Da denke ich dann tatsächlich eher an Betriebssystem-Schnittstellen, Klassenbibliotheken, Compiler, ... Datenstrukturen, Objektorientierung und solche Dinge. :cool:

  • Zitat

    Original geschrieben von Benz-Driver
    Welche zukunftsträchtige Programmiersprache, welches Buch, welche Software?

    Wenn er Programmieren lernen will, also sich nicht an einer Programmiersprache klammert, rate ich zu Xojo. Damit hat er egal auf welcher Plattform schnell Erfolge. Dessen Programmiersprache heißt REALbasic und dafür finden sich viele deutschsprachige Bücher: [amazon=3908497906]Amazon[/amazon]. Compilieren, Linken, Paths und so weiter wird zu einem Klick in der Menüleiste. Im Grunde klickt man die Apps zusammen. Das Schöne: Xojo wächst mit Deinen Fähigkeiten, denn Du kannst hier mal unter die Haube schauen, dort mal unter die Haube schauen, hier mal schrauben. Nebenbei wird sogar Dein Wissen aufgefrischt und Ihr könnt Euch gegenseitig helfen.


    Wenn Dein Sohn mit der Ausbildung fertig ist – also in 10 bis 15 Jahren –, dürfte C++ keine Rolle mehr spielen. Auch Java dürfte nur noch in Altsystemen bzw. in Serverfarmen zu finden sein. Google wird sich im absehbarer Zeit von Java trennen. Ich freie mich schon darauf, wenn ich dann diesen Post erneut lese und neu bewerte.


    Wichtig ist, dass er heute Spaß hat und das Thema Programmieren einigermaßen in guter Erinnerung behält, sollte er sich etwas anderem zuwenden. 10 Jahre ist sehr früh, 5. Klasse – entsprechend ist die Zielgruppe für solche Programmierumgebungen sehr klein.


    Java wäre mir zu heikel. Selbst mit guter IDE geht schnell irgendwas kaputt und selbst ein Fachmann sitzt ewig, um es wieder grade zu biegen. C# ist mir zu Windows-only. Objective-C ist mir zu Mac OS X-only. Außerdem auch nicht wirklich einfach mit Deinem Vorwissen. HTML, CSS, JavaScript ist mir zu Web-only – außerdem sind die Browser zu Buggy. Nimmt man einen anderen Browser, denkt man, alles falsch gemacht zu haben; dabei waren es deren Programmierer. ;)


    Sonst finden sich noch viele tolle Programmiersprachen, alle eher für den Frontalunterricht gedacht, haben also selten tolle Benutzeroberflächen. Ich kenne seit über zehn Jahren für Einsteiger nix besseres als Xojo. Ist Deutsch. Windows, Mac OS X, Linux. Kostenlos für dem Heimgebrauch ist es auch noch. Was will man mehr?


    Berichte mal in einem Jahr, wie es lief. Würde mich wirklich interessieren!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!