#6 Geometrische Formen

Das Quadrat war ein Kinderspiel, oder? Aber:

Zu deinen Überlegungen aus Aufgabe 5 kommen jetzt zwei neue: Welche Winkel haben unterschiedliche regelmäßige Vielecke und wie blinkt der mBot?

Im besten Fall hast du schon gelernt, wie man die Winkel in regelmäßigen Vielecken berechnet. Zur Steuerung unseres Roboters müssen wir den Mittelpunktswinkel berechnen. Das geht ganz einfach, indem wir die 360 ° eines Vollkreises durch die Anzahl an Ecken dividieren:

Denke an das Quadrat aus der vorherigen Aufgabe. n steht für die Anzahl der Seiten des Vielecks. Verwendest du also VIER, so ergibt die Formel 90 ° für jeden Winkel. Vergiss nicht, die Bewegungen so oft zu wiederholen wie es Ecken gibt.

Das Blinken für den zweiten Teil der Aufgabe erreichst du über Light Emitting Diodes – dort findest du eine schöne Auswahl an Steuerungen für das Licht. Das machst du am besten über eine zweite Schleife in der sich alles fortlaufend wiederholt!

Probiere verschiedene Formen aus und vergiss dabei nicht den Winkel für die jeweilige Figur zu ändern!

Hier findest du eine mögliche Lösung für ein Achteck:

Gratulation, du kannst den mBot mittlerweile ganz genau steuern und mit ihm auch Lichter abspielen. In der nächsten Aufgabe wirst du etwas neues probieren: den Bildschirm am CyberPi.

Hier findest du nochmal einen Überblick der Blöcke, die du für diese Aufgabe verwenden konntest:

#5 Quadrat

Es ist wieder an der Zeit dein bisheriges Wissen zu verknüpfen! Diesmal soll dein mBot eine geometrische Form nachfahren – ein Quadrat mit einer von dir festgelegten Seitenlänge:

Bevor du dich auf die Aufgabe stürzt, kannst du deine Computational Thinking Skills wieder ein wenig üben – diese Fragen helfen dir dabei:

Welche einzelnen Bewegungen muss der mBot machen, um ein Quadrat nachzufahren?

Welchen Winkel braucht der mBot, um die Figur genau abzufahren und wieder zum Startpunkt zu kommen?


Wie kann ich den Code so einfach wie möglich machen?

Versuche die Aufgabe selbstständig zu lösen, du kennst bereits jeden Schritt – baue den Code nur noch richtig zusammen! Du schaffst das! Die Lösung findest du weiter unten!

Hast du es geschafft? Hier findest du nochmal einen möglichen Lösungsweg.

Die erste Frage lässt sich leicht beantworten. Der mBot braucht eigentlich nur zwei Bewegungen, um ein Quadrat nachzufahren: VORWÄRTS und LINKS/RECHTS ABBIEGEN:

Auch die Antwort auf die zweite Frage findest du im Block bereits. Ein Quadrat besteht aus vier Winkeln zu je 90 °. Du könntest diese beiden Codeblöcke also einfach dreimal duplizieren und schon fährt dein mBot im Quadrat. Wir haben aber gelernt, dass das auch einfacher geht, nämlich mit einer Schleife:

Die Schleife wiederholt die beiden Bewegungen viermal und schon hast du dein Quadrat. Vergiss nicht auf unseren Start- und Endblock! Dein fertiges Programm sollte so aussehen:

In der nächsten Aufgabe versuchen wir andere geometrische Formen zu fahren – mach dich bereit!

Hier findest du nochmal einen Überblick der Blöcke, die du für diese Aufgabe verwenden konntest:

#3 Wiederholungen mit Schleifen

Bewegungen und Töne sind mit dem mBot jetzt kein Problem mehr für dich! Aber was passiert, wenn wir wollen, dass der mBot seine Aufgaben auch wiederholt? Hier kommen Schleifen ins Spiel – sie sind ein wichtiger Bestandteil jeder Programmiersprache!

Wir werden eine Schleife verwenden, um diese Aufgabe zu lösen – sie sollte dir bereits bekannt sein:

Überraschung! Die Aufgaben, die dein mBot wiederholen soll kennst du bereits! Jetzt stellt sich aber die Frage, WIE wir sie wiederholen können. Eine Möglichkeit ist es den Code zu duplizieren und zweimal einzufügen:

Der Roboter wird machen, was du von ihm möchtest, aber stell dir vor, du hast ein Programm, in dem etwas zehn, fünfzehn oder sogar hundert Mal wiederholt werden soll! Das kann schnell unübersichtlich werden und ein Programm, das schwer zu lesen ist, wird dir schneller Probleme bereiten als eines, in dem du schnell erkennst was passiert!

In den Kategorien versteckt sind ein Block, mit dem du eine Schleife – also einen Codeblock erstellst, der sich beliebig oft wiederholt und du so genau STEUERN kannst was passiert. Versuche ihn zu finden und baue dein Programm um!

Wenn du genau gelesen hast, wirst du schnell erkannt haben, dass sich der gesuchte Block im Bereich STEUERUNG befindet:

