Programmieren lernen mit KidsRuby

Grundlegendes

Programmiersprachen gehören zu den Sprachen des 21. Jahrhunderts.
— Sigmar Gabriel

Der Vizekanzler und Wirtschaftsminister teilte dies vor kurzem der Rheinischen Post mit und zog auch in Erwägung, Programmiersprachen als zweite Fremdsprache in Schulen anzubieten.

Von der Umsetzung dieser Forderung sind wir sicher noch weit entfernt – ob sie kommen wird, mehr als fraglich…

Und dennoch sollte man sich die Frage stellen, welchen Stellenwert das Erlernen einer Programmiersprache hat:
Neben dem Erkenntnisgewinn wie Computer funktionieren, fördert und fordert das Programmieren vor allem das problemlösende und logische Denken, je nach Wahl der Programmiersprache auf einer mehr oder weniger abstrakten Ebene.

Programmiersprachen für Jugendliche

Das Spektrum an Programmiersprachen, die für Kinder und Jugendliche geeignet sind, reicht von visuellen Entwicklungsumgebungen, mit deren Hilfe man mit bausteinartigen Befehlen erste Gehversuche beim Programmieren machen kann (z.B. Scratch) bis hin zu professionellen Programmiersprachen, die aufgrund ihrer einfachen und gut lesbaren Syntax unter Umständen auch eingesetzt werden können (z.B. Ruby oder Python)

Einen Mittelweg beschreitet hier KidsRuby, bei der es sich um eine speziell für Kinder konzipierte Ruby-basierte Entwicklungsumgebung handelt, die einen äußerst schnellen und einfachen Einstieg in die Programmiersprache Ruby bietet.

Besonders das Turtle-Feature, welches mit der Programmiersprache Logo bereits in den 1960er Jahren das Licht der Welt erblickte, stellt einen spielerischen ersten Kontakt zum Programmieren her.

Und so oder ähnlich kann der Programmcode hierzu in KidsRuby aussehen:

Turtle.start do
   background yellow
   pencolor black
   forward 200
   turnright 90
   forward 200
   turnright 90
   forward 200
   turnright 90
   forward 200
end

Man muss sich diese Schildkröte als eine besondere Vertreterin ihrer Spezies vorstellen: sie ist nämlich mit einem Stift an der Unterseite des Panzers ausgestattet, der eine beliebige Farbe zeichnen kann. Zudem ist sie der englischen Sprache mächtig und versteht einfache Anweisungen.

Unserem Tierchen wird hier beispielsweise vorab mitgeteilt, dass der Hintergrund gelb und die Farbe des Stiftes schwarz sein soll. Und dann kann es auch schon losgehen:

forward 200 – bewege dich 200 Pixel vorwärts
turnright 90 – drehe dich dann um 90° nach rechts

Es ist sicherlich leicht, nachzuvollziehen, dass mit Erreichen der Anweisung end die Schildkröte ein sauberes Quadrat auf den Monitor gezeichnet hat. So einfach kann Programmieren sein!screenshot1

Kunstwerke durch Randomisierung

Das eben angesprochene Programm hat lediglich den Nachteil, dass es möglicherweise nach mehrmaliger Ausführung langweilig erscheinen kann.
KidsRuby bietet jedoch auch die Möglichkeit, im Programmcode einen Zufallsgenerator mit einzubauen. Dieser kann bspw. so aussehen:

Turtle.start do
   background silver
   pencolor red
   1000.times do
       forward rand(30)
       random = rand(2)
       if random == 0
           turnleft 0
       else
           turnright random*90
       end
   end
end

Hervorzuheben sind drei neue Anweisungen:
Zum einen die Schleife 1000.times do ... end, welche bewirkt, dass die Anweisungen zwischen do und dem dazugehörigen end genau 1000 Mal wiederholt werden.
Zum anderen versteckt sich hinter dem Befehl rand mit einer Zahl in Klammern dahinter der Zufallsgenerator (random). Die Zahl gibt hierbei den Bereich der zu erzeugenden Zahl an. Im Beispiel sorgt rand(30) dafür, dass eine zufällig generierte Zahl zwischen 0 und 30 eingesetzt werden soll.
Zuletzt befindet sich im Code noch eine if ... else-Schleife, welche auf bestimmte Bedingungen prüft.

Man könnte den Programmcode also auch in Alltagssprache übersetzen:

Liebe Schildkröte,
wähle als Hintergrund die Farbe Silber,
als Vordergrund die Farbe rot.
Was ich dir jetzt alles sage, wiederholst du bitte genau 1000 Mal. Und zwar:
Bewege dich so weit nach vorne wie du möchtest, aber nicht weiter als 30 Schritte.
Denke dir eine Zahl zwischen 0 und 2 aus und merke sie dir.
Wenn deine Zahl 0 ist, dann drehe dich gar nicht.
Wenn deine Zahl aber 1 oder 2 lautet, dann dreh dich um 0°, 90° oder 180°, du entscheidest selbst.
Das wars!

Und so wird es dann in KidsRuby angezeigt:screenshot2

Bei jedem erneuten Drücken auf „Run“ wird ein komplett anders aussehendes Kunstwerk generiert!

Variablen und Dialogfenster

Simple grafische Benutzeroberflächen lassen sich mit KidsRuby auch auf recht einfache Art und Weise realisieren.
Sehen wir uns hierzu das nur zwei Zeilen umfassende Programm an:

name = ask "Wie heißt du?"
alert "Hallo, " + name + "!"

Mit ask wird KidsRuby angewiesen, ein Dialogfenster zu öffnen. Was hierbei gefragt werden soll wird dahinter in den Anführungszeichen angegeben. Den Namen, den der Benutzer letztendlich über die Tastatur eingibt wird dann in der Variable „name“ gespeichert. Sie kann jederzeit abgerufen werden. Dies geschieht auch in der nächsten und letzten Zeile.
Hier wird nämlich mit alert ein Hinweisfenster ausgegeben, in dem zunächst der Halbsatz „Hallo, “ und dann der Wert, der in der Variable „name“ gespeichert wurde, angezeigt wird. Dies wird dann noch durch ein Ausrufezeichen abgeschlossen.screenshot3

Fazit

Mit KidsRuby können schnell und ohne große Hürden einfache Programmierkenntnisse vermittelt werden. Wie bei allen Programmiersprachen gilt auch bei KidsRuby:

Der Komplexität sind keine Grenzen gesetzt!

Sicherlich lassen sich mit KidsRuby nur einfache Probleme durch Programmieren lösen. Die Entwicklungsumgebung versteht sich auch lediglich als Einstieg in die Programmiersprachen.

Dass die Anwendungsmöglichkeiten aber dennoch über das hier skizzierte hinausgehen zeigt ein Blick in die programminterne Hilfe: KidsRuby kann auch zur Programmierung von kleinen Spielen und zur Steuerung von Robotern verwendet werden!