Karel the Robot

Spielerisch Programmieren (lernen)

Kapitel für Kapitel gibt es neue Aufgaben zu erfüllen, neue Befehle zu meistern und tiefer in die Welt aus Nullen und Einsen vorzudringen.

Mit oder besser in der Lernumgebung „Karel the Robot“ zu arbeiten und seinen eigenen Code zu schreiben macht einfach Spaß – egal, ob du schon viel Erfahrung mit dem Schreiben eigener Programme hast oder komplett neu in der Welt der Programmierung bist – mit dem kleinen Roboter gibt es Kapitel für Kapitel viel zu entdecken.

Irgendwann bist du soweit, dass sich das Leveldesign jedes Mal verändert, wenn du das Level startest. Spätestens jetzt musst du die Kontrollstrukturen geschickt einsetzen, um das Level zu meistern.

Die Welt von Karel

Karel

Du programmierst den kleinen blauen Roboter. Hilf ihm dabei, seine Aufgaben zu erfüllen.

Wand

Eine Wand versperrt Karel den Weg.

* Versucht ihr (Karel), durch eine Wand zu laufen, erhaltet ihr eine Fehlermeldung.
* Wände können (ab Lektion 2) durch if/else-Abfragen erkannt werden.

Beeper

Teil der Aufgaben können die sogenannten Beeper sein. Karel kann unendlich viele Beeper einsammeln oder ablegen.

* Es ist egal, ob er bereits Beeper eingesammelt oder abgelegt hat.
* Beeper können nur abgelegt werden, wenn noch kein Beeper auf dem Feld liegt.
* Beeper können nur eingesammelt werden, wenn bereits ein Beeper auf dem Feld liegt.

Ein Blick in die Lernumgebung

Die visuelle Umsetztung

Dein Code wird Zeile für Zeile umgesetzt. So kannst du jeden Schritt von Karel verfolgen und siehst genau, was – wann – warum passiert! So erfährst du mehr über deine eigenen Programme und kannst mit einem spielerischen Ansatz kritische Problemstellungen der Informatik kennenlernen.

Steuere Karel durch seine Welt

Dir stehen 6 Befehle (vorimplementierte Funktionen) zur Verfügung, um Karel zu programmieren. Später lernen wir noch 5 weitere Befehle kennen, mit den Karel seiner Umgebung wahrnehmen kann.

F1
moveForward()

Karel bewegt sich ein Feld vorwärts in die Richtung, in die er gerade schaut.
Misslingt, wenn eine Wand den Weg versperrt

F2
turnLeft()

Karel dreht sich um 90° nach links

F3
turnAround()

Karel dreht sich um 180°

F4
turnRight()

Karel dreht sich um 90° nach rechts

F5
pickBeeper()

Karel nimmt den Beeper von dem Feld, auf dem er gerade steht auf.
Misslingt, wenn es keinen Beeper (auf dem Feld) gibt.

F6
dropBeeper()

Karel wirft einen Beeper auf den Platz, auf dem er gerade steht
Misslingt, wenn dort bereits ein Beeper liegt.

Hintergründe

Die Lernumgebung „Karel the Robot“ ist universell! Hier geht es darum, kritische Problemstellungen der Informatik kennenzulernen und zu lösen. Die Prinzipien, die hier erlernt werden, können anschließend in allen (imperativen) Programmiersprachen eingesetzt werden: Es ist also kein Wunder, dass du in der Arduino-Kursreihe an unterschiedlichen Stellen wieder Hinweise zu den Ergänzungskursen “Karel“ findest.

Die ursprüngliche Idee zu Karel wurde von Richard Pattis (Stanford University, 1970) entwickelt. Heute gibt es mehrere Versionen der Lernumgebung und sie wird an einigen Universitäten im Bereich Informatik eingesetzt.

Wir unterscheiden 2 große Programierparadigmen: die imperative Programmierung und die objektorientierte Programmierung. Karel und die meisten anderen Programiersprachen wie C, C#, C++, Java, Python basieren auf der imperativen Programmierung und unterscheiden sich „nur“ durch einige Details.

Die imperative Programmierung (vom Lateinischen: imperare = befehlen) führt eine klar strukturierte Handlungsabfolge aus. Es werden also, genau wie in der Aufgabe, die Karel hier erfüllen soll, mehrere Befehle nacheinander ausgeführt. Um einzelne Befehle zu steuern, können zudem auch Kontrollstrukturen wie Verzweigungen oder Schleifen verwendet werden.

Newsletter
Mit dem Newsletter keinen Kurs verpassen und exklusive Rabatte sichern: