Programmieren für 8-/9-Jährige
-
Danke für eure Ratschläge und Fragen. Folgendes ist inzwischen passiert: Nachdem die optische Programmierung (Scratch) gut ankam, habe ich mir Lego Mindstorms EV3 genauer angeschaut, denn dort wird ebenfalls mit visueller Programmierung (von Labview) gearbeitet. Ein gebrauchtes Set 31313 im Küpper Sortierkasten ersteigert, und schon geht die Bastelei los. Zunächst haben wir nach Rat von LEGO mit dem TRACK3R begonnen. Dieser Bot ist mit seinem Kettenantrieb (fährt locker über Hindernisse wie Kabel) robust und übersichtlich in der Programmierung, da er zunächst nur Aktoren (zwei große Motoren, ein mittlerer Motor) aktiv einsetzt, und zugleich lustig im Einsatz.
Zwei Dinge nervten zunächst:
- die Übertragung der Hex-Dateien mittels usb-Kabel (Gefummel beim Einstecken am eingebauten Brick) <-- gelöst mittels usb-Bluetooth Dongle "iAmotus Bluetooth Adapter, Wireless USB Adapter 4.0 EDR Plug and Play Dongle Stick" (Koppelung mit V3 Brick klappt mühelos, wenn man weiß, wie man das in Win10 mit dem Plus-Symbol anstößt)
- der Kanalschalter der (trist wirkenden) IR-Fernbedienung im EV3 Set <-- abgelöst durch die (modellspezifische) LEGO Commander App für das Smartphone (einfach genial gemacht).
Nachdem diese lästigen Punkte behoben sind, geht es gut vorwärts. Erst kommt die Programmierung der Aktoren (Steuerung vor/zurück/Kurven/Drehungen/...), dann Schleifen in der Programmierung, jetzt sind wir an den Sensoren. Man muss sich halt als begleitender Erwachsener in die Blöcke einarbeiten. Leider gibt es da keinen Rechtsklick mit Erklärungen. Man findet aber gute Hilfen, wenn man sucht. In Deutsch habe ich allerdings noch nichts gefunden. Toll ist der Geräusch-Editor im Werkzeugkasten. Da kann man mit dem Headset ruckzuck eigene kurze Ansagen aufnehmen und im Klangblock abspielen lassen. Hier suche ich noch Übernahme aus WAV oder mp3.
Langfristig kann man den EV3 (ARM926EJ-S mit 64 MB RAM und stark erweiterbaren 16 MB Flash) mit vereinfachtem BASIC, JAVA oder Python betreiben, wenn man textuelle Programmierung benötigt. Das ist mit 8 1/2 aber noch einige Zeit weg. An die Sensorenschiene (I²C) kommt man wohl auch ran, die Ports (je 4 für Aktoren und 4 für Sensoren) soll man auch erweitern können. Am Anfang geht es aber um den Einstieg und Abwechslung.
Das Wichtigste: Man hat zusammen Spaß, kann (Erklär-/Vorführ-Videos drehen, ...). Mein neuer Curved Monitor ist für die optische Programmierung ideal, denn das wird schnell fummelig an zu kleinen Monitoren. "Zeilenumbruch" habe ich noch nicht gefunden.
ich habe mich bewusst für die HOME-Version entschieden, da sie mehr Spaß bringt als die EDUCATIONAL-Version, mit der Lehrer ihre Schüler belustigen können. Außerdem kann man upgraden. Ich hoffe, dass die Preise fallen, wenn das neue System im August bei LEGO erscheint. Im Roboternetz sieht man dieses eher als Vereinfachung, so dass ich zunächst bei dem ausgereiften EV3 mit großer Community bleibe.Nach dem TRACK3R kam jetzt auf Wunsch des Enkels der SPIK3R dran (Skorpion, der krabbelt, zuschnappt und Kugeln - viel Spaß beim Suchen - aus dem Stachel schießt <-- echt genial gelöst von LEGO).
Schaut euch mal an, was man alles mit EV3 machen kann:
https://www.youtube.com/watch?v=SBOdGG4sx4w (Lego Mindstorms EV3 Rubik's Cube Solver)
-
Den Gamemaker finde ich gut, aber zu komplex und abstrakt für 8 1/2 Jahre. Das hat noch etwas Zeit.
Ansonsten habe ich meinen alten Nibo1 (von 2007) wieder aktiviert, sogar mit Atmel Studio 7 und passender Toolchain von 2010 (sonst knallt es am Linker). Jetzt hat die Odometrie versagt, wohl eine kalte Lötstelle. Diese offenen Elektronik-Systeme sind einfach mechanisch nicht ausreichend robust, rasen dann mit Highspeed an die Wand oder unter Schränke und wickeln sich um Bürostuhlrollen.
Meine drei Asuros, sogar mit klasse Ultraschallsystem, sind wohl zu langweilig, um sie nochmal zu aktivieren.
Ich finde die Kombination aus mobiler Hardware und Software ideal für Kids, da sie sonst am Rechner "einfrieren". Mit Bots ist immer Bewegung angesagt, auch für mich.
-
Lego hat meiner Meinung nach halt das Problem, das es für uralte Technik Mondpreise aufruft. Das es auf Infrarot Bedienung und Kabeln basiert, hattest du schon erwähnt, mindestens genauso ärgerlich ist aber die Verwendung normaler Batterien. Und wenn man erweitern will, sind spezielle Teile dann wieder nur in superteuren Sets (inkl. zig Teilen, die man vlt. gar nicht wollte) oder auf dem Gebrauchtmarkt wo es dank Sammlerwert zu noch höheren Preisen kommt. Und weil alles geschlossen ist, hast du auch das Problem, das vlt. auf der nächsten Smartphone Generation in 2-3 Jahren dein EV3 nicht mehr rennt und Lego es nicht mehr weiterpflegt. EV3 ist ja schon uralt und läuft aus. Das neue Modell ist wohl komplett inkompatibel und die Leute fangen schon an das alte Zeug zu horten (siehe z.B. https://www.youtube.com/watch?v=ghCYWMAsJ4U). Eigentlich ein Unding bei einem Spielzeugsystem, wo man über die Jahre tausende Euro investiert hat.
-
@TGGC sagte in Programmieren für 8-/9-Jährige:
Lego hat meiner Meinung nach halt das Problem, ...
Ich sehe die gleichen Probleme bei Lego..
-
Kurzes Update:
Inzwischen habe ich neben dem Home-Set (ebay, gebraucht) auch das Educational-Set (ebay, gebraucht) und die Erweiterungsbausteine (für Educational) erworben (neu, billig bei amazon). Bei Facebook gibt es Communities und auch im Roboternetz.
Ich verwende natürlich Akkus mit 2800 mAh, die man anstelle der Batterien einsetzen kann. Für Aktoren/Sensoren von Drittanbietern benötigt man die entsprechende Firmware, die man dann in einem speziellen Format einbinden kann.
Selbst den Brick kann man austauschen gegen einen shielded RaspberryPI. "BrickPi": https://www.dexterindustries.com/brickpi/
Programmieren kann man später auch in Java, Python, ... Das ist momentan aber nicht wichtig. Entscheidend ist das intuitive Erkennen von Abläufen (Wechselspiel zw. Außenwelt/Aktor/Sensor; Schleifen, case-switch, if/else, ...)
Lego Mindstorms war die beste Wahl, sowohl was die Hardware angeht (Kinder kennen Lego) als auch was die Programmierung angeht. Ich kenne z.Z. nichts Besseres, und mein Enkel ist begeistert (nur das zählt).Aus eurer Sicht ist das natürlich alles Pille-Palle, ich programmiere auch lieber low-level und textuell, aber versetzt euch in einen an der Welt interessierten 8-9-jährigen Jungen. Da muss Faszination her. Proggen konkurriert hier mit Minecraft, Spielen, Dinosaurier, Monster, Smartphone-Apps, Weltall, Anatomie, ...
Da müssen natürlich auch Erklär-Videos gedreht werden. Die Kids sehen die Videos bei YT und ahmen das gerne nach. Lego, Videos, Smartphone, Lob in der Familie, ... alles wichtig.Übrigens ist vieles offen bei Lego. Man kann sogar die Firmware des Bricks selbst verändern. Lego hat wohl kaum Konkurrenz.
https://education.lego.com/de-de/support/mindstorms-ev3/developer-kitsDas Thema Kabel stimmt. Die stören gewaltig, vor allem beim Bauen. Infrarot ist gar nicht so schlecht, aber es gibt serienmäßig auch Bluetooth und via usb-Dongle sogar WLAN. Da ich inzwischen zwei EV3-Bricks habe, werde ich das sicher nutzen für Bluetooth-Kommunikation. Vielleicht kann ich sogar den PC einbinden, der jetzt einen BT Dongle hat. Die "Commander App" von Lego verwendet bereits Bluetooth. Zum Glück läuft es auf meinem Samsung A7. Es gibt viele Inkompatibilitäten, das stimmt. Die hält der Opa vom Enkel fern.
PS: Geld ist Opas in Bezug auf Enkel erstmal wurscht.
-
@Erhard-Henkes sagte in Programmieren für 8-/9-Jährige:
Übrigens ist vieles offen bei Lego. Man kann sogar die Firmware des Bricks selbst verändern. Lego hat wohl kaum Konkurrenz.
Das Problem ist, dass im modernen Einzelhandel fast nur noch Produkte von Großkonzernen vermarktet wird. Nur deshalb erscheint Lego ohne Konkurrenz. Es gibt schon seit Jahrzehnten von fischertechnik Computing Bausätze und Interfaces für Computer. Man kann das ganze fischertechnik Programm nutzen und bekommt auch alle Teile aus den Bausätzen einzeln zu kaufen. Neben dem eigenen TXT Controller (es gibt alternative Firmware dafür) mit ROBO Pro Software, kann man auch diverse andere Boards für die Bausätze nutzen z.B. Calliope, Arduino oder Raspberry Pi.
-
@john-0 sagte in Programmieren für 8-/9-Jährige:
Das Problem ist, dass im modernen Einzelhandel fast nur noch Produkte von Großkonzernen vermarktet wird. Nur deshalb erscheint Lego ohne Konkurrenz.
Ich weiß nicht. Ich würde diesem 8-9 jährigen vermutlich einen PS/2 auf den Tisch knallen, ihm dann RAM-Riegel in die Hand drücken und ihm erklären was eine CPU und ein BUS ist.
Dann entspannt DOS oder meinetwegen ein LINUX installieren und ihm zeigen was BASIC ist und kann. Danach irgendwann vielleicht ein Ausflug in richtung CPU-Architektur und Assembler. Aber das bin ich.(ich musste mir für meinen brandneu gebraucht gekauften i386 erstmal Netzkabel beim Elektrofachhändler besorgen (Bügeleisenkabel - kein Scherz, liegen immer noch im Keller ^^)).
-
@Swordfish sagte in Programmieren für 8-/9-Jährige:
Ich weiß nicht. Ich würde diesem 8-9 jährigen vermutlich einen PS/2 auf den Tisch knallen, ihm dann RAM-Riegel in die Hand drücken und ihm erklären was eine CPU und ein BUS ist.
Das funktionierte vielleicht früher, da war man von Computer allein begeistert weil es sie gab. Heute ist die Jugend anspruchsvoller und kann weniger. Nur als Beispiel ein Beitrag des HRs ab Minute 18:52, und die Kommentare dazu.
Von der Komplexität wäre ein Arduino sinnvoll. Kein OS simple CPU, das kann man noch recht einfach programmieren, und kann etwas externes mit ansteuern. Wer mit Hochsprachen anfangen will, da ist ein Raspberry Pi nicht schlecht.
Dann entspannt DOS oder meinetwegen ein LINUX installieren und ihm zeigen was BASIC ist und kann. Danach irgendwann vielleicht ein Ausflug in richtung CPU-Architektur und Assembler. Aber das bin ich.
Exakt, wer früher programmieren gelernt hat, ist Widrigkeiten gewohnt und gibt nicht so leicht auf. Früher war es doch üblich, dass bei einem Programmierfehler das System sich aufgehängt hat, und man höchstens per post mortem Debugger über die RS-232 das System debuggen konnte.
(ich musste mir für meinen brandneu gebraucht gekauften i386 erstmal Netzkabel beim Elektrofachhändler besorgen (Bügeleisenkabel - kein Scherz, liegen immer noch im Keller ^^)).
Das ist so Widrigkeiten, die die Jugend nicht gewohnt ist.
-
@Swordfish @john-0 Für einen 9-Jährigen, wirklich? Ich habe mich auch durch QBasic mit Handbuch und ohne Internet gebissen, aber ich war da ein paar Jahre älter...
Ich denke, da ist die Lego Variante die deutlich bessere. Arduino / RasPi kann danach kommen, bei Motivation und etwas mehr Verständnis.
Allegmein halte ich: "Wir haben uns das früher auch antun müssen" für didaktisch nicht sinnvoll bis schädigend.
-
@Schlangenmensch sagte in Programmieren für 8-/9-Jährige:
@Swordfish @john-0 Für einen 9-Jährigen, wirklich? Ich habe mich auch durch QBasic mit Handbuch und ohne Internet gebissen, aber ich war da ein paar Jahre älter...
Meine Präferenz war ganz klar der Ansatz fischertechnik mit RoboPro Software. Beim Raspberry Pi gibt es ähnliche Software, so dass man auch hier relativ simpel Programmieren kann. Allerdings dürften hier die Englischkenntnisse ein Problem sein. Was das Alter betrifft fischertechnik empfiehlt das Starterset für bbc:microbit ab der 3. Schulklasse.
-
@Schlangenmensch sagte in Programmieren für 8-/9-Jährige:
Ich habe mich auch durch QBasic mit Handbuch
Du hattest ein Handbuch
-
@Swordfish Für Basic hatte ich auch ein Handbuch. Für Assembler und C dann aber nicht mehr. Und anfangs auch kein anderes Buch. Dafür jeweils ein paar Teile eines mehrteiligen Assembler bzw. C Kurses einer Zeitschrift.
Und einen "C Compiler" dem Zeigertypen bei Assignment und Zeigerarithmetik völlig Hupe waren hatte ich auch. War dann ein bisschen eine Überraschung als ich endlich einen (halbwegs) korrekt funktionierenden Compiler bekommen habe.
-
@hustbaer sagte in Programmieren für 8-/9-Jährige:
Und einen "C Compiler" dem Zeigertypen bei Assignment und Zeigerarithmetik völlig Hupe waren hatte ich auch
bcc schätze ich mal.
-
@Swordfish Nope. "DICE C" für den guten alten Amiga. Ist mit irgend einer Zeitschrift mitgekommen - damals gab's ja Zeitschriften wo Disketten mit Software drauf bzw. später CDs mitkamen
Der besser funktionierende war dann wenn ich mich nicht täusche der Lattice C.
Borland C++ später aufm PC hat dagegen halbwegs gut funktioniert. Man durft bloss bestimmte
double
Werte nicht beiprintf
reinmachen, weil das Programm sonst abgekackt ist
Wobei Watcom cooler war weil DOS/4GW.
-
Ich hatte damals Fischertechnik - und damals hatten die im Computing-Baukasten ein am Parallelport angeschlossenes Interface, wo man dann Lampen oder Motoren steuern konnte. Die hatten damals mit "Lucky Logic" eine eigene "Programmiersprache", wo man sich Ablaufdiagramme zusammenklicken konnte und die dann ausführen konnte. Wer wollte, konnte auch eine "richtige" Sprache wie Turbo Pascal benutzen Das war definitiv geeignet für mein jüngeres Ich!
-
@hustbaer sagte in Programmieren für 8-/9-Jährige:
"DICE C"
-Das Emoticon von dem Affen der sich die Hände vor die Augen hält-
-
@Swordfish sagte in Programmieren für 8-/9-Jährige:
@hustbaer sagte in Programmieren für 8-/9-Jährige:
"DICE C"
-Das Emoticon von dem Affen der sich die Hände vor die Augen hält-
Sag bloss du kennst den...?
-
@hustbaer nein, ich hatte nie einen Amiga. Aber Deine Beschreibung reicht. Danke. Nein Danke.
@hustbaer https://abload.de/img/untitledovj3t.png ^^
-
@hustbaer sagte in Programmieren für 8-/9-Jährige:
Der besser funktionierende war dann wenn ich mich nicht täusche der Lattice C.
Es gab in der Anfangszeit auch noch Aztec C, und relativ spät gab es dann auch einen Port von gcc inklusive g++.
Mein persönlicher Alptraum C Compiler ist der K&R C Compiler der älteren HP-UX Versionen. Der war kostenlos beim System dabei. Es ließ sich damit aber nur der gcc 2.8.1 (die letzte K&R übersetzbare Version) übersetzen, und so musste man zuerst den 2.8.1 bauen und dann einen halbwegs aktuellen gcc.