1.4.3. Einsatz von KI#

Warum sollte ich eine Programmiersprache lernen? ChatGPT erzeugt doch super Programme. Und es gibt sogar Entwicklungsumgebungen mit LLM – dann spare ich mir das Hin‑ und Herkopieren. Also wozu diese Vorlesung?

1.4.3.1. Aus Erfahrung#

KI kann beim Programmieren extrem hilfreich sein.

  • Oft (70%) liefert KI schnell sinnvolle Code‑Bausteine, die direkt helfen.

  • Manchmal (30%) wirken Lösungen korrekt, sind aber nicht stabil, nicht robust oder passen nicht zum Gesamtsystem.

Das passiert meist aus drei Gründen:

  • Randbedingungen fehlen oder sind unklar, und die KI kennt sie nicht automatisch.

  • Vorgaben werden wörtlich umgesetzt, auch wenn sie fachlich unklug sind.

  • Integration und Verantwortung bleiben bei Ihnen, inklusive Tests, Schnittstellen und Sicherheitsanforderungen.

Zwei kurze Beispiele aus der Metapher.

  • Wenn Sie noch nie in UK gefahren sind, denken Sie vielleicht nicht daran zu sagen, dass das Auto als Rechtslenker ausgelegt sein muss.

  • Wenn Sie für ein Gangschalt‑Auto „nur einen Gang“ spezifizieren, kann das formal umsetzbar sein, aber praktisch keinen Sinn ergeben.

Der entscheidende Punkt ist: In der Praxis werden Sie für die 30% der Fälle bezahlt, die nicht funktionieren! Die 70%, die funktionieren, kann jeder mit LLM-Zugang generieren.

Voraussetzung für den Einsatz von KI

  • Voraussetzung für sinnvolle KI-Nutzung ist Konzeptverständnis und ein systematisches Vorgehen.

  • Auch mit KI müssen Sie Syntax gut genug verstehen, um semantische Fehler erkennen zu können.

Deshalb: Nutzen Sie KI gerne, um Verständnis und Methodik aufzubauen.

1.4.3.2. KI als Lerncoach#

KI ist besonders hilfreich, wenn Sie sie als Sparringspartner für Ihre Methodik nutzen. Das Ziel ist, dass Sie selbst verstehen, was Sie bauen, und die KI Ihnen dabei hilft, die richtigen Fragen zu stellen.

../../_images/bestpractice.png

Abb. 1.19 Best Practice: KI als Lerncoach (Methodik unterstützen, nicht Verständnis ersetzen).#

Hinweis

Wenn Sie KI als Lerncoach nutzen, können Sie damit nachweislich Ihre Lernzeit verkürzen bei gleichbleibendem Lerneffekt (Bassner et al., 2025: https://doi.org/10.1016/j.caeai.2025.100537).

Die Aussage „Man muss Programmieren erst ohne KI lernen“ ist in dieser Allgemeinheit wissenschaftlich nicht haltbar.

Beispiel-Prompt (zum Kopieren):

Ich soll ein Python-Programm schreiben, das folgende Aufgabenstellung löst:

<AUFGABENSTELLUNG>

Bitte gib mir keinen fertigen Quelltext.
Hilf mir stattdessen schrittweise mit der Methodik:
- Welche Rückfragen muss ich an Anforderungen und Randbedingungen stellen?
- Welche Eingaben/Ausgaben hat das Programm (Datei, Konsole, API)?
- Welche Datenstrukturen passen, und welche Kontrollstruktur brauche ich?
- Welche Bibliotheken wären prinzipiell geeignet? Bitte nenne Beispiele, damit ich weiß, was es gibt (ohne dass du meinen Code dafür schreibst).
- Wie kann ich meine Lösung testen (kleine Testfälle, Kantenfälle)?

Optionaler Prompt, wenn Sie mit einer eigenen Lösung fertig sind („Build vs. Buy“-Check):

Ich habe eine funktionierende Lösung selbst implementiert, um das Konzept zu verstehen:

<KURZE BESCHREIBUNG MEINER LÖSUNG>

Bitte hilf mir zu entscheiden, ob man so etwas in der Praxis eher selbst baut oder bestehende Werkzeuge nutzt.
Gib mir keinen Code, sondern eine Entscheidungs-Checkliste:
- Welche etablierten Bibliotheken/Tools lösen diese Art von Problem typischerweise?
- Welche Vor- und Nachteile hätte „Buy“ (Library/Tool nutzen) vs. „Build“ (selbst implementieren) in Bezug auf Zeit, Wartung, Tests, Sicherheit und Abhängigkeiten?
- Welche Randbedingungen würden mich in Richtung „Build“ zwingen (z. B. keine neuen Abhängigkeiten, Offline, Security, Lernziel)?