7.1: Ein Fahrzeug fernsteuern
Autoren: | |
Publikation: | 27.9.2016 |
Lernstufe: | 3 |
Übersicht: | Die Schüler wollen ein Fahrzeug fernsteuern. Sie geben dem Fahrzeug Befehle in einer Programmiersprache. |
Angestrebte Kenntnisse: |
|
Wortschatz: | Programmiersprache, Befehl/Anweisung, Bug (sprich: Bagg) |
Dauer: | 1 Stunde 30 Minuten (oder zwei Mal 45 Minuten) |
Material: | Für die Klasse: |
Herkunft: | La main à la pâte, Paris |
Ausgangssituation und Vorstellung des Projekts
In diesem Projekt soll eine Weltraummission zur Erforschung eines fernen Planeten simuliert werden. So eine Weltraummission will gut geplant werden. In dieser Unterrichtseinheit sollen sich die Schüler zunächst überlegen, wie man sich auf einem lebensfeindlichen Planeten fortbewegen und miteinander kommunizieren kann. In der nächsten Unterrichtseinheit (Die Weltraummission mit Scratch simulieren) werden die Schüler dann ein kleines Videospiel programmieren, das die Weltraummission simuliert.
Das Forscherteam hat auf dem Planeten bereits eine Basisstation installiert und bewegt sich mit Hilfe eines Rovers fort (ein Landfahrzeug, das einem Auto ähnelt). Wegen der lebensfeindlichen Umgebung muss bei einem Außeneinsatz aus Sicherheitsgründen immer ein Mitglied des Forscherteams in der Basisstation bleiben. Wenn die Forscher im Außeneinsatz nicht mehr in der Lage sind, den Rover zu steuern (weil sie zum Beispiel das Bewusstsein verloren haben), muss die Person in der Basisstation den Rover fernsteuern können, notfalls ohne mit den Insassen zu reden. Die Steuerungsbefehle werden per Funk an den Rover übertragen. Es muss daher eine Sprache entwickelt werden, in der man die Steuerungsbefehle geben kann. Die Frage, die sich stellt, ist: "Welche Sprache sollte man für die Fernsteuerung des Rovers verwenden?"
Die Lehrerin projiziert das Arbeitsblatt 28 (Ein Fahrzeug fernsteuern) an die Wand. Es stellt das Gebiet dar, in dem der Rover heute unterwegs ist. Eingezeichnet ist die aktuelle Position des Rovers sowie der Rückweg zur Basisstation. Der Rover muss unbedingt dem eingezeichneten Weg folgen, um Gefahrenzonen zu umfahren. Er darf auch keine Abkürzungen nehmen.
Recherchearbeit: Definition von Sprache (in Zweiergruppen)
Die Lehrerin verteilt an jede Zweiergruppe ein Exemplar des Arbeitsblattes 28. Die Schüler sollen die Befehle aufschreiben, die man dem Rover geben muss, damit er entlang des roten Weges zur Basisstation fährt. Der Rover kann sich nur vorwärts, rückwärts oder seitwärts von Kästchen zu Kästchen fortbewegen, nicht diagonal.
Abb. 1: Der Weg des Rovers zurück zur Basisstation
Gemeinsame Erörterung
Nach ein paar Minuten kommt die Klasse zusammen. Das Arbeitsblatt wird an die Wand projiziert oder das Gitter samt Parcours an die Tafel gezeichnet (Abb. 2). Eine Schülergruppe nach der anderen kommt nach vorn und präsentiert ihre Lösung. Die Klasse überprüft, ob diese richtig ist: Ein Schüler nimmt einen Gegenstand, der den Rover repräsentieren soll, und bewegt ihn, strikt den Anweisungen folgend, auf dem Gitter.
Die Schüler werden feststellen, dass es (mindestens) zwei sehr unterschiedliche Möglichkeiten gibt, dem Rover Richtungsanweisungen zu geben: Man kann ihm absolute Richtungsanweisungen geben (fahre nach Norden, nach Westen usw.) oder relative Richtungsanweisungen, das heißt solche, die von der Orientierung des Rovers abhängen (fahre vorwärts, nach rechts, rückwärts).
Anmerkung: Es ist besser, aus der Anweisung "fahre ein Kästchen weiter nach rechts" zwei getrennte Anweisungen zu machen: "drehe dich nach rechts" (an Ort und Stelle!) und "rücke um ein Kästchen vor".
Abb. 2: Der Parcours des Fahrzeugs an der Tafel [1]
Pädagogische Anmerkungen
- Schaut man aus einer allozentrischen Perspektive auf das Geschehen, wird man absolute Richtungsanweisungen (Norden, Westen) geben. Aus einer selbstzentrierten (oder egozentrischen) Perspektive gibt man relative Richtungsanweisungen (rechts, links).
- Die Schüler müssen diese Begriffe nicht kennen. Es ist auch nicht das Ziel dieser Unterrichtsstunde, die beiden Sichtweisen zu unterscheiden, die Schüler sollen sich den Unterschied nur einmal klargemacht haben.
- Es gibt noch eine Methode, Richtungsanweisungen zu geben. Man kann den einzelnen Kästchen Koordinaten zuordnen: A1, A2, B1 usw. Ähnlich wie bei dem Spiel "Schiffe versenken" kann man das Start-Kästchen und das Ziel-Kästchen benennen. Beispiel: "Gehe von A1 nach A2!".
Falls die Schüler nicht bereits selbst auf diese zwei unterschiedlichen Arten von Richtungsanweisungen gekommen sind, erwähnt die Lehrerin während dieser gemeinsamen Erörterung diejenige, die nicht genannt wurde.
Abb. 3: Verschiedene Beispiele, wie man einen Weg beschreiben kann [1]
Die Lehrerin stellt fest: Für die Richtungsanweisungen wird ein begrenzter Wortschatz verwendet, der allerdings sehr präzise ist und keinen Raum für Missverständnisse lässt. Jede Anweisung ist eindeutig und kann nicht anders interpretiert werden.
Diese Sprache kann noch weiter vereinfacht werden. Man muss zum Beispiel nicht unbedingt "fahre nach Osten" sagen, oder "fahre nach rechts", es würde auch reichen zu sagen: "Osten" und "rechts". Dazu muss man nur im Vorhinein eindeutig definiert haben, was diese Befehle bedeuten: "rechts" bedeutet zum Beispiel "drehe auf der Stelle um eine Vierteldrehung nach rechts" und nicht "gehe um ein Kästchen nach rechts".
Die Klasse bestimmt und definiert den benötigten Wortschatz – sowohl für die absoluten als auch für die relativen Richtungsanweisungen.
Absolute Richtungsangaben | Relative Richtungsangaben |
---|---|
|
|
Für die absoluten Richtungsanweisungen braucht man vier Wörter, für die relativen Richtungsanweisungen nur drei. Die Schüler werden womöglich anmerken, dass man auch "rückwärts" hinzufügen könnte. Dem kann man entgegnen, dass man anstatt "rückwärts", "rechts, rechts, vorwärts" sagen könnte. Man landet in beiden Fällen auf dem gleichen Kästchen. Allerdings hat im zweiten Fall der Rover seine Richtung geändert. Soll er in die gleiche Richtung schauen, ist der äquivalente Befehl zu "rückwärts": "rechts, rechts, vorwärts, rechts, rechts".
Bei den relativen Richtungsanweisungen könnte man sogar mit zwei Befehlen auskommen, da man "links" auch durch "rechts, rechts, rechts" ersetzen könnte. Der Übersichtlichkeit halber sollte man allerdings mit drei oder vier Wörtern arbeiten.
Die Lehrerin macht die Schüler darauf aufmerksam, dass auch die Grammatik sehr einfach ist. Es gibt weder Geschlecht (Maskulin, Feminin, Neutrum), noch Mehrzahl, noch Kasus, noch Zeitform. Die einzige Regel lautet: Wenn zwei Anweisungen im Programm hintereinander stehen, werden sie der Reihe nach ausgeführt. Beispiel: "rechts, vorwärts" bedeutet: Drehe dich erst nach rechts und rücke anschließend um ein Kästchen vor.
Man kann beschließen, Kommas zwischen den Befehlen zu schreiben (das ist übersichtlicher), man kann sie aber auch weglassen.
Die Schüler werden anmerken, dass man sich mit diesen Befehlen nur auf einem Gitter bewegen kann, man kann mit ihnen keinen Text schreiben und auch keine Rechenaufgaben lösen. Programmiersprachen sind oft sehr spezialisiert. Die Lehrerin kann das Beispiel der "Befehle" in der Musik anbringen – die Noten eines Lieds zum Beispiel. Auch dafür gibt es nur wenige Wörter/Symbole, wenig Grammatik und keine Zweideutigkeiten.
Achtung Fehler!
Die Lehrerin fragt die Schüler, was passiert, wenn sich ein Fehler ins Programm schleicht – man zum Beispiel eine Anweisung vergisst. Nehmen wir ein konkretes Beispiel: Wir kommen auf das Programm für den Parcours des Rovers im Arbeitsblatt 28 zurück. Wenn wir im Programm eine Anweisung weglassen, werden wir – egal ob mit absoluten oder mit relativen Richtungsanweisungen – nicht an der Basisstation ankommen. Mit relativen Richtungsanweisungen kann man übrigens weiter weg vom Ziel landen als mit absoluten Richtungsanweisungen.
Ob man nun absolute oder relative Richtungsanweisungen benutzt: In beiden Fällen führt das Auslassen einer Anweisung zu einem Fehler im Programm. Ein Fehler im Programm nennt man auch Bug (sprich: Bagg). In beiden Fällen wird das Ziel (die Basisstation) nicht erreicht. Wenn der Rover auf gefährlichem Gelände unterwegs ist, darf man sich auf gar keinen Fall irren, nicht mal ein ganz kleines bisschen. Ob der Fehler groß oder klein ist, ist irrelevant, es bleibt ein (eventuell folgenschwerer) Fehler.
Die Klasse diskutiert über mögliche Fehlerquellen. Es kann ein Fehler im Algorithmus sein (die Methode funktioniert so nicht), es kann ein Fehler im Programm sein (d. h. in der Übersetzung des Algorithmus in die gewählte Programmiersprache , ein Syntaxfehler zum Beispiel), oder es kann ein Fehler der Maschine (des Computers) sein (weil zum Beispiel ein Bauteil kaputt ist oder eine Anweisung nicht weitergeleitet werden konnte).
Pädagogische Anmerkung
Zum Wort "Bug" für Programmfehler gibt es eine nette Anekdote. Das Wort wurde schon länger von Ingenieuren als Synonym für "Fehler" benutzt. Die Wortschöpfung geht wahrscheinlich auf Thomas Edison zurück. Im Jahr 1947 fand ein Mitarbeiter der US-amerikanischen Informatikerin Grace Hopper ein echtes Insekt (engl. Bug), eine tote Motte, in einem Computer. Diese Motte hatte verhindert, dass ein Relais ordnungsgemäß funktionierte.
Zusammenfassung
Die Schüler fassen zusammen, was sie in dieser Unterrichtsstunde gelernt haben.
Beispiel:
- In der Informatik erfindet und benutzt man Programmiersprachen.
- Mit einer Programmiersprache kann man einer Maschine Anweisungen geben.
- Eine Programmiersprache unterscheidet sich von normaler Sprache:
- Sie hat nur wenige Worte und Grammatikregeln.
- Es gibt keine Zweideutigkeiten.
- Es gibt zahlreiche Programmiersprachen. Die Anwendung bestimmt, welche Programmiersprachen in Frage kommen.
- Ein Bug ist ein Fehler im Programm.
- Ein klitzekleiner Bug kann manchmal große Auswirkungen haben.
Die Lehrerin bereitet ein Plakat mit dem Titel "Was ist Informatik?" vor. Dieses Plakat wird im Laufe der Unterrichtseinheit nach und nach vervollständigt (mit den Begriffen Sprache, Algorithmus, Programm, Maschine, Information usw.).
Mögliche Erweiterung (für die Sekundarstufe I)
In Zweiergruppen können die Schüler zwischen absoluten und relativen Anweisungen hin und her "übersetzen".
- Die Anweisungssequenz "Norden, Westen, Norden, Osten, Osten, Osten, Süden, Osten, Süden, Westen, Westen, Norden, Norden" in eine Anweisungssequenz übersetzen, die nur relative Richtungsanweisungen enthält. Die Schüler sollten auf einem Blatt Papier überprüfen, dass beide Anweisungssequenzen auch tatsächlich zum gleichen Ergebnis führen.
- Die folgende Anweisungssequenz in eine Anweisungssequenz übersetzen, die nur absolute Richtungsanweisungen enthält (der Rover ist am Anfang nach Norden orientiert): "rechts, vorwärts, vorwärts, links, vorwärts, links, vorwärts, vorwärts, vorwärts, vorwärts, rechts, vorwärts".
Fußnote
1:
Abb. 2: 4. Klasse von Carole Vinel (Paris)
Abb. 3: 5. Klasse von Anne-Marie Lebrun (Bourg-la-Reine)
Letzte Aktualisierung: 29.11.2023