Schüler geben sich gegenseitig schriftliche Anweisungen und leiten sie an, alltägliche Aufgaben zu erledigen
| Autor | Mikko Muliu |
| Fach | Informatik |
| Länge | 90 Minuten |
| Ansatz | Problem-Basiertes Lernen |
| Kompetenzen | Die Schüler lernen, warum präzise und unmissverständliche Anweisungen wichtig sind. Die Schüler verstehen, dass die Anweisungen in einer bestimmten Reihenfolge erfolgen müssen, da der Roboter sonst nicht in der Lage ist, die Aufgabe zu erfüllen. Die Schüler lernen einfache Grundlagen der Programmiersprachen Die Schüler erkennen die Bedeutung einer gemeinsamen Sprache und eindeutiger Wörter Die Schüler lernen die Idee der bedingten Sätze in der Programmierung Studenten lernen das Debugging |
| Klasse | 3.-6. Klasse |
| Technologien | Stift und Papier Diese Übung ist sehr bewegungsintensiv und erfordert etwas Platz. Wenn der Klassenraum klein ist, kann die Übung in der Turnhalle oder sogar im Freien durchgeführt werden. |
Beschreibung
Die Schüler arbeiten in Zweiergruppen. Die Schüler denken sich eine Aufgabe aus, die der Roboter ausführen soll. Ein Schüler schreibt die Anweisungen für den Roboter, und der Roboter befolgt die Anweisungen, wie sie geschrieben stehen. Die Aufgabe kann zum Beispiel darin bestehen, das Buch auf der anderen Seite des Klassenzimmers vom Boden aufzuheben.
Einleitung:
Die Schüler werden über die Grundsätze von Programmiersprachen informiert (Anhang 1) und darüber, dass die von ihnen verwendete Sprache so eindeutig sein sollte, dass die Maschine sie in keiner Weise missverstehen kann. Die Übung wird den Schülern vorgestellt und sie diskutieren gemeinsam, wie die Anweisungen dem anderen Schüler so genau und eindeutig wie möglich mitgeteilt werden können. Die Schüler sollten daran erinnert werden, dass der Roboter die Anweisungen vollständig und genau befolgen sollte.
Übung 1:
Die Schüler werden gepaart, wobei der eine ein Programmierer und der andere ein Roboter ist. Der Programmierer entscheidet, was der Roboter tun soll. Ein Roboter könnte zum Beispiel die Aufgabe haben, von einem Stuhl aufzustehen und in eine Ecke des Klassenzimmers zu gehen, um sich die Hände zu waschen. Die Anweisung geht davon aus, dass der Schüler sitzt, also wird der Roboter zunächst angewiesen, aufzustehen, sich nach links zu drehen, einen Schritt zu machen, sich nach rechts zu drehen, acht Schritte zu machen, sich nach rechts zu drehen, fünf Schritte zu machen, sich zu bücken, den Wasserhahn zu öffnen, die Hände unter Wasser zu halten und die Hände zu reiben. Natürlich führen die Anweisungen nicht sofort zu einem Ergebnis, und es kann passieren, dass der Roboter sich am falschen Ende der Klasse die Hände reibt. Das Ziel ist es, die Anweisungen zu korrigieren und es erneut zu versuchen, bis der Großteil der Klasse die Aufgabe erfolgreich bewältigt hat.
Diskussion:
Nachdem die Gruppen die Roboterprogrammierung ausprobiert haben, wird die Übung unter Anleitung eines Lehrers besprochen.
Erleichternde Fragen: War die Beratung erfolgreich? Was war beim Programmieren schwierig? Hat der Roboter nur die Anweisungen befolgt oder hat er dem Programmierer “geholfen”, indem er die Anweisungen interpretiert hat? Hat der Roboter das getan, was ihm der Programmierer gesagt hat? Was war schwierig daran, ein Roboter zu sein? Warum war es schwierig, die Botschaft zu vermitteln? Könnte man die Programmierung des Roboters vereinfachen, indem man anstelle der genauen Anzahl der Schritte einen bedingten Satz angibt? “Wenn du nicht vor dem Waschbecken stehst, mache einen Schritt und kehre an den Anfang dieser Zeile zurück”?
Übung 2:
Die gleichen Paare machen weiter, aber sie wechseln die Rollen. In der Regel geht es beim zweiten Mal sofort schneller und es ist für die Schüler einfacher, Bewegungen zu vermitteln, da die Begriffe präziser sind. Die Lehrkraft kann beobachten, dass jede Gruppe versucht, den Konditionalsatz mindestens einmal zu verwenden. Sobald die Schüler die einfachen Aufgaben verstanden haben, können sie schwierigere Aufgaben lösen oder sogar den Roboter mit einem Bein springen lassen, wenn er auf dem Weg ist.
Abschließende Diskussion:
Sobald jeder Schüler ein Programmierer und ein Roboter gewesen ist, kann die Übung abgeschlossen werden. In der Regel dauert dies jedoch ein paar Stunden. Nach den Übungen können die Schüler gemeinsam besprechen, wie die Übung gelaufen ist. Die Lehrkraft kann noch daran erinnern, dass Computer vollständige Anweisungen benötigen, die nur auf eine bestimmte Weise verstanden werden können.
Anhang 1
Programmiersprachen funktionieren auf verschiedenen Ebenen. Die einfachsten Sprachen sind so genannte Assemblersprachen, die auf unterschiedlicher Hardware unterschiedlich funktionieren. Sie steuern die Platzierung von Zahlen in Speicheradressen oder addieren sie zusammen. Höhere Programmiersprachen automatisieren die Produktion von Assemblersprache und können zum Schreiben von Programmen auf jeder Maschine verwendet werden. Die modernsten Sprachen sind fast wie Englisch, und die Maschine kann sie automatisch in ein Format interpretieren, das der Computer versteht.
Programme werden oft mit speziellen Programmierprogrammen (IDE, Integrated Development Environment) geschrieben, die zum Testen des Codes und für Verbesserungsvorschläge zum geschriebenen Programmcode verwendet werden können.
Computer reagieren sehr empfindlich auf Anweisungen und können nicht interpretieren, was ein Kommandant meint, wenn er nicht genau sagt, was er will. Manchmal wird ein Programm versehentlich so programmiert, dass es den Umkreis rotiert, und der Computer versteht nicht, wie er da wieder herauskommt. Das Programm wird dann so lange weiterlaufen, bis es ausgeschaltet wird
