IM6 - Mein erstes Programm

IM6 - Mein erstes Programm
IM6 - Mein erstes Programm
Einleitung
Dein erstes eigenes Programm muss noch keine komplizierte App sein. Ein Programm entsteht schon dann, wenn Du einem Computer oder einem virtuellen Roboter eindeutige Anweisungen gibst und diese in einer sinnvollen Reihenfolge ausführst. In diesem aiMOOC lernst Du zwei besonders wichtige Grundideen der Programmierung kennen: die Sequenz und die Schleife. Anschließend entwickelst Du ein kleines Programm, testest es in einer Simulation und verbesserst es Schritt für Schritt.
Als grafische Programmierumgebung verwenden wir das Open Roberta Lab mit der blockbasierten Sprache NEPO. Die Blöcke werden per Drag-and-drop zusammengesteckt. Du kannst ohne eigenen Roboter in einer Simulation arbeiten. Für das Programmieren ist kein Benutzerkonto nötig. Nach Angaben des Projekts wird das Angebot in Deutschland gehostet, verzichtet auf Cookies und ist Open Source. Für besonders datensensible schulische Szenarien kann Open Roberta auch lokal beziehungsweise offline betrieben werden. Beachte trotzdem immer die Datenschutz- und Medienregeln Deiner Schule.

Direkt ausprobieren:
Was bedeutet Programmieren?
Beim Programmieren beschreibst Du so genau wie möglich, was ein Computer, ein Mikrocontroller oder ein Roboter tun soll. Einzelne Anweisungen heißen häufig Befehle. Mehrere Befehle bilden gemeinsam ein Programm. Hinter einem guten Programm steckt meist ein Algorithmus: eine eindeutige Schrittfolge, mit der ein Problem gelöst oder eine Aufgabe erledigt werden kann.
Ein Computer errät nicht, was Du eigentlich gemeint hast. Deshalb müssen Anweisungen eindeutig sein. Wenn ein virtueller Roboter zuerst fahren und danach abbiegen soll, ist die Reihenfolge entscheidend.
Sequenzen: Schritt für Schritt
Eine Sequenz ist eine Folge von Anweisungen, die nacheinander ausgeführt werden. In einer grafischen Programmierumgebung erkennst Du eine Sequenz daran, dass mehrere Blöcke direkt miteinander verbunden sind.

Ein einfaches Beispiel lautet: Starten, vorwärtsfahren, rechts drehen, vorwärtsfahren, stoppen. Vertauschst Du zwei Schritte, kann das Ergebnis völlig anders sein. Genau deshalb gehört das Planen der Reihenfolge zum algorithmischen Denken.
Schleifen: Wiederholen statt kopieren
Oft soll ein Programm denselben Befehl mehrfach ausführen. Du könntest denselben Block mehrmals hintereinander einsetzen. Übersichtlicher ist eine Schleife. Eine Schleife wiederholt einen oder mehrere Befehle. Bei einer Zählschleife legst Du vorher fest, wie oft die Befehle wiederholt werden.

Statt viermal nacheinander „vorwärtsfahren und rechts drehen“ zu programmieren, kannst Du diese beiden Befehle in eine Schleife setzen und die Schleife viermal ausführen lassen. Dadurch wird das Programm kürzer, leichter lesbar und einfacher zu verändern.
Die grafische Programmiersprache NEPO
NEPO ist die grafische Programmiersprache des Open Roberta Labs. Du setzt farbige Blöcke wie Bausteine zusammen. Dadurch kannst Du Dich zunächst auf die Logik konzentrieren, ohne Klammern, Semikolons oder komplizierte Schreibweisen einer textbasierten Programmiersprache lernen zu müssen.

