Karel the Robot
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.
Karel bewegt sich ein Feld vorwärts in die Richtung, in die er gerade schaut.
Misslingt, wenn eine Wand den Weg versperrt
Karel dreht sich um 90° nach links
Karel dreht sich um 180°
Karel dreht sich um 90° nach rechts
Karel nimmt den Beeper von dem Feld, auf dem er gerade steht auf.
Misslingt, wenn es keinen Beeper (auf dem Feld) gibt.
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.