|
S. Spolwig |
[Aktuelles
| Dokumente | Inhalt
| Literatur | Organisation] |
Thema:
Konzeption einer
Einstiegsunterrichtseinheit
im Fach Informatik mit der pädagogischen Programmierumgebung "Kara" Inhaltsverzeichnis: Konzeption Eigenen Unterrichts * Planungsübersicht: *
Anhang: Lösungen der Aufgaben: -
> sind in karatotal.pdf
zu finden. |
Einführung
Konzeption Eigenen Unterrichts Zielgruppe: Schüler der Gymnasialen Oberstufe 11. Oder 12. Klasse. Unterrichtsverlaufsplanung 1. Halbjahr Thema: Analyse und Konstruktion von Algorithmen
Zu *) Vorschlag für Einstiegsunterricht, wenn keinerlei Computererfahrung vorhanden ist. Unterrichtsthema: Analyse und Konstruktion von Algorithmen Thema: Einführung in das Arbeiten mit einem Rechner Inhalte: Was ist ein Computer? Was macht ein Computer? Komponenten des Computers – HW, - SW Was ist ein Programm?, Wie starte ich ein Programm? Begriffe: Quelltext, Maschinensprache Dateiorganisation im Rechner: Begriffe: Ordner, Datei, Betriebssysteme: DOS, Windows, Wichtige Befehle unter DOS: "cd", "copy", "md", "rd", "delete", "format", Umgang mit dem Word-Explorer, Aufruf eines Editors, Erstellen einer Datei, Verschieben der Datei innerhalb von Verzeichnissen, Kopieren einer Datei Grobziele: Die wesentlichen HW- und SW-Komponenten, die zu einem Rechner gehören kennenlernen Die Schüler sollen dabei den Rechner als Wekzeug verstehen und das ineinandergreifen der Komponenten der HW- und der SW verstehen. Feinziele Kognitive Dimension: Komponenten eines Rechners benennen können: HW, SW Was ein Programm aussmacht beschreiben können Den Unterschied zwischen Betriebssystem und Programm erläutern können Die Funktion des Betriebssystems beschreiben können Psychomotorische Dimension: Dateien können erstellt werden und Texte mit "Cut" und "Paste" bearbeitet werden Dateien können im Rechner abgelegt werden und innerhalb der Ordnerhirachie verschoben werden Dateien können kopiert werden Unterrichtsverlauf:
Thema: Einführung in die Kara- Programmierumgebung Inhalt: Erkundung der Programmierumgebung Eigenschaften eines Programms Begriffe: Methoden, Eigenschaften, Kontrollstrukturen Grobziele: Die Kara- Programmierumgebung kennenlernen Feinziele Kognitive Dimension: Die Schüler sollen wissen wie man ein Programm aufruft. Affektive Dimension: Die Schüler sollen neugierig die Programmumgebung von Kara erforschen Psychomotorische Dimension: Experimenteller Umgang mit Kara Unterrichtsverlauf:
Tafelbild:
Aufgabenbeschreibung: Aufgabe 1: ( als Bild an der Tafel dargestellt (s.o.) und beschrieben in Worten) Kara läuft auf eine Baum zu und soll diesem nach rechts ausweichen Wie läßt sich diese Aufgabe automatisieren ?
Thema: Programmieren einfacher Algorithmen Inhalt: Systematisierung der Automatisierung Zustandsgraph, Kontrollstrukturen Grobziele: Der Schüler kann den Begriff "Programm" erklären und einen Algorithmus zum Ausweichen auf ein Hindernis in der Kara- Programmierumgebung eintragen und ausprobieren. Feinziele Kognitive Dimension: Der Schüler kann Sichtweisen auf ein Programm von Seiten des Anwenders, des Programmierers und des Rechners erklären. Sie können mit dem Bezug auf die Programmierumgebung die Begriffe Programm, Zustand und Methode erklären. Psychomotorische und affektive Dimension: Spielerisches Lernen beim Entwickeln eines Algorithmus Unterrichtsverlauf:
1. Schritt: Sammeln der Schülerantworten auf der Tafel 2. Schritt: Sortieren der Antworten nach Beispielen, Eigenschaften, Funktion, ... Tafelbild:
Tafelbild: Sichtweisen auf ein Programm
Tafelbild:
Thema: Programmieren einfacher Algorithmen Inhalt: Kontrollstrukturen Grobziele: Aufgaben in Programmschritte umsetzen Festigung der Kontrollstrukturen Feinziele Kognitive Dimension: Der Schüler kann die Lösung zu einem Problem in einem Zustandsgraphen abbilden und diese mit der Kara-Programmierumgebung ausführen. Psychomotorische und affektive Dimension: Spielerisches Lernen beim Entwickeln eines Algorithmus und der Kontrollstrukturen. Kara: Einstiegsaufgaben Hinweis: Die Abbildungen der Welten bei den Aufgaben sind als Beispiel zu verstehen. Ihre Programme sollten die Aufgaben so lösen, dass Kara die Aufgabe auch in einer gleich strukturierten Welt lösen kann. Zum Beispiel soll es bei der ersten Aufgabe nicht darauf ankommen, wo die Kleeblätter liegen oder wie weit der Baum entfernt ist. Kara weiss nur, dass geradeaus vor ihm ein Baum ist, ohne Pilz zwischen ihm und dem Baum. Analog sind die Bilder bei den übrigen Aufgaben zu verstehen. Wichtig: Testen Sie Ihre Programme immer an mehreren verschiedenen Welten, insbesondere bei den Aufgaben 2 und 3! Aufgabe 1 – Kara, der Blätterfetischist
Schreiben Sie ein Programm, das Kara bis zum nächsten Baum führt. Kara weiss, dass geradeaus vor ihm ein Baum ist. Liegt auf einem Feld ein Blatt, soll Kara es aufnehmen; liegt auf einem Feld kein Blatt, eines hinlegen. Bei dem Baum angekommen ist das Programm zu beenden. Aufgabe 2a – Kara, der Tunnelsucher I Kara sucht den Eingang eines geraden Tunnels (Feld 2a). Er weiss, dass dieser Tunnel geradeaus vor ihm liegt. Schreiben Sie ein Programm, das ihn auf dem ersten Feld im Tunnelinnern anhalten lässt. Aber Achtung: manche Tunnels haben zunächst eine einseitige Gallerie, manche links, manche rechts! Aufgabe 2b – Kara, der Tunnelsucher II Kara will den Ausgang des Tunnels finden (Feld 2b). Dazu muss er zunächst den Tunnel durchqueren. Schreiben Sie ein Programm, das ihn auf dem ersten Feld nach dem Tunnel anhalten lässt – er soll nicht bis zum Ende der Gallerie laufen! Hinweis: Die Lösung erfordert zwei Zustände! Überlegen Sie Sich, warum ein ein Zustand nicht ausreichen kann! Bemerkung: Den STOP-Zustand zähle ich nie mit beim Zählen der Zustände! Aufgabe 3a – Kleeblattsuche im Wald I Kara sucht ein Kleeblatt. Er weiss, dass eines geradeaus vor ihm liegt – er muss nur um die Bäume herumlaufen. Glücklicherweise stehen nie zwei Bäume nebeneinander. Schreiben Sie ein Programm, das ihn bis zum Kleeblatt führt! Aufgabe 3b – Kleeblattsuche im Wald IIErweitern Sie Ihr Programm von Aufgabe 3a so, dass Kara auch mit mehreren nebeneinander stehenden Bäumen fertig wird! Hinweis: Die Lösung dieser Aufgabe erfordert zwei Zustände! Warum reicht ein Zustand nicht aus? Kara steht in einem Labyrinth aus Bäumen. Schreiben Sie ein Programm, das ihn bis zum Ende des Labyrinths führt! Dort soll er ein Kleeblatt hinlegen; damit ist die Programm zu beenden. Überlegen Sie Sich, wie "stabil" Ihr Programm ist: was ist, wenn eine Wand ein "Loch" hat (ein Baum fehlt)? Funktioniert es trotzdem noch? Unter welchen Bedingungen?
Thema: Programmieren einfacher Algorithmen Inhalt: Kontrollstrukturen Grobziele: Aufgaben in Programmschritte umsetzen Festigung der Kontrollstrukturen Feinziele Kognitive Dimension: Der Schüler kann die Lösung zu einem Problem in einem Zustandsgraphen abbilden und diese mit der Kara-Programmierumgebung ausführen. Psychomotorische und affektive Dimension: Spielerisches Lernen beim Entwickeln eines Algorithmus und der Kontrollstrukturen. Inline-Skates faszinieren Kara! Er möchte üben, Slalom zu "fahren" zwischen Bäumen [slalom.world]: Starten mit einer Linksdrehung, dann zwischen den Bäumen elegant in eine Rechtsdrehung übergehen, dann zwischen den nächsten Bäumen wiederum in einer Linksdrehung... der Anfang des Slaloms ist eingezeichnet; so weiter ad infinitum! Oder bis Kara schwindlig wird! Die Aufgabe (Schwierigkeitsgrad: 2 von 5) Programmieren Sie Kara so, dass er diesen Slalom fahren kann! Wie lang der Parcour ist (wieviele Bäume nebeneinander stehen), weiss Kara zu Beginn natürlich nicht! Auch soll es ihm egal sein, ob die Bäume horizontal oder vertikal nebeneinander stehen! Zusatzfrage Ihre Lösung hat mindestens zwei Zustände. Warum kann es mit weniger nicht gehen? Kara hat sich einen leckeren Vorrat von Kleeblättern angelegt. Dieser ist von Bäumen umringt. Damit sich niemand an seinen Kleeblättern vergreift, beschliesst Kara, diesen Wald zu patroullieren, ihn immer wieder abzulaufen. So sieht der "Vorratswald" aus [followwall.world]: Die Aufgabe (Schwierigkeitsgrad: 2 von 5)Programmieren Sie Kara so, dass er endlos um diesen "Wald" läuft! Sie können selbst entscheiden, ob Sie ihn links- oder rechtsherum laufen lassen.
Hinweis: Ein Zustand reicht aus für die Lösung der Aufgabe. Versuchen Sie, mit möglichst wenig Sensoren auszukommen, und möglichst wenig Übergänge in ihrem Zustand zu haben! Varianten Falls Ihr Programm mehr als einen Zustand hat: Schreiben Sie eine "optimierte" Fassung, die nur einen Zustande hat! Erweitern Sie Ihr Programm so, dass Kara zuerst geradeaus bis zum nächsten Baum läuft und erst dann mit dem Patroullieren beginnt. Dazu müssen Sie ihn vor Programmbeginn allerdings so setzen, dass er geradeaus laufend überhaupt einen Baum findet!
Thema: Programmieren einfacher Algorithmen Inhalt: Kontrollstrukturen Grobziele: Aufgaben in Programmschritte umsetzen Festigung der Kontrollstrukturen Feinziele Kognitive Dimension: Der Schüler kann die Lösung zu einem Problem in einem Zustandsgraphen abbilden und diese mit der Kara-Programmierumgebung ausführen. Psychomotorische und affektive Dimension: Spielerisches Lernen beim Entwickeln eines Algorithmus und der Kontrollstrukturen. PacMan – oder wie verfolge ich eine Spur? Kara möchte das uralte PC-Spiel PacMan spielen – in einer vereinfachten Version. Er soll eine Spur von Kleeblättern "auffressen". Er weiss, dass diese Spur nie entlang eines Baumes geht – sie endet an einem Baum! So sehen "Spur-Welten" aus [pacman1.world, pacman2.world]: Die Aufgabe (Schwierigkeitsgrad: 3 von 5) Programmieren Sie Kara so, dass er die Spur von Kleeblättern "auffrisst"! Da Sie wissen, dass die Spur nie entlang eines Baumes geht, kann das Programm beendet werden, sobald Kara auf einem Kleeblatt vor einem Baum steht. Sie können selbst bestimmen, ob Sie auf einem Kleeblatt oder davor starten wollen.
Hinweis I: Die Lösung ist trickreich! Überlegen Sie Sich zuerst auf Papier genau, in welchen Situationen Kara sich finden kann, und was er tun muss!
Hinweis II: Testen Sie Ihr Programm an mehreren verschiedenen Spuren! Sonst laufen Sie Gefahr, dass Ihr Programm nur für genau einen Spezialfall von Spur funktioniert. Das ist beim Programmieren immer eine sehr grosse Gefahr und kann leicht zu Problemen beim Einsatz eines Programmes führen! Kara möchte das berühmte Pascal-Dreieck zeichnen, bestehend aus Kleeblättern [pascal.world; pascal_done.world]:
Die Aufgabe (Schwierigkeitsgrad: 4 von 5) Programmieren Sie Kara so, dass er ein binäres Pascal-Dreieck zeichnet. Das heisst, jede Zahl wird "modulo 2" abgebildet: eine gerade Zahl wird als freies Feld dargestellt, eine ungerade Zahl als Feld mit einem Kleeblatt drauf. Der Einfachkeit halber kippen wir das Dreieck in die linke obere Ecke der Welt. Die obige Abbildung zeigt die Ausgangslage für diese Aufgabe und das von Kara gezeichnete Pascal-Dreieck. Wie die inneren Felder berechnet müssen, zeigt folgende Abbildung: Hinweis: Denken Sie daran: die Zustände sind Kara’s Gedächtnis! Diese Tatsache müssen Sie bei dieser Aufgabe ausnützen. Mit weniger als drei Zuständen dürften Sie nicht auskommen.
Thema: Programmieren einfacher Algorithmen Inhalt: Kontrollstrukturen Kara als Touring-Maschine (Read/Write) Grobziele: Aufgaben in Programmschritte umsetzen Festigung der Kontrollstrukturen Grenzen der Programmierumgebung erforschen Feinziele Kognitive Dimension: Der Schüler kann die Lösung zu einem Problem in einem Zustandsgraphen abbilden und diese mit der Kara-Programmierumgebung ausführen. Psychomotorische und affektive Dimension: Spielerisches Lernen beim Entwickeln eines Algorithmus und der Kontrollstrukturen. Einfaches Labyrinth – Kleeblatt-Suche Kara sitzt in einem Labyrinth fest. Er möchte raus, denn beim Ausgang des Labyrinths wartet ein leckeres Kleeblatt auf ihn! Zwei Beispiele von Labyrinth-Welten [levellabyrinth1.world, levellabyrinth2.world]: Jede horizontale Baumreihe ausser der untersten hat genau einen Ausgang. Diesen muss Kara jeweils finden. Hinter dem letzten Ausgang wartet das Kleeblatt auf ihn! Die Aufgabe (Schwierigkeitsgrad: 3 von 5) Programmieren Sie Kara so, dass er das Kleeblatt findet! Er soll das Kleeblatt aufnehmen; damit soll das Programm enden. Die Startposition und Startrichtung in der untersten Labyrinthzeile können sie frei wählen. Sie müssen aber Ihr Programm daran anpassen! Hinweis: Testen Sie Ihr Programm an mehreren verschiedenen Labyrinthen! Sonst laufen Sie Gefahr, dass Ihr Programm nur für genau einen Spezialfall von Labyrinth funktioniert. Das ist beim Programmieren immer eine sehr grosse Gefahr und kann leicht zu Problemen beim Einsatz eines Programmes führen! Zusatzfragen
Kara hat etwas gegen Unordnung. Daher beschliesst er, die Balken von Kleeblätter in seiner Welt zu sortieren [bubblesort.world]: Die Aufgabe (Schwierigkeitsgrad: 5 von 5)Programmieren Sie Kara so, dass er die Balken von Kleeblättern sortiert! Es gibt viele Sortierverfahren; für Kara allerdings kommen nicht alle in Frage. BubbleSort ist ein geeigneter Algorithmus für Kara – ist aber natürlich nicht gerade effizient. Aber trotzdem, mit etwas Geduld bringen Sie Kara dazu, die Balken zu sortieren! Überlegen Sie sich gut, wie Sie das Programm möglichst einfach halten können – dazu müssen Sie die Aufgabe geschickt in "Teile" zerlegen, die Sie dann wie Bausteine zusammensetzen können. |
27. Juli 2006 | Mark Ausborn |
|