Wichtige Blockarten für Dein erstes Programm sind der Startblock, Aktionsblöcke für Bewegung oder Anzeige sowie Kontrollblöcke für Wiederholungen. Später kommen Bedingungen, Sensoren und Variablen hinzu.
Dein erstes Programm: Quadrat-Challenge
Du programmierst einen virtuellen Roboter so, dass er ein Quadrat fährt und möglichst genau wieder am Startpunkt ankommt. Daraus entsteht ein kleines Mini-Spiel: Du versuchst, die Aufgabe mit möglichst wenigen sinnvollen Blöcken zu lösen und anschließend die Seitenlänge oder Geschwindigkeit zu verändern, ohne die Grundstruktur des Programms neu bauen zu müssen.
Die Idee besteht aus einer kurzen Sequenz: vorwärtsfahren und danach rechts drehen. Diese Sequenz wird viermal wiederholt. Das ist genau die Stelle, an der eine Schleife nützlich ist.
Programmlogik:
Start
wiederhole 4-mal:
fahre vorwärts
drehe nach rechts
Stopp
Schritt 1: Programmierumgebung öffnen
Öffne das eingebettete Open Roberta Lab oder rufe das Lab direkt auf. Wähle ein System mit Simulation, zum Beispiel den EV3. Für diese Aufgabe brauchst Du keinen echten Roboter und kein Benutzerkonto.
Schritt 2: Eine Sequenz bauen
Setze unter den Startblock zuerst einen Fahrbefehl und danach einen Drehbefehl. Teste die beiden Blöcke zunächst ohne Schleife. Beobachte in der Simulation genau, was passiert.
Schritt 3: Die Sequenz in eine Schleife setzen
Wähle im Bereich für Kontrolle eine Wiederholung und stelle vier Wiederholungen ein. Setze den Fahr- und den Drehbefehl in diese Schleife. Dein Programm enthält nun eine Sequenz innerhalb einer Schleife.
Schritt 4: Simulation starten
Starte die Simulation mit der SIM-Funktion. Prüfe, ob der Roboter vier Seiten fährt und nach jeder Seite ungefähr um einen rechten Winkel dreht.

