Klasse 11 - Informatik

Viele Unterrichtsmaterialen sind auf der Seite der ETH-Zürich zu finden. Für jeden Interessierten kann ich ein Stöbern hier nur empfehlen.

Das Programmieren in BlueJ lässt sich durch viele fertige Pakete deutlich vereinfachen: BlueJ-Pakete.

Viele schöne Beispielprogramme finden sich bei Manfrd Fettinger.

Wiederholung

 TypBeschreibung 
Anzeigen TheorieWiederholung Flussdiagramm
Im Gegensatz zu Struktogrammen sind Flussdiagramme einfacher zu zeichnen, da sie nicht so ineinandergeschachtelt sind. Man sollte daher beides beherrschen.
pdf
pdf BlueJ AufgabeWiederholung Felder bzw. Array
Am Beispiel eines Supermarktes werden die wichtigsten Begriffe wiederholt und Java-Kenntnisse aufgefrischt.
zip, pdf

Listen

 TypBeschreibung 
Youtube VideoWarum Informatik
Informatik ist nicht Programmieren! Genauso wenig wie Rechnen Mathematik ist. Diese und weitere Unterschiede werden auf diesem Video verdeutlicht. Auch mit dem Schwerpunkt auf einfache Datenstrukturen, wie sie in der elften Klassen dran kommen.

flash, mp4
Anzeigen SourcecodeQueue
Einfach verkettete Liste. Hier gilt FIFO (First-in-first-out).
html/js
Anzeigen SourcecodeStack
Stapel oder Kellerspeicher. Hier gilt LIFO (Last-in-first-out).
js
Herunterladen BlueJ-PaketLeere Warteschlange für Hotelaufgabe
Dieses BlueJ-Paket kann als Vorlage für eine einfach verkette Schlange dienen. Es beinhaltet die Klassen: Schlange, welche auf den Kopf der Warteschlange verweis; Knoten und Gast, wobei die Knoten aufeinander verweisen. Gast enthält den eigentlichen Inhalt
Die Klassen, insbesondere die Klasse Schlange, sind nicht vollständig implementiert und müssen noch vervollständigt werden.
zip
Herunterladen BlueJ-PaketKompositum-Muster
Diese BlueJ-Paket ist die grundlegende Umsetzung einer Liste mit Hilfe des Composite-Pattern:
CompositePattern
Kommentierte BlueJ-Version
zip
Herunterladen TheorieKompositum-Muster
Mit Hilfe des Kompositum-Musters lassen sich Listen Hilfe von rekursiven Funktionen aufbauen. Wie das genau funktioniert erklärt diese Präsentation.
zip
Projekt
Arbeitsblatt
BlueJ-PaketGrafik-Software
Komplexes Anwendungsbeispiel in dem der Beginn einer Grafiksoftware implementiert wird. Hier geschieht bereits schrittweise der Übergang zur neuen Datenstruktur "Baum".
zip

Bäume

Wie funktioniert ein Binarbaum? Wie kann man suchen, wie wird eingefügt oder sogar entnommen? Diese Fragen lassen sich an einem Beispielbaum viel besser veranschaulichen:Animation Binärbaum

Unter der Internetadresse Graphentheorie.de findet sich eine Zusammenstellung der wichtigsten Definitionen zum Thema Graphentheorie.

 TypBeschreibung 
Herunterladen TheorieVon der Liste zum Binärbaum
Listen sind für Suchen optimal, da im schlimmstenfall die ganze Liste durchlaufen werden muss. Besser sind hier Bäume. Neben der allgemeinen Struktur gehe ich in diesem kurzem Skript in erster Linie auf Binärbäume ein.
pdf
Herunterladen PraxisBinärer Suchbaum
Grau ist alle Theorie und so richtig verstanden hat man etwas erst, wenn man es auch entweder erklären kann oder in der Informatik programmieren kann. Falls man aber doch mal stecken bleibt, kann man sich hier das Umsetzen eines Binären Suchbaums auch schrittweise als BlueJ-Paket herunterladen:
Die reine Datenstruktur
Jetzt kann man schon mal was einfügen...
...und zur Kontrolle was inorder ausgeben.
Inorder, Postorder, Preorder
Suchen eines Elements
Wo was eingefügt wird, muss man auch was löschen können.
Mit grafischer Anzeige (zur leichteren Kontrolle)
pdf
Herunterladen TheorieVom Baum zum allgemeinen Graphen
Graphen werden in der Schule entweder über eine Verbindungsmatrix (Adjazenzmatrix) implementiert oder über Listen. Die entsprechenden BlueJ-Pakete zum Loslegen kann man sich hier holen:
Beginn der Programmierung mit Adjazenzmatrix
Schlussendlich kann das Programm dann wie das folgende Applet funktionieren.
zip
Herunterladen Theorie
Simulation
Tiefensuche
Hier können schrittweise die verschiedenen Algorithmen durchgeführt werden. Leider ist die Implementierung etwas anders als im Unterricht, aber der Ablauf ist dennoch vom Prinzip der gleiche.
Eine weitere interessante Seite ist: Matheprisma Uni Wuppertal. Neben einer allgemeinen Einführung in die Wegeproblematik bei Graphen findet sich auch die Tiefensuche wieder.
zip
Herunterladen BlueJNavigationgerät
Hier der Beginn eines Projekts. Es beinhaltet bis jetzt nur eine Methode zum Einlesen des der csv-Datei mit den Entfernungen zwischen den wichtigsten Städten in Deutschland.
zip

