Das war's für heute. Bis zum nächsten Mal. So, schönen guten Tag, Praxistippsreferendariat, wie fachlich einarbeiten, Curriculumsanalyse. Wie der Name schon verrät, liegt der Schwerpunkt der heutigen Darstellung auf der Analyse eines Lehrplans und ich möchte einige Aspekte vorausschicken. Alles, was ich Ihnen erzähle, beruht auf Erfahrung, ist natürlich nicht die eine Lehrmeinung, die richtig ist und alles andere ist falsch. Sie müssen da ihren eigenen Weg finden. Ich empfehle Ihnen aber dringend sich fachlich, dazu gehört auch die Einarbeitung in die Lehrpläne, vor Beginn des Referendariats einzuarbeiten. Die Fachlichkeit wird oft gar nicht groß thematisiert, auch im Seminar nicht. Ist aber meiner Ansicht nach der zentrale Punkt, damit Sie Handlungssicherheit gewinnen im Unterricht. Und das ist und bleibt der wichtigste Faktor bei einer Lehrkraft. Wenn Sie keine Ahnung haben, was Sie sich hier ordentlich vorbereitet haben, dann kann auch der Rest des Unterrichts nicht gelingen. Gut, wie könnte man denn geschickt vorgehen? Zunächst empfehle ich Ihnen, Ihr Universitätswissen zu rekapitulieren. Sie haben sich jetzt ein halbes Jahrzehnt lang mit Schulstoff nicht mehr direkt beschäftigt, sondern haben zusätzliches Wissen erworben. Erinnern Sie sich nochmal grob dran, was das Wesentliche bei den jeweiligen Themengebieten war, sprich Grundlagen der Programmierung, Datenbanken, Netzwerke, Automaten, Theorie. Und verschaffen Sie sich da wieder ein solides Fundament, wenn Sie sich jetzt mit einzelnen Bereichen vielleicht im vorgeschrittenen Studium nicht mehr so auseinandergesetzt haben. Es geht natürlich jetzt nicht darum, wieder das Klausur-Universitätsniveau zu erreichen, sondern sich einzuarbeiten, fachlich ein solides Fundament sich zu erinnern und dann darauf aufzubauen. Dinge weg zu streichen oder zu ergänzen, die für die Schule relevant sind. Als nächstes empfehle ich Ihnen zu jedem Thema, Hauptthema, dem Gebiet jeweils eine Mindmap oder ähnliches zu erstellen. Wir werden dann gleich ein Beispiel zu sehen. Wenn Sie zum Beispiel die objektorientierte Programmierung betrachten, dann nehmen Sie sich einfach mal ein Schmierzettel und schreiben. Mehr oder weniger strukturiert im ersten Ansatz auf, was Ihnen da so spontan so einfällt. Objektorientierte Programmierung, da werden Sie ja verschiedene Vorstellungen im Kopf haben. Notieren Sie sich die, bauen Sie sie aus und iterieren Sie da ruhig zwei, dreimal drüber auf verschiedene Tage verteilt. Wenn Sie meinen, Sie haben einen stabilen Zustand erreicht, dann ist der nächste Schritt, den Lehrplan zu sichten und den abzugleichen mit Ihren eigenen Ideen in Form von MindMaps oder Ähnliches. Das Vorgehen hat sich sehr bewährt, weil Sie da nicht direkt zuvor beeinflusst sind durch den Lehrplanschrieb. Sie haben dann Ihr eigenes Bild im Kopf, Ihr Modell sozusagen und können das leichter, wie die Erfahrung gelernt, abgleichen mit den Vorgaben im Lehrplan und Sie wissen dann auch direkt, was Sie sowieso schon auf dem Plan haben. Oder hatten durch den Abgleich oder was noch ergänzt oder was fragwürdig ist, wo Sie sich jetzt nichts darunter vorstellen können oder es zu unscharf formuliert ist und Sie dann nochmal nacharbeiten oder nachfragen müssen. Wenn Sie das auch haben, dann schnappen Sie sich alte Abiturklausuren und schauen sich die an. Der Lehrplan an sich ist nicht ausreichend, um zu wissen, was und in welcher Breite und Tiefe zu unterrichten ist. Das ist immer zu sehen im Verhältnis mit Ergänzungsmaterial, die ich gleich noch vorstellen werde und vor allen Dingen mit alten Abiturklausuren. Das ist das Wichtigste. Das ist auch das Wichtigste für Ihre eigene fachliche Vorbereitung. Wenn Sie sich erstmal thematisch orientieren wollen, und müssen, dann sichten Sie einfach die Aufgabenstellung und lesen die Lösung quer, damit Sie wissen, was sich am Breite und Tiefe hinter den einzelnen Themenbereichen verbirgt. Aber wenn Sie dann unterrichten, müssen Sie auch die Abiturklausuren mal selber durchrechnen, damit Sie einfach, was Breite und Tiefe angeht, fit werden. Sie müssen repräsentative Aufgabentypen erkennen, damit Sie sie als solche dann auch weitergeben können. Sie müssen die Fachterminologie nochmal abgleichen. Nicht alles ist ja genormt und an der Universität haben Sie einen anderen Kenntnisstand als an der Schule und darauf achten, welche Darstellungen im Abitur verlangt werden. Gut, haben Sie immer im Blick, dass die Lehrpläne zerfasert dargestellt sind und mit allem möglichen aufgebläht werden? Wie wir gleich noch sehen werden, das Wichtigste ist zu lernen, was man einfach ignoriert und zu gegebener Zeit vielleicht nochmal anschaut, aber im Wesentlichen ignoriert. Als Grundlage nehmen wir den Lehrplan der gymnasialen Oberstufe in Nordrhein-Westfalen her. Wie ich bereits angedeutet habe, gibt es zu diesem Lehrplan in NRW Zusatzmaterialien, die die Bezirksregierung stellt, die beziehen sich dann auf konkrete, informatische Umsetzungen, also tatsächlich auch dann Quellcode und so eine Dokumentation, die brauchen sie ja, damit sie mit der jeweiligen Klasse dann im Unterricht auch arbeiten können, also Java-Klasse. Und es gibt ein alljährliches Schreiben zu den Schwerpunkten im Abitur, die sind in der Informatik aber nicht so besonders relevant, trotzdem gibt es die, das sollten Sie vorher wissen. Ich betone das nochmal, die Lehrpläne immer in Kombination mit den Altklausuren hernehmen. Was sind das jetzt für Dokumente? Sie haben einmal hier den Lehrplan, den wir gleich. Kurz durchgehen werden und dann haben sie hier Materialien zu den zentralen Abiturprüfungen im Fach Informatik. Das ist sehr wichtig für die praktische Arbeit. Wie sie hier sehen, haben sie da nämlich die konkrete Umsetzung in Java und die Detailinformation, was sie denn wie auch an Form unterrichten müssen. Die Datenstrukturen, die verwendet werden müssen, sind dann hier dokumentiert und sie sehen schon, es gibt auch generische Klassen, lineare Strukturen, nicht lineare Strukturen, Grafen, Baum und so weiter. Dieses Dokument ist nicht nach GK, LK, also Grundkurs, Leistungskurs geteilt. Grafen beispielsweise müssen nur im Leistungskurs umgesetzt werden. Und der Grundkurs muss bei Datenbanken auch wenig bis nichts implementieren. Das ändert sich aber alle paar Jahre. Müssen Sie ein bisschen vorsichtig sein. Okay, gehen wir da kurz rein. Wenn Sie hier zum Beispiel das sehen, das würden Sie in der Einführungsphase direkt verwenden müssen, weil Sie da Klassendiagramme thematisieren und da haben Sie hier zum Beispiel die Information, dass es an Schulen in NRW nur zwei Sichtbarkeiten gibt. Public und private. Alles, was Sie an der Universität zum Beispiel für Pakete gelernt haben an Sichtbarkeiten, was sie aber sonst noch anbietet, ist für Schule nicht relevant. Das muss man ja erstmal wissen und es ist keine gute Vorbereitung, wenn Sie unterrichten und dann Dinge einführen, die Sie später dann wieder revidieren müssen. Vielen Dank. Sollten Sie zusätzliche Sichtbarkeiten einführen, dann müssen Sie das vor einem bewussten Hintergrund machen, das ist ja letztendlich Ihnen überlassen, aber der grundsätzliche Tipp ist, führen Sie keine Dinge ein, die Ihnen nicht notwendig sind. Gut, dann haben Sie hier die Art und Weise, wie Klassendiagramme in NRW verlangt werden. Zahlreiche Zusatzinformationen, das Ganze wird recht verständlich anhand dieses Computerspiels hier, das ist so ein Wurm, der sich durch die 2D-Landschaft schlängelt erklärt und das müssen Sie in Ruhe studieren, dann wissen Sie wie Vererbung, wie Interfaces und so weiter grafisch formuliert werden und in welchem Detailgrad das verlangt wird. Hier zum Beispiel die wichtige Information, welche Multiplizitäten es gibt, also welche Vielfachheiten, erinnern Sie sich vielleicht an Ihre Datenbank-Vorlesung. Oder UML-Modellierung, da gibt es natürlich mehrere Ansätze, welche Vielfachheiten man jetzt zulässt. Das sind die vier an Schule. Zumindest in NRW und zumindest momentan. Hin und wieder ändern sich diese Dinge auch. Ok, Entwurstiagramm und Implementationsdiagramm wird unterschieden. Und hier hätten Sie jetzt eine Detailübersicht, welche Operationen und welche SQL-Befehle Sie unterrichten müssen im GK oder Leistungskurs. Okay, das ist also ein wichtiges Dokument. Das müssen Sie in aller Ruhe tatsächlich intensiv studieren. Vielleicht noch mal ein Hinweis hier. Klassendokumentation, ja. Die sehen dann hier so aus, wenn wir mal einen Stack nehmen. Ja, da haben Sie hier die Methoden des Stacks, die ... ... Klasse anbietet. Es gibt auf der Seite der Bezirksregierung auch den vollständigen Quellcode ... ... für diese Klassen. Den müssen Sie ja haben, nicht damit Sie den abändern, ... ... sondern damit Ihre ... ... Ihr Kurs den nutzen kann, indem Sie die entsprechende Java-Klasse dann einfach in das Projektverzeichnis kopiert. Okay. Dann habe ich noch erwähnt gehabt, dass es ein alljährliches Schreiben gibt. Das sieht dann so aus, dass es im Wesentlichen immer alles gleich geredet. Hier, da könnt ihr ignorieren und das ändert sich im Wesentlichen auch nicht, wobei bei der Aufgabenauswahl da ist momentan einiges im Wandel. Also je nachdem wann Sie wo unterrichten, haben Sie da immer ein Auge drauf, aber das kriegen Sie dann, wenn Sie vor Ort an Schule sind, auch automatisch mit. Jedoch achten Sie auf sowas, nicht, dass Sie da überrascht werden. Dann gibt es hier solche Schwerpunkte, die sind allerdings für die Informatik in den letzten im letzten Jahrzehnt wenig relevant gewesen, weil das ändert sich praktisch nicht oder endete sich praktisch nicht. Das mag ja in der Zukunft anders sein. Was aber für Sie als Anfänger sehr hilfreich ist, ist die Darstellung, Grundkurs, Leistungskurs. Wenn ich das jetzt hier so hin und her mache, hin und her wechsle die Seite, dann sehen Sie die Unterschiede. Der LK macht alles, was der GK macht, wer hätte es gedacht, und dann noch Grafen zusätzlich. Oder aber hier bei den Automaten haben wir den nicht-deterministischen Killerautomaten noch mit hinzu. Und wie sie hier sehen, die Netzwerk-Programmierung. Das muss der Kronkurs nicht machen und wir haben hier noch Scanner, Parson, Interpreter für eine reguläre Sprache. Auch wenn sie keinen Leistungskurs haben sollten, das höchstwahrscheinlich ist im Referenderehalt, dann ist das dennoch sehr hilfreich, weil man unbewusst viele Annahmen trifft. Ja, dass sie zum Beispiel, wenn sie jetzt hier vielleicht auch in der theoretischen Informatik bewandert waren, dann ist dieser Punkt hier nicht deterministische Kellerautomaten ihnen vielleicht so selbstverständlich, dass sie automatisch davon ausgehen, dass man das in jedem Informatikkurs macht, auch im Grundkurs. Das ist ganz normal, das sind so Dinge, die regeln sich mit der Zeit. Gut. Dann ... hatte ich Ihnen hier empfohlen, zu jedem Thema eine Mindmap zu starten und das könnte beispielsweise so aussehen. Wenn wir das Thema objektorientierte Programmierung betrachten, dann machen Sie sich erstmal in aller Ruhe, wie gesagt über mehrere Tage verteilt, damit ein genug Abstand dazwischen gedanken. Und ordnen Sie die. Das sehen ja nur Sie, das mussten nur für Ihren Kopf Sinn machen. Ich habe das mal so vorbereitet, dass ich hier gesagt habe OOP-Prinzipien wie Modularisierung, Testbarkeit, Wartbarkeit, Wiederverwertbarkeit, die Arbeitsprinzipien iterativ und rekursiv mit so einer kleinen Skizze, die man vielleicht auch im Unterricht verwenden kann, als, naja, so... Auf dem Schmierzettel sozusagen, ja, nehmen Sie eine Tafelseite, sagen, das ist der Schmierzettel und dann notieren Sie alles ohne jede Form und Struktur, sowie Ihnen oder dem Frank entwickeln Unterrichtsgespräche, den Schülern, dass dann so in Sinn kommt. Und dann gehen Sie dann nochmal ein zweites Mal durch und machen ein ordentliches Tafelbild. Das ist auch völlig legitim, ja. Dann die beiden zentralen Begriffe der Programmierung Klasse und Objekt. Was fällt einem so zur Klasse ein? Neuer Name, Attribut, Methode. Und die Sichtbarkeiten von Attributen und Methoden. Und da hatte ich Ihnen gerade auch schon im Lehrplan die formale Notation, wie das in NRW in der Oberstufe verlangt ist, gezeigt. Was ist wichtig beim Objekt? Vielleicht so eine Analogie. Wenn Sie das erklären sollen, was ist das? Eine realisierte Klasse. Da haben Sie also schon mal den Bezug zur Klasse. Und die Klasse ist eine Vorlage für Objekte. Gut. Objekte haben Attribut Werte. Und da kommt das Prinzip der Datenkapselung ins Rennen. Also ein Objekt kennt nur sich selbst. Und dann haben Sie direkt das Problem, ja, aber wie wollen Sie denn dann einen Objektsähler erstellen, wenn jedes Objekt nur sich selbst kennt? Und da haben Sie direkt Fragen an die Lerngruppe oder auch an sich selbst, wie Sie solche Dinge erklären wollen. Unter den Objekten, unter den Obernamen Strukturen, können man Vererbung, Typen und Algorithmen. Subsumieren. Bei der Vererbung haben wir das Prinzip der Ersetzbarkeit, was wiederum zu oberen Unterklassen führt und zur Hierarchiebildung. Also wenn Sie eine Oberklasse haben, eine Unterklasse erbt davon, dann wissen Sie gemäß dem Prinzip der Ersetzbarkeit kann jede Unterklasse in die Variable der Oberklasse eingesetzt werden, weil sie ja alles kann, was die Oberklasse auch kann und zusätzliches. Das schadet aber nicht, wenn Sie dann in einer Variablen der Oberklasse drin steckt. Das ist übrigens kein Zufall, dass das hier steht. Das Prinzip der Ersetzbarkeit, da werden Sie einige Zeit auch investieren müssen. Viel Übung, das ist nicht so intuitiv, immer klar und wird auch nicht sofort beherrscht, wenn Sie das das erste Mal hören. Dann müssen Sie da ordentlich Übungszeit investieren. Bei den Typen müssen Sie natürlich jetzt im Detail nachschauen, was ist denn jetzt an Schule gefordert. Da hatten wir gerade schon kurz gesehen, es gibt Interfaces, es gibt abstrakte Klassen und es gibt generische Datentypen. Also nicht alles, was Sie jemals an der Universität zur Programmierung, zu den Möglichkeiten von Java gehört haben, ist ja auch auf dem Lehrplan in der Schule. Sonst bräuchte man ja keine Universität mehr. Also da ist die Reduktion der Inhalte ein ganz wichtiger Punkt und die Praxis zeigt, dass man als Anfänger immer so das Gefühl hat, habe ich denn nicht irgendwas vergessen oder habe ich Sachen zu ausführlich gemacht und komme vielleicht später ins Zeitproblem. Und diese Problemlage, die können Sie zwar nicht ein, also ausmerzen, die können Sie aber durch ordentliche Vorbereitung vor dem Referendariat doch schon auf ein sehr gesundes Maß reduzieren. Alles andere ist dann Erfahrung. Das liegt dann aber an Ihnen, ob Sie sich vernünftig vorbereitet haben. Bei den Algorithmen haben Sie Datentyp spezifisch, so fangen Sie auch an. Also Sie nehmen irgendeinen primitiven Datentyp, Integer, Double, String und so weiter, wobei String nicht primitiv ist. Also Integer, Double und so weiter, alles was klein geschrieben wird in Java. Und lassen da irgendwelche Algorithmen zum Beispiel Such- und Sortier-Algorithmen drauf arbeiten und erweitern das dann später in der Kursphase auf generische Datentypen und auf Objekte als Inhalt, auf denen gearbeitet wird. Und wenn Sie das so haben, dann können Sie sich den Lehrplan hernehmen und das macht dann halt auch Sinn, was da drin steht, weil Sie bereits sich aktiv und unabhängig vom Lehrplan, unbefangen von seiner Formulierung, damit beschäftigt haben. So, okay. Hier ist der gegenwärtige Lehrplan für NRW. Sie sehen schon 50 Seiten. Wie kann das sein? Ganz einfach, davon sind 45 Seiten irrelevant für Sie. Die müssen Sie zwar irgendwann mal lesen. Hoffentlich macht das Seminar das, aber letzten Endes, Sie interessieren die Inhalte. Das ist hier alles blablabla. So und da kommen wir zur ersten Situation.