Schritt 5: Testen und Debuggen
Wenn der Roboter nicht am erwarteten Punkt ankommt, untersuche Dein Programm. Ist die Reihenfolge richtig? Wird oft genug wiederholt? Ist die Drehung passend? Das systematische Suchen und Beheben von Fehlern heißt Debugging.
Eine hilfreiche Strategie lautet: Ändere immer nur eine Sache und teste danach erneut. So kannst Du besser erkennen, welche Änderung eine Wirkung hatte.
Drei konkrete Use-Cases
Mini-Spiel – Quadrat-Challenge: Baue den kürzesten verständlichen Blockcode, mit dem der Roboter ein Quadrat fährt. Variiere anschließend Strecke und Geschwindigkeit und vergleiche die Ergebnisse.
Lernanimation – Blinkmuster: Wähle in Open Roberta einen Mikrocontroller mit Simulation, zum Beispiel den Calliope mini oder micro:bit. Lasse ein Symbol anzeigen, kurz warten und ein zweites Symbol anzeigen. Packe die Folge in eine Schleife. So entsteht eine kleine wiederholte Animation.
Interaktive Erklärung – Mensch als Roboter: Eine Person spielt den Roboter, eine zweite Person ist der Programmierer. Erlaubt sind nur vorher vereinbarte Befehle wie „einen Schritt vor“, „rechts drehen“ und „wiederhole dreimal“. So wird sichtbar, warum genaue Sequenzen und Schleifen wichtig sind.
Sequenz oder Schleife?
Eine Sequenz beantwortet die Frage: Was kommt zuerst, was danach? Eine Schleife beantwortet die Frage: Welche Befehle sollen wiederholt werden? Beide Strukturen können kombiniert werden. Genau das geschieht in der Quadrat-Challenge: Innerhalb der Schleife liegt eine Sequenz aus zwei Befehlen.
| Struktur | Idee | Beispiel |
|---|---|---|
| Sequenz | Befehle werden in einer festgelegten Reihenfolge ausgeführt. | Vorwärtsfahren, dann rechts drehen. |
| Schleife | Ein Block oder mehrere Blöcke werden wiederholt. | Wiederhole die Fahr-Dreh-Sequenz viermal. |
| Kombination | Eine ganze Sequenz wird mehrfach ausgeführt. | Der Roboter fährt vier Seiten eines Quadrats. |
Fehler sind Teil des Programmierens
Ein fehlerhaftes Ergebnis bedeutet nicht automatisch, dass die ganze Idee falsch ist. Beim Programmieren werden Programme geplant, getestet, beobachtet und verbessert. Dieser Kreislauf ist normal: planen – programmieren – testen – verbessern.
Typische Anfängerfehler sind eine falsche Reihenfolge, ein Block außerhalb der Schleife, eine unpassende Zahl von Wiederholungen oder eine Drehung in die falsche Richtung. Mit kleinen Tests findest Du solche Fehler meist schneller als durch bloßes Anschauen.
Datenschutz und verantwortungsvolle Nutzung
Für den Unterricht ist es sinnvoll, mit möglichst wenigen personenbezogenen Daten zu arbeiten. Im Open Roberta Lab kannst Du ohne Anmeldung programmieren. Veröffentliche keine Namen, Fotos oder andere persönliche Daten in Projekten. Wenn Deine Schule einen lokalen oder offline betriebenen Zugang verwendet, kann die Programmierumgebung sogar im eigenen Netzwerk laufen. Welche Variante im Unterricht eingesetzt wird, entscheidet die Schule nach ihren technischen und datenschutzrechtlichen Vorgaben.
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Was ist eine Sequenz in einem Programm? (Eine festgelegte Reihenfolge von Anweisungen) (!Eine zufällige Auswahl von Farben) (!Ein Benutzerkonto für eine Programmierumgebung) (!Ein Fehler im Programm)
Wozu dient eine Schleife? (Sie wiederholt einen oder mehrere Befehle) (!Sie löscht automatisch jedes Programm) (!Sie ersetzt die Simulation durch echte Hardware) (!Sie speichert persönliche Daten)
Warum ist eine Schleife bei der Quadrat-Challenge sinnvoll? (Weil dieselbe Fahr-Dreh-Sequenz mehrfach gebraucht wird) (!Weil ein Quadrat keine Reihenfolge braucht) (!Weil eine Schleife jeden Fehler automatisch behebt) (!Weil dadurch kein Startblock mehr nötig ist)
Was geschieht bei einer Sequenz zuerst? (Der erste verbundene Befehl wird ausgeführt) (!Ein zufällig ausgewählter Befehl wird ausgeführt) (!Immer der letzte Befehl wird ausgeführt) (!Alle Befehle werden gelöscht)
Was bedeutet Debugging? (Fehler in einem Programm suchen und beheben) (!Ein Programm veröffentlichen) (!Einen Roboter ausschalten) (!Eine Datei umbenennen)
Was ist NEPO? (Eine grafische Programmiersprache im Open Roberta Lab) (!Ein Betriebssystem für Smartphones) (!Ein soziales Netzwerk) (!Ein Dateiformat für Fotos)
Wozu dient eine Simulation beim Programmieren? (Sie ermöglicht das Testen eines Programms ohne echten Roboter) (!Sie ersetzt jede Planung) (!Sie macht aus jedem Programm automatisch ein Spiel) (!Sie verhindert jede Änderung am Programm)
Welche Kombination beschreibt die Quadrat-Challenge am besten? (Eine Sequenz aus Fahren und Drehen wird in einer Schleife wiederholt) (!Nur ein einzelner Startblock wird verwendet) (!Vier zufällige Befehle werden gleichzeitig ausgeführt) (!Das Programm besteht nur aus einer Überschrift)
Warum sollte man beim Debuggen möglichst nur eine Sache auf einmal ändern? (Damit die Wirkung der Änderung besser erkannt werden kann) (!Damit das Programm absichtlich länger wird) (!Damit keine Simulation mehr nötig ist) (!Damit die Reihenfolge der Befehle egal wird)
Welche Aussage passt zu einem datensparsamen Einstieg? (Ohne Anmeldung programmieren und keine persönlichen Daten veröffentlichen) (!Immer den echten Namen als Projektnamen verwenden) (!Persönliche Fotos in jedes Programm einbauen) (!Passwörter mit anderen teilen)
Memory
| Sequenz | Befehle werden nacheinander ausgeführt |
| Schleife | Wiederholt einen oder mehrere Befehle |
| NEPO | Grafische Programmiersprache im Open Roberta Lab |
| Simulation | Virtuelles Testen ohne echten Roboter |
| Debugging | Fehler suchen und beheben |
| Algorithmus | Eindeutige Schrittfolge zur Lösung einer Aufgabe |
Drag and Drop
| Ordne die richtigen Begriffe zu. | Funktion im ersten Programm |
|---|---|
| Startblock | Beginn des Programms |
| Fahrbefehl | Bewegung nach vorn |
| Drehbefehl | Änderung der Richtung |
| Wiederholungsblock | Mehrfaches Ausführen einer Befehlsfolge |
| Simulation | Test des Programms ohne echten Roboter |
...
Kreuzworträtsel
| Sequenz | Wie heißt eine festgelegte Reihenfolge von Befehlen? |
| Schleife | Welche Kontrollstruktur wiederholt Befehle? |
| Befehl | Wie nennt man eine einzelne Anweisung an den Computer? |
| Simulation | Wie heißt das virtuelle Testen eines Programms? |
| Algorithmus | Wie heißt eine eindeutige Schrittfolge zur Lösung einer Aufgabe? |
| Debugging | Wie heißt das Suchen und Beheben von Programmfehlern? |
LearningApps
Lückentext
Offene Aufgaben
Leicht
- Sequenz: Schreibe für einen Mitschüler eine Folge aus fünf eindeutigen Bewegungsbefehlen. Lass die Befehle ausführen und verbessere unklare Stellen.
- Schleife: Finde in Deinem Alltag drei Tätigkeiten, bei denen sich Schritte wiederholen. Formuliere für eine davon eine passende Schleife.
- Open Roberta: Öffne die Simulation, baue eine kurze Fahr-Dreh-Sequenz und dokumentiere mit eigenen Worten, was der virtuelle Roboter macht.
- Debugging: Verändere absichtlich einen Block der Quadrat-Challenge so, dass das Ergebnis falsch wird. Erkläre anschließend, wie Du den Fehler gefunden hast.
Standard
- Mini-Spiel: Entwickle aus der Quadrat-Challenge einen kleinen Parcours mit mindestens zwei verschiedenen Bewegungen und einer Schleife. Formuliere eine Spielregel für Mitschüler.
- Lernanimation: Erstelle in einer geeigneten Simulation ein wiederholtes Symbol- oder Lichtmuster und erkläre, welche Befehle zur Sequenz und welche zur Schleife gehören.
- Algorithmus: Zeichne zuerst einen Ablaufplan für Dein Programm und setze ihn danach in NEPO-Blöcke um. Vergleiche Plan und fertiges Programm.
- Pair Programming: Arbeitet zu zweit. Eine Person programmiert, die andere beobachtet und stellt Fragen. Wechselt nach dem ersten Test die Rollen und verbessert das Programm gemeinsam.
Schwer
- Optimierung: Löse denselben Parcours einmal mit vielen wiederholten Einzelblöcken und einmal mit Schleifen. Vergleiche Übersichtlichkeit, Änderbarkeit und Blockanzahl.
- Interaktive Erklärung: Entwickle eine kurze Unterrichtsdemonstration, in der ein Mensch den Roboter spielt und eine zweite Person nur mit festgelegten Befehlen steuern darf. Baue bewusst eine Schleife ein.
- Fehlersuche: Erstelle ein Programm mit drei absichtlich eingebauten Fehlern. Tausche es mit einer anderen Gruppe und lasst Euch gegenseitig die Debugging-Strategie erklären.
- Transfer: Entwirf ein neues Projekt, bei dem eine Sequenz mehrfach wiederholt werden muss, zum Beispiel Tanz, Verkehrsablauf oder Musterzeichnung. Begründe, warum eine Schleife die passende Struktur ist.


