Verwendung der Lego-NXT-Roboter im Informatikunterricht
Seit dem Schuljahr 2010/11 finden am Kepler-Gymnasium für alle 10ten Klassen eine Einführung in Robotik und Programmierung mit Lego-NXT-Robotern statt. Der Unterricht wird unter Verwendung einer Poolstunde halbjährig vierzehntägig erteilt.
Im Anschluss können die Schüler die inhaltlich anschließende Informatik-AG belegen.
Ziel
Ziele des Einführungsunterrichts sind u.a.:
- Profilgebung des Kepler-Gymnasiums
- Abbau von Hemmschwellen durch interessanten spielerischen Umgang mit Technik
- Für die meisten Schüler Erstkontakt mit Grundideen der algorithmischen Programmierung
- Werbung für die inhaltlich anschließende Informatik-AG
In Kombination mit der Informatik-AG ermöglicht die Teilnahme an der Poolstunde die Abiturprüfung im Fach Informatik.
Ausrüstung
[Todo] (Hier kurz eine Übersicht über die vorhandenen Kästen und Sensoren...)
Programmierung
Zur Programmierung der NXT-Bausteine kommt zunächst die mitgelieferte Software zum Einsatz. Sie erlaubt das visuelle Programmieren durch Anordnen und "Verkabeln" von Icons auf einem zweidimensionalen Bildschirm. Damit lassen sich von einfachen zeitlichen Abläufen über Schleifen und Verzweigungen bis hin zu sensorisch gesteuerten komplexen Programmen alle wesentlichen Programmstrukturen verwirklichen.
Für den Einsatz in der Informatik-AG ist die Verwendung einer textbasierten Programmiersprache vorgesehen. Hier gibt es neben der vom Hersteller gelieferten C-ähnlichen Sprache NXT-G auch Open-Source-Anbindungen an weitere wichtige Progammiersprachen.
Python
Es existieren zwei verschiedene Anbindung an Python (NXT_Python und dessen Weiterentwicklung nxt-python). Alles zur Verwendung des Python-Interfaces für unseren Unterricht findet sich unter UnterrichtLegoNxt/Python.
TuxMinds
TuxMinds ist eine Open-Source-Alternative zur mitgelieferten grafischen Programmierumgebung, die unter Linux läuft. Sie stammt aus der Schulumgebung (http://www.it-projekt-muenster.de/).
Einleitung
Zur Einleitung orientieren sich die Schüler darüber, welche Arten von Robotern es (real oder fiktiv) gibt, die sind nämlich sehr unterschiedlich. Unser Lego-Roboter ist nur eine davon.
Die Schüler erstellen gruppenweise kleine Vorträge zu den verschiedenen Robotertypen. Jeder Vortrag soll auch eine kurze Definition enthalten, was (auf dem jeweiligen Einsatzfeld) einen Roboter ausmacht.
Weiterführende Literatur
Science-Fiction-Klassiker
Buch "I, Robot" von Isaac Asimov
Besprechen der drei Roboterregeln. Besprechen der visionären Leistung Asimovs. Einfluss seiner Visionen auf unsere heutige Realität.
Alle Kurzgeschichten von Philip K. Dick
Besprechen der visionären Leistung Dicks. Einfluss seiner Visionen auf unsere heutige Realität.
Wissenschaftliche Literatur (historisch)
Valentino Braitenberg
- Valentine Braitenberg, Vehicles: Experiments in Synthetic Psychology, MIT Press Cambridge 1984 ISBN 978-0-262-52112-3
(Englisch, Auszüge auf Google Books erhältlich)- Übersetzung: Vehikel. Experimente mit künstlichen Wesen, LIT Verlag Münster 2004 ISBN 3-8258-7160-6
- http://de.wikipedia.org/wiki/Valentino_Braitenberg
Populärwissenschaftliche Literatur
Hofstädter/Dennett
- Douglas Hofstädter und Daniel Dennett, The Mind's I: Fantasies and reflections on self and soul (ISBN 0-553-34584-2)
- Komplett erhältlich auf http://themindi.blogspot.de/ (Lizenz fragwürdig)
- Darin: Chapter 7: The Soul of Martha a Beast
- http://de.wikipedia.org/wiki/Douglas_R._Hofstadter
Aufgaben
Die Schüler werden der Reihe nach die folgenden Aufgaben mit ihren Robotern lösen:
Vorbereitung
Motoren ansteuern
- Roboter vorwärts geradeaus fahren lassen
- genau einen Meter fahren lassen
- auf der Stelle drehen lassen (links-/rechtsherum)
- genau 90° auf der Stelle drehen lassen
- ein Quadrat fahren lassen
- freiwillig: Kurven fahren lassen (verschiedene Radien)
- freiwillig: einen Kreis fahren lassen (verschiedene Radien)
Programmiertechnik: Schleife
Sensoren abfragen
Sensomotorische Interaktion
(ein lineares Programm sensorgesteuert abarbeiten)
- Fühler
- Wer nicht "sören" will muss fühlen
- Der schüchterne Roboter
- Roboterduell!
- Ich bin ein Roboter, holt mich hier raus!
- Roboterkaravane
- Vorarbeit: Vor einem Hindernis anhalten und warten, dann weiterfahren
- Erweiterung: Geschwindigkeit abhängig vom Abstand regeln
- Vorarbeit: Auf die Wand zufahren, je näher der Roboter dran ist immer langsamer werden
- Vorarbeit: Auf die Wand zufahren, je näher der Roboter dran ist immer langsamer werden
- einer schwarzen Linie entlangfahren Was passiert, wenn der Roboter die Linie verliert? Kann er selbstständig eine Linie (wieder-) finden?
- Interaktiver Roboter I: Roboter durch klatschen lenken
Komplexe Programmsteuerung
(ein Programm mit vorgegebenen Verzweigungen sensorgesteuert abarbeiten, Entscheidungsbaum)
- [wird fortgesetzt]
Komplexe Sensomotorische Interaktion
- [eine laufende Programmschleife sensorgesteuert unterbrechen]
- [aus einer laufenden Programmschleife sensorgesteuert in Unterprogramme springen]
Die Inhalte dieser Wiki-Seite erscheinen, (wo anwendbar und nicht anderweitig angegeben), unter einer Creative-Commons-Lizenz CC BY NC SA 3.0 Germany. Urheber: Dr. Rüdiger Kupper und Jens Baumgärtner, Kepler-Gymnasium Freudenstadt.