Kinder lernen programmieren - ohne computer

wie werden Abläufe dargestellt?

prozesse werden als parcours gespielt, bei dem eine top-level schleife von den einzelnen kindern durchgeführt wird. im ablauf werden dann die anderen konzepte benutzt (boolean, schleifen, zufall, array-funktionen)
Die Abläufe werden aus Bausteinen zusammengesetzt.
Die verfügbaren Bausteine sind hier dargestellt.
Der jeweils aktuelle Stand des Kontrollflusses ist als kugel zu bewegen, die sich von einem Baustein zum anderen bewegt. Dafür sind in den Bausteinen Spuren vorhanden.

kontroll-fluss

es werden symbole gebraucht, die von sprünge im kontrollfluss darstellen (z.b. von if/else in gekapselte abläufe) diese symbole sollten sinnvoll sein (ein funktion, die eine schleife macht, könnte z.b. mit einem ring dargestellt werden)

schleifen

mit gegenständen

ein geländer (am besten ringförmig) auf dem mit der hand verschiedene dinge abgelesen und modifiziert werden können)

technische ideen

einzelne ca 50 cm lange elemente, aus denen ringe (und andere formen) gebaut werden können. sie haben ander oberseite vertiefungen, die für anweisungen (z.b. variable temperatur = 30) und kontrollfluss (if temperatur > 30: return "heiss") operatoren benutzt werden können.

im spiel

die kinder laufen um das geländer herum und lesen zustände ab und verändern variablen

boolean logic

mit gegenständen

wahr und falsch muss symbolisch dargestellt werden z.b. mit gewichten oder gelochten gegenständen. TODO:: gegenstände, die kombiniert werden und so AND und OR repräsentieren

technische ideen

if/else weichen könnten als wippen realisiert werden.

zufalls-generatoren

mit gegenständen

platonische solide zum würfeln

im spiel

die kinder würfeln

array funktionen

eine leicht v-förmige schiene, auf der die elemente des arrays liegen.

filter

man kan einzelne elemente des arrays heraus-klicken und die anderen fahren dann zu einem kleineren array zusammen.

map

die einzelnen elemente des arrays erfahren alle diesselbe behandlung (z.b. addieren eines wertes)

in der muttersprache

die terminologie, mit der die spiele präsentiert werden, muss die muttersprache der kinder sein. für eine fortsetzung der spielerischen arbeit auf dem computer, sollte diese sprache auch programmierbar sein.

Terminologie

für jede sprache, in der kinder lernen sollen, müssen alle spezialbegriffe mit wörtern dieser sprache verfügbar sein. besondere aufmerksamkeit sollten worte geniessen, für die in der jeweiligen sprache der englische begriff übernommen wurde. und für die daher kein begriff existiert (z.b. deutsch: Server).
siehe z.b. Terminologie

Programmieren am Computer

auch, wenn das weder das Ziel, noch notwendig ist, ist es von vorteil eine programmiersprache zu haben, in der die gelernten (und zu lernenden) Konzepte nachgebaut werden koennen. sie sollte diesselben worte benutzen, anhand derer die Konzepte zusammen gelernt wurden. TODO:: babylscript untersuchen (minus: written in java) TODO:: alternativen zu babylscript finden

Technische Umsetzung

Da das Ziel das Erlernen durch Bewegung, Berührung und Veränderung ist, muß die Hauptversion auf ca. Tischhoehe aus Kinderhänden angepaßten Holzgegenständen gebaut werden. Die Parkours bestehen aus Schienen, an denen das programm abgelaufen werden kann. Neben den Schienen muss also immer ausreichend Platz zum laufen sein.
innere Loops könnten vertikal stehen und so das entlangfahren mit der hand erlauben. siehe: technische Umsetzung