Lernkontrolle
- Programmstruktur: Ein Roboter soll dreimal vorwärtsfahren und nach jedem Schritt kurz blinken. Entscheide, welche Befehle in eine Schleife gehören, und begründe Deine Entscheidung.
- Fehleranalyse: Ein Quadrat-Programm fährt vier Strecken, dreht aber nur dreimal. Beschreibe das zu erwartende Verhalten und erkläre, wie Du den Fehler systematisch untersuchen würdest.
- Optimierung: Vergleiche zwei Lösungen für dieselbe Aufgabe: eine lange Folge kopierter Befehle und eine kurze Lösung mit Schleife. Beurteile, welche Lösung leichter zu warten ist und warum.
- Transfer: Übertrage das Prinzip von Sequenz und Schleife auf eine Lernanimation, einen Tanz oder einen Kochablauf. Kennzeichne, was einmalig und was wiederholt ausgeführt wird.
- Teststrategie: Plane mindestens drei Testfälle für ein eigenes Bewegungsprogramm. Erkläre, woran Du erkennst, ob Dein Programm korrekt funktioniert.
- Datenschutz: Begründe, warum eine Programmierumgebung ohne notwendige Anmeldung für den Einstieg in einer Schulklasse vorteilhaft sein kann. Nenne zusätzlich eine Regel für den verantwortungsvollen Umgang mit Projektdaten.
Lernnachweis
Für einen Lernnachweis zu diesem Thema ist wichtig, dass Du nicht nur Begriffe nennen, sondern ein kleines Programm selbst planen, umsetzen, testen und erklären kannst.
- Sequenz: Du kannst eine sinnvolle Reihenfolge von Befehlen erstellen und erklären.
- Schleife: Du kannst wiederholte Befehle erkennen und durch eine passende Schleife vereinfachen.
- Open Roberta: Du kannst ein Blockprogramm in der Simulation ausführen.
- Debugging: Du kannst mindestens einen Fehler gezielt finden, verändern und erneut testen.
- Algorithmus: Du kannst Deine Programmlogik vor dem Programmieren in verständlichen Schritten beschreiben.
- Reflexion: Du kannst begründen, warum Deine Lösung funktioniert und wie sie verbessert werden könnte.
- Datenschutz: Du gehst ohne unnötige personenbezogene Daten mit der Lernumgebung um.
OERs zum Thema
Die folgenden frei zugänglichen Materialien eignen sich zur Vertiefung: der Wikipedia-Artikel zu Kontrollstrukturen, die Dokumentation von Open Roberta sowie frei lizenzierte Abbildungen auf Wikimedia Commons.
Verknüpfte Lernbereiche
aiMOOC-Projekte
NEWSLernweltNOAH fragen