Ein Blick in die Lehre
Generative KI
Dr. rer. nat. Benedikt Zönnchen
Wie können KI-basierte Chatbots Studierende beim Erwerb der Programmier- und algorithmischen Denkfähigkeiten effektiv unterstützen, ohne die notwendigen Lernerfahrungen zu beeinträchtigen oder zu ersetzen?
Benedikt Zönnchen: Derzeit beschäftige ich mich mit der Frage, wie sich Generative KI auf das Lernen und Lehren von Programmierung und Computational Thinking (algorithmisches Denken) auswirkt. Gemeinsam mit unseren Lehrenden erforschen wir, wie KI-Werkzeuge behutsam und effektiv in Grundlagenveranstaltungen integriert werden können.
Die aktuellen KI- Werkzeuge, wie ChatGPT, Gemini oder Claude, lösen Programmieraufgaben aus Einsteigerkursen scheinbar mühelos. Ergänzend gibt es spezialisierte Sprachmodelle wie GitHub Copilot, die sich nahtlos in gängige Entwicklungsumgebungen integrieren lassen und in der Industrie bereits zu deutlichen Produktivitätsgewinnen führen. Doch wie sich die Programmierpraxis langfristig verändert, bleibt ungewiss. Manche sprechen bereits vom "Ende der Programmierung", doch wir sind überzeugt: Die Denkweise und Tätigkeit des Programmierens bleiben essenziell.
Programmieren ist mehr als nur Code schreiben. Wer eine Lösung bereits kennt, für den wird das Implementieren zu einer Formsache – einem Prozess der „Beschleunigung“. In diesem Modus helfen Sprachmodelle dabei, schneller ans Ziel zu gelangen. Doch selbst hier muss der generierte Code überprüft werden, um sicherzustellen, dass er der mentalen Lösung entspricht.
Chatbots können effektiv zur Kommunikation eingesetzt werden, doch bedarf es der Intelligenz der Anwender:innen, um Reparaturen in der Kommunikation zu realisieren. Nehmen wir die einfache Aussage:
„Ich habe eine Violine auf eine Flasche fallen lassen, sie ist zerbrochen.“
Dieser Satz ist uneindeutig. Ist die Violine oder die Flasche zerbrochen? ChatGPT führt den Text bei meiner Eingabe fort, als ob die Violine zerbrochen wäre. Das mögliche Missverständnis entsteht bei den Anwenderinnen und Anwendern, die dann eine Reparatur einfügen müssen.
„Sie ist komplett zersprungen. Das Glas liegt überall am Boden.“
Diese Reparatur war, in meinem Test, noch nicht ausreichend. Erst durch
„Nein, ich meinte, dass das Glas zerbrochen ist!“
wird die Kommunikation wieder in die richtigen Bahnen gelenkt. Man beachte, dass derartige Reparaturen keine Korrekturen sind. ChatGPT macht in diesem Beispiel keinen Fehler, sondern generiert die wohl wahrscheinlichste Fortsetzung. Ähnlich könnte ein Dialog zwischen zwei Menschen ablaufen, jedoch würden wir Missverständnisse erkennen, indem sich unser Verständnis nicht mehr mit dem Ablauf der Kommunikation deckt – Verständnis als Abwesenheit von (relevanten) Missverständnissen. Solche Missverständnisse sind vermutlich seltener beim Programmieren anzutreffen, da der Formalismus der Informatik uns die Mehrdeutigkeit einigermaßen vom Leib hält. Doch verlassen wir den Formalismus eben genau dann, wenn wir mit Chatbots in natürlicher Sprache kommunizieren.
Befinde ich mich beim Programmieren im Modus der "Exploration", also der Suche nach einem Lösungsansatz, kann ich gemeinsam mit dem Chatbot auf diese Suche gehen. Dabei sollte ich allerdings berücksichtigen, dass diese Werkzeuge, ohne zu verstehen effektiv funktionieren. Eine solche Exploration ist nur dann effektiv, wenn ich die Pfade, auf denen ich wandere, bewerten und gegeben Falls Reparaturen als auch Korrekturen anrege kann. Ansonsten verlaufe ich mich und werde dadurch sehr viel Zeit und Ressourcen verschwenden oder fehlerhafte Lösungen erarbeiten. In beiden Modi müssen die Anwender:innen verstehen, um Chatbots mit dieser, ihnen (noch) fehlenden Eigenschaft, zu versorgen.
Wir stehen somit in der Lehre vor einer großen Herausforderung. Zum einen gibt es KI-Werkzeuge, die laut unserer Studie von den allermeisten Studierenden bereits genutzt werden und die auch in ihrem späteren Berufsalltag beim Programmieren zum Einsatz kommen werden. Diese Werkzeuge können binnen kürzester Zeit Lösungen für die Aufgaben der Veranstaltung liefern. Gleichzeitig erfordert jedoch die effektive Nutzung beim Lösen komplexer Probleme weiterhin die Kompetenz des algorithmischen Denkens in der jeweiligen Programmiersprache. Diese Kompetenz wurde bisher von Studierenden informatiknaher Disziplinen auf die eine oder andere Weise erworben. Nun stellt sich die Frage, wie Studierende in einer derart veränderten Lernumgebung diese Fähigkeiten effektiv entwickeln können. Wie schaffen sie den Schritt vom Einfachen zum Schweren, wenn es ihnen allzu leicht fällt, den notwendigen Lernaufwand, inklusive der damit verbundenen Mühen und Reibungen, zu umgehen, ob bewusst oder unbewusst?
Unser Ansatz ist ein offensiver und aufgeklärter Umgang mit KI. Wir glauben, dass KI-Werkzeuge Lernerfahrungen verbessern können. So gibt es beispielsweise Studien, die nahelegen, dass Studierende von KI-generierten Codeerklärungen häufig besser profitieren als von Erklärungen aus vielen anderen Quellen. Wie erwähnt, besteht ein breiter Konsens darüber, dass generative KI in der Softwareentwicklung bereits jetzt oder in naher Zukunft zu einem signifikanten Produktivitätsfaktor wird. Uneinigkeit herrscht allerdings darüber, wie sich diese Werkzeuge auf den Lernfortschritt auswirken. Hierzu existieren widersprüchliche Forschungsergebnisse. Dabei müssen wir berücksichtigen, dass die meisten Beurteilungen von Personen stammen, die selbst nach der „alten“ Methode Programmieren gelernt haben - und dazu gehören auch alle unsere Lehrenden. Die „Generation ChatGPT“ ist erst geboren.
In diesem Semester haben wir uns dafür entschieden, den von der Harvard University entwickelten Chatbot „CS50 Duck“ (https://cs50.ai/chat) einzusetzen. Dieser nutzt ein GPT-Modell, wurde jedoch durch Fine-Tuning, passender Prompts, Filter und einer Wissensdatenbank speziell auf die Vermittlung von Programmierkompetenzen zugeschnitten. Der Duck vermeidet es, fertige Code-Lösungen auszugeben. Er soll vielmehr als mentorartige Begleitung fungieren. Ob der Duck tatsächlich besser zum Lernen geeignet ist und ob Studierende ihn überhaupt verwenden, wollten wir untersuchen.
Unsere Studie zeigt, dass Studierende grundsätzlich verstehen, wie Sprachmodelle funktionieren, nämlich als statistische Modelle, deren Antworten auf Trainingsdaten beruhen. Besonders schätzen sie die unendliche Geduld und die wertfreien Rückmeldungen der Sprachmodelle (einschließlich des Ducks). Die meisten Studierenden bewerten den Duck insgesamt als ein hilfreiches Lernwerkzeug. Die Ansichten darüber, wie der Duck und andere Sprachmodelle in der Veranstaltung eingesetzt werden sollten, sind dabei reflektiert. Viele Studierende befürworten ein Verbot solcher Werkzeuge in Prüfungen. Die Mehrheit glaubt jedoch, dass Werkzeuge basierend auf generative KI künftig Hilfestellungen in ähnlicher Qualität wie menschliche Lehrende liefern können. Den Studierenden ist auch bewusst, welche hohe Bedeutung diese Werkzeuge für ihre zukünftige Karriere haben werden.
Neben einer Umfrage haben wir uns ergänzend einige wenige Chatverläufe der Studierenden zu einer spezifischen Aufgabe angesehen. Diese zeigen im Wesentlichen die oben genannte Problematik, dass man sich beim Lösen von Aufgaben verlaufen kann. Studierende, die die richtigen Fragen stellen, kommen (gemessen an der Anzahl der Interaktionen) schnell voran. Wer hingegen nicht erkennt, sich auf dem Holzweg zu befinden, verliert sich im Dialog. Aufgrund der geringen Stichprobe sind diese Ergebnisse jedoch mit Vorsicht zu interpretieren. Solche Chatverläufe könnten aber wertvolle Hinweise auf den individuellen Lernfortschritt liefern. Denkbar ist, dass eine (automatisierte) Auswertung dieser Verläufe zur Individualisierung des Lernens beitragen kann, ohne den Aufwand für die Lehrenden massiv zu erhöhen.
Ob der CS50 Duck tatsächlich die bessere Alternative zu anderen Chatbots ist, können wir abschließend nicht eindeutig sagen. Es ist ohnehin unvermeidbar, dass Studierende jedwedes Angebot nutzen. Obwohl der CS50 Duck kaum Quellcode erzeugt, erscheint er mir noch nicht ausgereift genug. Zu häufig verlässt er den sokratischen Dialog und nimmt den Lernenden dadurch das algorithmische Denken ab. Ein einfaches Beispiel: Fordert man den Duck auf,
„ein Python-Programm zur Berechnung aller Primzahlen kleiner als n zu schreiben“,
erhält man folgende Antwort:
„Um alle Primzahlen kleiner als eine gegebene Zahl (n) zu berechnen, können Sie den Algorithmus des Siebes von Eratosthenes verwenden. Hier ist eine allgemeine Idee, wie er funktioniert:
1. Erstellen Sie eine Liste von booleschen Werten, die alle auf True gesetzt sind und anzeigen, ob jede Zahl eine Primzahl ist.
2. Beginnen Sie mit der ersten Primzahl (2) und markieren Sie alle Vielfachen dieser Zahl als nicht prime.
3. Gehen Sie zur nächsten Zahl, die noch als prim markiert ist, und wiederholen Sie den Vorgang.
4. Fahren Sie fort, bis Sie alle Zahlen bis zur Quadratwurzel von (n) verarbeitet haben.
Können Sie versuchen, diesen Algorithmus in Python zu implementieren? Wenn Sie auf Probleme stoßen, können Sie Ihren Code gerne teilen, und wir können ihn gemeinsam durchgehen!“
Diese Lösung unterscheidet sich von der eines „mächtigeren“ Chatbots wie ChatGPT nur in ihrer Art der Darstellung. Sinnvoller wären hingegen gezielte Rückfragen, die an den vorhandenen Wissens- und Fähigkeitsstand der Studierenden anknüpfen und sie so, Schritt für Schritt und ohne große Sprünge, an die Grenzen ihres aktuellen Könnens heranführen. Als Studierende:r könnte ich mich an dieser Stelle fragen, weshalb dieser Ansatz funktioniert und durch weitere Nachfragen mein Verständnis vertiefen. Alternativ kann ich den Vorschlag ohne weitere Reflexion übernehmen und lerne dabei eventuell nur die Übersetzung der Darstellung in Python-Code - genau jene Fähigkeit, die mir Sprachmodelle normalerweise abnehmen.
2. Welche Chancen und Risiken ergeben sich durch den Einsatz KI-basierter Chatbots im Programmierunterricht, insbesondere im Hinblick auf die Förderung oder mögliche Verstärkung von Ungleichheiten?
Benedikt Zönnchen: Richtig eingesetzt und von kompetenten Nutzerinnen und Nutzern verwendet, können Sprachmodelle den Lernprozess beschleunigen. Doch wenden alle sie immer auf sinnvolle Weise an? Was passiert, wenn die Abgabefrist drängt, der Stundenplan überfüllt ist, die Geduld schwindet oder die Frustration und Angst steigen, während die Lösung nur einen Klick entfernt ist? Erste Tendenzen deuten darauf hin, dass Studierende mit bereits ausgeprägten Kompetenzen vom Einsatz der Chatbots stärker profitieren. Dadurch könnte sich die Kluft zwischen ihnen und jenen, die Schwierigkeiten beim eigenständigen Lernen haben, weiter vergrößern. Diese mögliche Verstärkung von Ungleichheit müssen wir berücksichtigen - auch dann, wenn Studien möglicherweise zeigen, dass sich der durchschnittliche Lernerfolg insgesamt verbessert hat. Die Streuung der Lernergebnisse müssen wir im Blick behalten und umfassende Aufklärungsarbeit leisten. „Lernen zu lernen“ wird in dieser neuen Umgebung noch bedeutsamer werden.
Dr. rer. nat. Benedikt Zönnchen ist wissenschaftlicher Mitarbeiter / Leitung Forschung am Munich Center for Digital Sciences and AI (MUC.DAI). Sein Lehrgebiet und Forschungsinteresse umfasst Generative KI, Angewandtes Maschinelles Lernen, Nachhaltigkeit und KI, KI in Kultur und Kunst, Computational Thinking, Künstliche Intelligenz.