In diesen Block schiebst du alle anderen Befehle, die du wiederholt haben möchtest – das weiße Feld erlaubt dir festzulegen, WIE OFT wiederholt wird.

Dein fertiger Code sollte so aussehen. Probiere ihn aus und lass dich dreimal begrüßen! Achte darauf, dass du wirklich 150 cm Platz hast, damit der mBot nicht in eine Wand fährt!

Schleifen werden dich in deiner Karriere als Software Developer immer wieder begleiten – es gibt auch andere Arten mit denen du festlegen kannst BIS WANN die Aufgabe wiederholt wird. Diese Schleifen wirst du später noch kennenlernen!

Hier findest du nochmal einen Überblick der Blöcke, die du für diese Aufgabe verwenden konntest:

Schleifen und die industrielle Revolution

Der Versuch einer kulturhistorischen Ableitung der Bedeutung von Algorithmen und Codierung aus und für den gesellschaftlichen Wandel

Warum man die sich in der zweiten Hälfte des 18. und dann im 19. Jahrhundert ausbreitende industrielle Revolution zunächst meist mit England verortet, hat 2 Hauptgründe. Es waren die konsequente Verwendung von Kohle für Dampfkraft als zusätzliche Energiequelle und ein gewisser Hang zur Technik, erkennbar in einer Fülle von „Mikroerfindungen“, Verbesserungen und Umsetzungen von (oft in anderen Ländern erforschten) fundamentalen Ideen, die zu funktionierenden Maschinen – Automaten – und damit zu einer nie dagewesenen Produktivitätssteigerung führte.

Auch das weitere Fortschreiten, der von einigen als zweite industrielle Revolution bezeichnete Beginn des 20. Jahrhunderts, war wiederum von ähnlichen Faktoren bestimmt. Genannt werden Energie, diesmal in der Form der Elektrizität, und Automatisation, gekennzeichnet durch die immer intensivere Verwendung von Maschinen und die damit verbundene beginnende Massenproduktion.

Die oft zitierte digitale Revolution des ausklingenden 20. und beginnenden 21. Jahrhunderts beruht wieder auf einer massiven Produktivitätssteigerung, basierend auf Algorithmen und Automaten – Computern.

Der gesellschaftliche Wandel kennt also die Hauptingredienzien

Energie (über die Arbeitskraft des Menschen hinausgehend)

Automatisierung mittels Algorithmen und ihrer Umsetzung in Automaten/Maschinen

Wenn wir uns nun auf Punkt 2 – die Automatisierung – konzentrieren, sehen wir als wesentliche Aspekte, warum es zu einer Produktivitätssteigerung kommt:

a) Die formale Beschreibung eines Arbeitsvorgangs in einer Weise, dass er automatisch ohne weiteres Zutun des Menschen abgearbeitet werden kann = Algorithmus

b) Die technische Möglichkeit, den Arbeitsvorgang schneller, billiger und weniger fehleranfällig oft wiederholen zu lassen = Automat, Maschine

Jede Sprache, die genau beschreiben will und Anweisungen gibt, wie ein Algorithmus abgearbeitet und in einen Automaten implementiert werden soll, kommt daher zwangsläufig zum Begriff der

1 Wiederholung = Schleife

Eine genauere Betrachtung ergibt hier drei Möglichkeiten:
a) Eine genaue Vorgabe, wie oft die Schleife durchlaufen wird – Zählerschleife

b) Eine Schleife, die durch Eintreten einer Bedingung abgebrochen wird

c) Im Verein mit Prozeduren rekursives Abarbeiten

Aus der Schleife (siehe Punkt b) ergibt sich sofort die Notwendigkeit der

2 Bedingung = Verzweigung

Diese Bedingungen können oft auch von außen abhängen/beeinflusst werden – man braucht also eine

3 Ereignissteuerung

Recht bald ergibt sich die Notwendigkeit, zusammenfassen zu können – modularisieren zu können

4 Prozeduren – Funktionen – Objekte

Ein Grundverständnis dieser Strukturen: Schleife – Verzweigung – Ereignissteuerung – Prozedur/Objekt ist die Basis für eine Verständigung mit einem Automaten. Das Problem ist nun die Implementierung im Schulwesen.

Lange war die Lehrmeinung: Eine korrekte Implementierung weist einen hohen Abstraktionsgrad auf und ist daher nur für ältere Schüler/innen geeignet. Aber: wenn man die Liebe zu Codierung, Algorithmisierung und Programmierung von vielen Schülerinnen und Schülern wecken will, ist das zu spät, man muss auch schon die jungen Kinder – ideal bereits im Vorschulalter – begeistern und erreichen.

Wie geht das? Mögliche Konzepte müssen

a) die Kinder sehr früh abholen
b) einen niedrigen Abstraktionsgrad aufweisen
c) vieles über spielerische Ansätze lösen
d) den Kindern die Möglichkeit bieten, zu „begreifen“ – alle Sinne einzusetzen

Eine Antwort kann dazu heißen: EIS – Education Innovation Studio