in der Fachdidaktik Informatik
Teil 5: KI
A. Pasternak: Ich geh mal jetzt einen ganz großen Sprung. Wir haben ja viele Hypes in der Informatik gehabt. Also ich kann mich erinnern, so in den 80er Jahren war man dran: Wenn wir Informatik betreiben wollen, dann auch mit dem, wie sie wirkt. Mal gucken, was passiert da im Büro, in der Arbeitswelt, was passiert da bei Simulationen und was passiert im Betrieb, also Robotik in irgendeiner Weise. Dann gab es die Mediengeschichte, die hier war, dann gab es die Netze.
Und wir haben jetzt eine neue Sau, die durchs Land getrieben wird: Die KI! Und die Frage erstmal, vor allem mit der KI, die soll auch in der Sek I behandelt werden, steht auch in Lehrplänen drin. Da fragt sich natürlich jemand erst mal, wenn man sieht, KI in der Sekundarstufe 1: Ist das nicht wie komplexe Zahlen in der Sekundarstufe 1?
J. Magenheim: Für mich war es ein Déjà-vu. Als Informatiklehrer in der Oberstufe mit dem Leistungskurs habe ich neuronale Netze programmiert. Natürlich sequentiell Bayes'sche Netze mit Import-Layer, Zwischenlayer und Output-Layer. Wir haben das programmiert. Und die Schüler fanden das so ganz interessant, weil man damit nämlich ein Muster erkennen konnte. Du konntest nämlich sehen, dass man bestimmte Muster erkennen konnte. Auch unvollständige Informationen konntest du verarbeiten. Okay, das ist jetzt der Ansatzpunkt. Und wenn ich jetzt da mal anfange, das war 1996, oder?
A. Pasternak: Da war es gerade aktuell.
J. Magenheim: Da war man halt. Man ist total abgestürzt: Kann man nicht gebrauchen. Und jetzt sind wir aber genau da wieder angelangt. Und jetzt ist die Frage, ich frage jetzt auch mal so unter didaktischen, bildungstheoretischen Gesichtspunkten, müssen wir überhaupt noch programmieren lernen?
A. Pasternak: Das steckt dahinter.
J. Magenheim: Und wenn wir das vermitteln, so wie Daten und Informationen verarbeitet werden: Auf welche Konzepte müssen wir eingehen? Da will ich noch mal ein anderes Beispiel aus meiner aktuellen Umgebung erzählen. Ich bin im Augenblick so ein bisschen noch unterwegs als Berater bei der Vernetzung von Smart Homes. Und da kannst du also mit OpenAI, mit ChatGPT 4.0 jetzt auch wunderbar schon ein Skriptprogramm zur Steuerung von Heizungen - was auch immer - schreiben lassen. Du beschreibst es natürlich präzise, was du haben willst. Und du bekommst einen Sourcecode, der ist sehr gut dokumentiert. Im Gegensatz zu dem, was du von den Studies bekommst.
A. Pasternak: Ich weiß es. Ich habe es auch schon probiert.
J. Magenheim: Und du hast einen Fehler drin. Du musst gucken, das ist nicht vollständig. Du musst die Variablen teilweise anpassen. Teilweise sind sie auch sehr generisch. Du musst es also spezifizieren. Aber du hast da unheimlich viel Arbeit gespart.
Und wenn ich an manche Pascal-Codes - jetzt springe ich wieder zurück in die 90er-Jahre - denke, wo ich Kurse gesehen habe, wo die Schüler mit Pascal mit gotoxy-Befehlen erstmal ihre Masken programmiert haben. 'So what', was ist das? Was hat das für eine Bedeutung? Was ist denn der Bildungsauftrag?
A. Pasternak: Aber du hast ja selber gerade gesagt, du musst diese Skripte anpassen. Da sind wir jetzt noch nicht bei der Sek I, sondern bei dem, was die KI jetzt kann. Aber das habe ich auch schon gehabt. Zum Beispiel habe ich Skripte von der KI machen lassen. Manchmal klappt das auch sehr gut. Manchmal klappt das weniger gut. Und wenn es nicht gut klappt, ist mir aufgefallen: Ich konnte dann im Prinzip auch relativ gut was machen, wenn ich diese Sprache auch beherrsche. Wenn ich ein Skript hatte in einer Sprache, die ich kaum kannte, und hatte einen Fehler drin, dann war das also unheimlich zeitaufwändig. Dann musste ich mich eigentlich wieder in die Teile der Sprache einarbeiten, die die KI gerade vermurkst hatte.
J. Magenheim: Da sind wir jetzt eigentlich an zwei entscheidenden Fragestellungen. Du hast wahrscheinlich die gleichen, wie ich vermute: Nämlich erstens: Wie viel Programmiersprachen oder Kontrollstrukturen müssen wir noch erlernen, damit wir später in der Lage sind, genau das zu tun, was wir gerade beschrieben haben: Nämlich so ein Produkt, das so ein System automatisiert erzeugt, zu kontrollieren, zu adaptieren und so zu implementieren, dass es fehlerfrei läuft, das tut, was es tun soll.
Und wenn ich also diesen Background mit Skriptsprachen zum Beispiel, auch objektorientierte Programmierung oder JavaScript oder Java nicht gehabt hätte, dann hätte ich da schon auf einem verlorenen Posten gestanden.
Also wäre die Botschaft: Wir müssen, wenn wir programmieren lernen, Grundkonzepte von Programmierung erlernen, nicht jetzt irgendwie jede Programmiersprache bis ins Detail, da haben wir Handbücher für. Nicht alle Einzelheiten wegen einer Sprache lernen, sondern lernen, um Sprachkonzepte zu verstehen, die man auch unter Umständen in andere Sprachen transferieren kann, um solche automatisch generierten Codes noch zu kontrollieren und zu verstehen.
A. Pasternak: Genau, und da stimmst Du mit mir überein, dass das nicht einfach ist.
J. Magenheim: Das ist schwierig, weil du musst dich trotzdem noch anstrengen. Du musst Elemente dieser Sprache erlernen, sonst zündet es nicht.
A. Pasternak: Genau, um Elemente einer anderen Sprache zu erlernen, ist nur dann möglich, wenn ich vergleichbare Elemente in anderen Sprachen eigentlich kenne. Dann kommen wir im Endeffekt nicht ohne aus, auch in der Schule, dann natürlich als Basisausbildung: Programmieren so weit vom Konzeptionellen her zu unterrichten, dass jemand im späteren Leben die Chance hat, solche Systeme zu dekonstruieren und sie anzupassen, damit er sie nutzen kann.
J. Magenheim: Ja, und ich denke mal, das ist die zweite Frage: Brauchen wir noch ein zweites Sprachparadigma. Gerade bei solchen Aufgabenstellungen! Also müssen wir noch ein funktionales Paradigma oder prädikatives mit reinbringen. Ja, werden wir das brauchen? Ich meine, ich könnte natürlich auch dem System sagen, schreibe mir eine Steuerung für die Lichtanlage in Prolog, oder was auch immer. Aber ich würde es ja nicht tun, wenn ich da nicht so fit wäre. Ich werde ich eine Sprache nehmen, die ich dann einfach verstehe. Also was ist mit den Sprachkonzepten, die wir mit den Sprachen vermitteln wollen mit dem Hinblick auf die Curricula, die wir entwickeln in der Oberstufe. Da müssen wir nochmal nachdenken.
A. Pasternak: Ich sage mal ganz ehrlich, auch wenn es manchmal in Lehrpläne noch drinsteht: Eigentlich habe ich mich auf eine Sprache zurückgezogen. Und Ideen manchmal in diese Sprache reingebracht, auch wenn ich die normalerweise nicht so sehr mit dieser Sprache mache. Weil ich glaube, dass ich es als eine Überforderung von Schule empfinde, so viele Paradigmen zu bringen, wir sind nicht das kurz gefasste Studium in der Schule, sondern wir sind Schule und haben eine allgemeinbildende Funktion. Auch was Programmieren angeht.
J. Magenheim: Jetzt kommt eine zweite Sache dazu: Weil solche Tools wie ChatGPT nicht nur in der Informatik, sondern vor allem in allen anderen Fächern immer mehr eine große Rolle spielen, und die Lehrer große Schwierigkeiten haben, zu erkennen: Ist das jetzt nun automatisiert erzeugt worden, was die Schüler mir da vorlegen? Oder: Verstehen wir das auch? Gibt es Mechanismen, das zu kontrollieren. Das ist jetzt nicht das Thema. Aber wir haben immer den Anspruch gehabt für den Informatikunterricht, dass wir digitale Medien, auch die, die in anderen Unterrichtsfächern eingesetzt werden, bis zum gewissen Grad im Hinblick auf ihre informatischen Konzepte, die ihnen zu Grunde liegen, dass wir die erklären wollen.
Und da ist man an der Frage: Wie weit müssen wir Konzepte des Maschinenlernens, des Deep-Learnings und der Speicherung von Informationen in Graphen - das ist es ja letzten Endes - vermitteln. Und die Mathematik, die dahinter steckt, ist nichts für Schüler. Also ich mich da jetzt mal wieder mit beschäftigt, weil ich das vor zig Jahren gemacht habe und habe gemerkt, okay, ..
A. Pasternak: ... Da habe ich nämlich genau eine Frage. Also erst mal generell, das ist ja Sache, einmal KI, das was wir diskutieren, könnte man theoretisch vielleicht vom Inhalt her innerhalb der Sek II ankoppeln. Aber nun ist KI ja auch in der Sek I gelangt, auch in den Lehrplänen. Und deswegen habe ich das mit den komplexen Zahlen so gerade erzählt. Gestern war ich in Wuppertal auf einem Workshop und da war auch eine Arbeit von der DDI-Gruppe in Wuppertal. Und wir haben dann auch eine Arbeitsgruppe zu KI gehabt für Large Language Models. Und dann hat da eine Kollegin dem vorgestanden, die auch da rumbastelt und die hat dann mal versucht, dass was dahinter steckt, auch für Schüler in einer - ich sage jetzt mal - simplen KI, so hat sie es - glaube ich - auch bezeichnet.
Und zwar: Die Idee mit der simplen KI war: Ich gebe jetzt als Eingabe Worte oder Sequenzen, Satzsequenzen und gebe dann vor, welche Folgeworte eigentlich existieren. Eventuell auch mit der Wahrscheinlichkeit. Und wenn ich dann eine bestimmte Menge habe, dann kann ich dann eventuell was mit einer Eingabe machen: Einen Satz. Und der macht da mal wegen einen anderen Text raus, weil er eben diese - eigentlich ja Regeln - hat. Es ist eher ein regelbasiertes System als ein KI-System. Aber ihr Ziel war jetzt, hat sie jetzt gesagt, dass sie mit diesem System den Schülern vermitteln kann, dass ein solches System tatsächlich nicht logisch und nicht inhaltlich arbeitet, sondern tatsächlich nur mit irgendwelchen Eingaben arbeitet, woher die auch kommen mögen. Und das Ergebnis daher in gewisser Weise ein Zufallsprodukt ist. Es ist zwar sicherlich gewollt oder gut gewollt, aber ist dieses System nicht so weit weg - gerade mit den Sachen, die du da erzählt hat - von der Realität, dass man da nicht sagen kann, das ist im Endeffekt noch wirklich hilfreich, sondern vielleicht sogar verwirrend.
J. Magenheim: Ja, ich meine, wenn du das sagst, die Wahrscheinlichkeit, das auf einen Wort jetzt das nächste folgt, aufgrund der Analyse von Sprache, da bist du ja auf der sementischen Ebene. Da wird ja praktisch Semantik genutzt aus der Sprache, in der Bedeutung von Worten, die aufeinander folgen. Das System arbeitet ja ganz anders, es arbeitet nur mit Bitmustern. Also mit Bitmustern, die aufgrund von Abfolgen praktisch in Clustern aufeinander mit gewissen Wahrscheinlichkeiten zugeordnet werden. Also das ist ja noch viel abstrakter und irrer.
A. Pasternak: Da führt mich zur nächsten Frage: Ist dann deswegen eventuell ein solches System - was gut gemeint ist von der Idee her - nicht tatsächlich eventuell destruktiv, weil ich eigentlich eine falsche Vorstellung bei den Schülern suggeriere, weil ich glaube, nichts anderes als Erklärungsmuster in der Sek 1 bringen zu können.
J. Magenheim: Das ist eine schwierige Frage, ich habe da keine Erfahrung, auch keine Unterrichtserfahrung, ich rede jetzt praktisch aus dem Bauch. Ja, wir haben mit Kollegen von der IFIP vom King's College, Mary Webb und mit einem Kollegen aus Australien mal einen Artikel verfasst, den wir bei einer Konferenz in Kanada in Quebec entworfen hatten. Darin ging es um AI in Schule, aber da haben wir nur gesagt: Wir müssen versuchen, diese verschiedenen Konzepte, die dahinter stecken, anzusprechen. Also auch die Algorithmen, die bei der Bilderkennung sind, die andere sind zum Beispiel als bei der Mustererkennung bei Texten. Das ist schon sehr, sehr schwer. Ich weiß nicht, da bin ich wirklich auch im Augenblick ein bisschen überfragt, Antworten zu geben, weil ich denke, wir kommen da in Bereiche von Komplexität, die man in der Schule nicht wirklich erklären kann.
Ich will aber zurückkommen. Da haben wir uns eigentlich jetzt schon letzten Endes davon verabschiedet, alles erklären zu wollen. Als wir den 8086 hatten, den IBM-Prozessor, da konnte man ganz gut Assembler machen, weil du die Maschine noch relativ gut verstanden hast, die verschiedenen Layer. Du konntest die einzelnen Adressen ansprechen und alle Interrupts, das wussten wir alles noch. (Das weiß keiner mehr, von was wir hier reden, aber egal.) Aber wenn du jetzt die neuen Prozessoren dir anschaust, wie die miteinander verschaltet sind, dass du auch ganze Cluster hast. Da kommst du mit Assembler! Das ist aus. Wir wissen definitiv auf der Ebene nicht mehr, was da abgeht. Wir fragen uns auch: Müssen wir es überhaupt noch wissen.
Wir wissen vom Grundkonzept, was funktioniert. Und wenn es überhaupt nicht funktionieren würde, dann könnte man das Ding vielleicht aufschrauben und nachgucken im Detail. Wir könnten es auch technisch dekonstruktieren.
A. Pasternak: Das haben wir damals schon in achtziger Jahren gemacht. Ich mit meinem Simulator: Da hab ich gesagt, ich will keinen realen Prozessor untersuchen, weil der schon eigentlich zu komplex war bezogen auf das Von-Neumann-Konzept, sodass wir Simulatoren geschrieben haben mit ihren Mikroprogrammen und Makroprogrammen.
J. Magenheim: Aber vielleicht ist das schon die Antwort auf Deine Frage, dass wir wirklich sagen müssen - wie bei Ira Diethelm und ihrer didaktischen Reduktion - , dass wir wirklich so stark reduzieren, dass wir das Grundkonzept noch erklären können, ohne, obwohl wissend, dass es technisch vollkommen anders abläuft.
A. Pasternak: Aber das bei dem Beispiel, was ich gerade genannt habe, fand ich, dass das eben nicht so eine Vereinfachung, Reduzierung war. Sondern, dass es im Prinzip dann eine ganz andere Maschine war - wenn überhaupt nur eine regelbasierte Maschine ist - die mit den heutigen Large Language Models überhaupt nichts zu tun hat. Und das ist dann nicht gut, sage ich jetzt mal. Da können falsche Vorstellungen vermittelt werden.
Aber vielleicht die generelle Frage, du hast sie vorhin schon angeschnitten. Das, was wir heute unter KI verstehen, fass ich mal zusammen, ist datengetriebene Algorithmik. Irgendwo haben wir Daten, aus denen, ...
J. Magenheim: ... Data Science Education wäre noch eine ganz andere Frage.
A. Pasternak: ... genau, und wir haben bisher in der Informatik weitgehend Konzepte unterrichtet, dass ich - also, ich sage mal - nicht datengetriebene Algorithmik, sondern die normale Algorithmik gab, die also im Prinzip aus Eingabedaten irgendwelche Schlussfolgerungen zieht, die wir in dem Programm verankert haben.
Frage jetzt, ist es überhaupt möglich, diese Relevanz und die Bedeutung von dieser datengetriebene Algorithmik im Verhältnis zu einer normalen Algorithmik, kann ich die verstehen, ohne überhaupt die normale Algorithmik gekannt zu haben und sie verstanden zu haben?
J. Magenheim: Schwierige Frage, also man kann natürlich, wenn man die datengetriebenen Algorithmen sich anschaut und auch Unterrichtskonzepte, die darauf basieren, so auf die Bias verweisen, die entstehen, wenn man falsche Daten benutzt. Dass du nämlich zu Schlussfolgerungen kommst aufgrund von sehr schlechten Daten, auf denen das System basiert, die dann falsch sind.
Also man kann da zum Beispiel - es gibt ja Analyse-Tools, wo du die Datensätze selbst analysieren kannst - z.B. Umwelt-Daten, zu Gewässer-Qualität und so weiter, und kannst dann zu Rückschlüssen kommen. Du kannst wieder Statistiken anzeigen lassen, die aber teilweise falsch sind, weil die Daten, auf die man aufgebaut hat, nicht in Ordnung sind. Wenn Leute befragt werden, und du fragst weiße Männer aus der Mittelschicht, dann kriegst du ein Ergebnis raus, was aber möglicherweise deiner Fragestellung überhaupt nicht angemessen ist, weil du nämlich die falschen Datensetzungen...
A. Pasternak: ... Hat das was mit datengetriebenen Algorithmen zu tun? Der Funktionsweise von datengetriebener Algorithmik?
J. Magenheim: Also wir haben jetzt bei diesen Big-Data-Geschichten, wo wir wirklich Massen von Daten auswerten, um Schlussfolgerungen für bestimmte Fragestellungen im sozialen Bereich naturwissenschaftlich zu ziehen. Da haben wir das Problem, dass wir uns sehr viel stärker über die Qualität von eingegebenen Daten befassen müssen?
A. Pasternak: Aber die habe ich doch schon, wenn ich Datenbanken betrachte. Wenn ich jetzt mit einer klassischen Datenbank riesige Datenmengen betrachte und mit der Abfrage-Technik durchwühle, komme ich genauso zu Fehlschlüssen. Wenn die Daten in der drin sind, das hat ja nichts mit KI zu tun.
J. Magenheim: Aber jetzt hast du praktisch im Prinzip, wenn du deine Datenbanken selbst aufgebaut hast - also früher -, wenn ich an Schulunterricht denke: Da gab es aber die klassische Bibliotheksprogramme: 'Wir automatisieren unsere Bibliothek', da gibst du Autor, Erscheinungsjahr, Titel, und noch, jetzt frag mich ... Da hast du vielleicht einen Tippfehler drin gehabt. Das war ja so eine beschauliche Datensammlung, da konnte nicht viel passieren. Jetzt reden wir ja mit Datenstrukturen, die unvollständig sind, wir müssen also mit unvollständiger Information umgehen, wir müssen ja Clearance machen, das heißt, wir müssen die bereinigen, wir müssen die vergleichbar machen, da sind ja Prozesse am Laufen, die es vorher gar nicht gab.
A. Pasternak: Aber kann ich denn das verstehen, ohne das andere verstanden zu haben? Wenn du das Problem darstellst, dann wissen wir das, weil wir wissen, wie das andere war. Und wie wir das andere technisch, also mit informatischen Dingen wie Programmen bearbeitet haben. Und wenn ich das jetzt gar nicht weiß, wie ich das bisherige machen kann, kann ich überhaupt ein Problembewusstsein dafür bekommen für die neuen Probleme, die da auftauchen, wenn ich eine neue Metaebene einziehe und sage, wir gucken uns mal an, der Lehrer sagt: Das ist Mist, und ich sage, das ist schon Mist.
J. Magenheim: Bei solchen Dingen - vor allem beim Einsatz in anderen Fächern - hast du ja oft solche statistischen Parameter nie berechnet. Du hast den Median, du hast die Streubreite, du hast möglicherweise die Standardabweichung und solche Sachen, die berechnet werden. Und du hast dann die Häufigkeitsverteilungen und möglicherweise hast du auch noch, wenn du das komplexer machen willst, Faktoren- und Regressionsanalysen, das ist dann schon nicht mehr Sek I, das ist dann schon Sek II. Aber das sind jetzt Algorithmen, die sind bekannt, und die kannst du programmieren. Das sind sogar mathematische Algorithmen. Wie die funktionieren, das hängt sehr stark mit der Wahrscheinlichkeitstheorie zusammen, dazu musst du dann analytische Statistik betreiben.
Gut, da musst du halt wissen, wie du einen Algorithmus schreibst, der genau sowas macht, der muss in der Lage sein, möglicherweise mit Rekursion und all den klassischen Kontrollstrukturen, die wir ja schon behandelt haben. Was wir jetzt haben bei Big Data, da kommt ja noch ein Problem dazu, dass du nämlich jetzt wirklich unsaubere, unvollständige Daten aus ganz unterschiedlichen Bereichen in großen Massen hast.
Du hast nicht mehr so den Überblick wie in der Datenbank. Selbst wenn du eine medizinische Datenbank hast und willst daraus jetzt zum Beispiel Diagnosen herleiten, dann kannst du da darauf vertrauen, dass die Mediziner, die das eingegeben haben, halbwegs vernünftig gearbeitet haben, und dass da höchstens ein paar Fehleingaben drin sind. Aber bei diesen anderen Daten, die können ja derart unsauber und verzerrt sein und im Hinblick auf deine Fragestellung so daneben liegen, weil du da einen Bias reinbekommst. Das hat ja mit der Algorithmik gar nichts mehr direkt zu tun. Sondern das ist das - das ist Basic -, das brauchst du sowieso, und das kommt noch unten auf das Feld.