Suchen und Sortieren

 TypBeschreibung 
Anzeigen SourcecodeSortieralgorihmen
Quicksort, Heapsort und Mergesort für Arrays.
Eine Sammlung von reinem Sourcecode dieser wichtigen Sortieralgorithmen - falls man mal was braucht.
html/js
Anzeigen ElearningBinäre Suchbäume
Sehr gut gemachte Elearning-Sequenz der Uni Wuppertal.
html/js
Anzeigen ElearningSortierverfahren
Sehr gut gemachte Elearning-Sequenz der Uni Wuppertal.
html/js

Programmiertechniken

 TypBeschreibung 
Anzeigen ElearningBacktracking
Sehr gut gemachte Elearning-Sequenz der Uni Wuppertal (8-Damen-Problemm, Quinto)
html/js
Anzeigen ElearningDynamisches Programmieren
Sehr gut gemachte Elearning-Sequenz der Uni Wuppertal.
html/js

Software-Engineering und Projektmanagement

 TypBeschreibung 
Starten LernkartenSoftware-Engineering
Lernen mit Karteikarten zu obigem Thema. Im Lermodus werden die Antworten gleich angezeigt. Sonst erscheint nur die Frage. Die Fragen gehen über das Niveau der Schule hinaus. Aber als Vorbereitung aufs Abitur sollte man es mal durchklicken.
Speichern
html/js
Starten SimulationSemaphoren
Semaphoren dienen neben Monitoren dem synchronisieren von Prozessen. Mit dieser Simulation kann man sich die Vorgänge verdeutlichen.
html/js

G9-Material

OOP

Wenn noch Zeit ist kann man sich noch den schönen Dingen des Programmierens widmen - den Spielen. Das muss nicht unbedingt JavaScript sein. Ein schönes Programm hierfür wäre auch Gamemaker (Tutorial). Weitere Infos finden sich bei Margaret Meijers und Bill Kerr (Spiele programmieren,Forum, Tutorials, Man kann auch andere Dinge mit GM machen).

Ein anderer Ansatz wären Textadventures: TADS. Aber auch 3-D-Programm wie Alice können dazu dienen in die OOP einzuführen.

Inzwischen habe ich noch Scratch vom MIT in Boston gefunden. Mein erstes Projekt ist ein Malprogramm.

 TypBeschreibung 
Anzeigen SpielReaktionstest
Das erste kleine Spiel ist ein einfacher Reaktionstester. Hier werden die bei Spielen wichtigsten Punkte angesprochen: Zeit, Events, Objekte.
html/js
Anzeigen TheoriePattern-Park
Entwurfsmuster sind am Anfang nicht gerade einfach zu verstehen, helfen aber umgemein. Am Beispiel eines Vergnügungsparks lernt man die Entwurfsmuster kennen.
html/js
Anzeigen SpielAbschluss der 1. Phase
Ich leite die Schüler bis zu dieser Stelle. Ab hier sollen sie das Spiel dann selbst weiterentwickeln.

Ideen: Bälle auffangen, Primzahlen auffangen, Gegener programmieren, Computer-Gegner programmieren (So, dass man noch eine Chance hat!), 4 Spieler Modus, Gravitation berücksichtigen, Magnetfunktion des Paddels, Beschleunigung des Balls hängt von der Geschwindigkeit des Paddels ab.
Eine Variante mit Computer-Gegner ist dann schnell umgesetzt und es fehlen nur noch ein paar Hindernisse?.
html/js