Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Programmieren lernen mit KI¶
Hinweis zur Software-Auswahl:
Diese Dokumentation priorisiert Open-Source-Software, die unter Ubuntu installiert und betrieben werden kann.
Bei kommerziellen Services wird stets eine Open-Source-Alternative mit gleichem Funktionsumfang gegenübergestellt.
LLM-Modelle und APIs werden unabhängig vom Preis gelistet, da sie als primäre Lernbegleiter dienen.
Legende¶
| Symbol | Bedeutung |
|---|---|
| 🟩 | Open Source – kostenlos, lokal / Ubuntu-kompatibel |
| 💰 | Kostenpflichtig |
| 🤖 | LLM-Modell / API – bleibt immer gelistet |
| 🐧 | Linux / Ubuntu nativ |
| 🌐 | Nur Web-Browser |
Lernpfad-Übersicht¶
graph LR
A["🟢 Phase 1\nGrundlagen & Setup"] --> B["🟡 Phase 2\nEigene Skripte"]
B --> C["🔴 Phase 3\nProjekte & OOP"]
A --> A1["IDE-Setup & Python\nPrompting zum Lernen\nVariablen & Schleifen"]
B --> B1["Eigene Funktionen\nError Tracing mit KI\nCSV & Web-Scraping"]
C --> C1["Objektorientierung (OOP)\nCode-Refactoring\nWeb-App (Streamlit)\nLokaler IDE-Copilot"]
Inhaltsverzeichnis¶
- 🟢 Phase 1 – Die ersten Schritte & Grundlagen
- 🟡 Phase 2 – Eigene Skripte, Funktionen & Debugging
- 🔴 Phase 3 – Fortgeschrittene Konzepte & Web-Apps
- 📋 Praxisprojekte
- 📦 Vollständige Softwareübersicht & Vergleich
🟢 Phase 1 – Die ersten Schritte & Grundlagen¶
Was lerne ich hier?
Wie du KI gezielt als geduldigen Tutor nutzt, dein Programmier-Setup einrichtest und erste einfache Anweisungen in Python schreibst.
Voraussetzungen: Keine.
1.1 Konzept: Wie hilft die KI beim Programmieren lernen?¶
Der interaktive Lernkreislauf¶
Lass dir Code nicht einfach von der KI schreiben. Der Lerneffekt entsteht, wenn du den generierten Code hinterfragst und Schritt für Schritt verstehst:
graph TD
A["💡 Konzept nicht verstanden"] --> B["🤖 KI fragen: 'Erkläre X mit einer Analogie'"]
B --> C["💻 Selber ausprobieren (Code schreiben)"]
C --> D["🐛 Fehlermeldung erhalten"]
D --> E["🤖 KI fragen: 'Warum tritt dieser Fehler auf?'"]
E --> F["🔧 Fix anwenden & verstehen"]
- Vorteil: Ein persönlicher Lehrer, der 24/7 jede „dumme" Frage beantwortet.
- Gefahr: Blindes Copy-Paste blockiert den eigenen Lerneffekt. Code immer selbst eintippen!
1.2 Thema: Entwicklungsumgebung & Python-Setup¶
Konzept: Editor vs. Interpreter¶
- Interpreter (Python): Übersetzt deinen Python-Code in Maschinencode und führt ihn aus.
- Editor / IDE: Die Schreiboberfläche (z. B. Thonny oder VSCodium), die dir mit Syntax-Highlighting und Fehlererkennung hilft.
Software – Open Source zuerst:¶
| Software | Typ | Funktion | Ubuntu | Link |
|---|---|---|---|---|
| 🟩 Python 3 | Interpreter | Standard-Sprachlaufzeitumgebung | 🐧 Ja | python.org |
| 🟩 Thonny | IDE | Anfängerfreundliche IDE mit visuellem Variablen-Debugger | 🐧 Ja | thonny.org |
| 🟩 VSCodium | IDE | Open-Source-Alternative zu VS Code | 🐧 Ja | vscodium.com |
1.3 Thema: Prompt-Strategien für Code-Anfänger¶
Konzept: Der "Tutor-Prompt"¶
Zwinge die KI, dich anzuleiten, statt dir die Lösung direkt zu schenken:
Prompt: "Ich lerne gerade Python. Ich möchte eine Aufgabe zum Thema Schleifen lösen.
Gib mir eine einfache Übungsaufgabe.
Schreibe keinen Python-Code. Bewerte meine Lösung, sobald ich sie poste."
Software – Open Source / LLM:¶
| Software | Typ | Funktion | Ubuntu | Link |
|---|---|---|---|---|
| 🤖 ChatGPT | LLM Cloud | Schneller Einstieg, guter Allround-Erklärer | 🌐 Web | openai.com |
| 🤖 Claude | LLM Cloud | Sehr strukturiert und präzise bei Code-Erklärungen | 🌐 Web | claude.ai |
| 🟩 🤖 Ollama | LLM lokal | Komplett private Offline-Codeunterstützung (Llama3/Qwen) | 🐧 Ja | ollama.com |
1.4 Thema: Variablen, Datentypen und Kontrollstrukturen¶
Konzept: Variablen als Speicherboxen¶
Eine Variable speichert einen Wert. Der Datentyp legt fest, was man damit tun kann:
name = "Schrödinger" # String (Text)
alter = 42 # Integer (Ganzzahl)
preis = 19.99 # Float (Kommazahl)
ist_aktiv = True # Boolean (Wahrheitswert)
Konzept: Logische Verzweigungen (If/Else)¶
🟡 Phase 2 – Eigene Skripte, Funktionen & Debugging¶
Was lerne ich hier?
Wie du Code in Funktionen strukturierst, Fehlermeldungen analysierst und Daten aus CSV-Dateien und Webseiten verarbeitest.
Voraussetzungen: Phase 1 abgeschlossen.
2.1 Konzept: Das DRY-Prinzip und Modularisierung¶
DRY: Don't Repeat Yourself¶
Schreibe keinen Code doppelt. Wenn du ein Code-Stück mehr als einmal verwendest, packe es in eine Funktion oder ein separates Modul.
# ❌ Schlecht: Code-Duplizierung
print("Hallo Alex!")
print("Hallo Ben!")
# ✅ Gut: Wiederverwendbare Funktion
def begrueße(name):
print(f"Hallo {name}!")
begrueße("Alex")
begrueße("Ben")
2.2 Thema: Eigene Funktionen & Module schreiben¶
Konzept: Parameter und Rückgabewerte¶
Eine Funktion nimmt Eingaben (Parameter) entgegen, verarbeitet sie und gibt ein Ergebnis zurück (return).
2.3 Thema: Fehler verstehen und beheben (Debugging)¶
Konzept: Den Traceback lesen¶
Ein Traceback zeigt dir exakt, in welcher Zeile welcher Fehlertyp aufgetreten ist.
Traceback (most recent call last):
File "script.py", line 4, in <module>
ergebnis = 10 / 0
ZeroDivisionError: division by zero
Der Debugging-Prompt:
Prompt: "Warum tritt dieser Fehler in meinem Python-Code auf?
Traceback: [Fehlermeldung kopieren]
Mein Code: [Code kopieren]"
Software – Open Source zuerst:¶
| Software | Typ | Funktion | Ubuntu | Link |
|---|---|---|---|---|
| 🟩 Thonny Debugger | Tool | Klicke Schritt-für-Schritt durch den Code, um Variablen zu prüfen | 🐧 Ja | thonny.org |
| 🟩 pydocstyle | Linter | Prüft Code-Dokumentation | 🐧 Ja | github.com/PyCQA |
2.4 Thema: Dateiverarbeitung & einfaches Web-Scraping¶
Konzept: CSV einlesen und strukturieren¶
CSV (Comma Separated Values) ist das Standardformat für tabellarische Daten.
import csv
with open("daten.csv", mode="r") as file:
reader = csv.reader(file)
for zeile in reader:
print(zeile)
Software – alle Open Source:¶
| Software | Typ | Funktion | Ubuntu | Link |
|---|---|---|---|---|
| 🟩 BeautifulSoup4 | Python-Lib | Parsen von HTML-Seiten für Web-Scraping | 🐧 Ja | crummy.com |
| 🟩 Requests | Python-Lib | HTTP-Anfragen senden (Webseiten laden) | 🐧 Ja | requests.readthedocs.io |
🔴 Phase 3 – Fortgeschrittene Konzepte & Web-Apps¶
Was lerne ich hier?
Wie du Klassen und Objekte erstellst, Code professionell aufräumst und deine erste interaktive Web-App mit Streamlit veröffentlichst.
Voraussetzungen: Phase 1 & 2 abgeschlossen.
3.1 Konzept: Was ist Objektorientierung (OOP)?¶
Baupläne und Objekte¶
- Klasse: Der Bauplan (z. B. Bauplan für ein „Auto").
- Objekt / Instanz: Das konkrete Auto, das nach diesem Bauplan gebaut wurde (z. B. „Roter VW Golf").
class Auto:
def __init__(self, marke, farbe):
self.marke = marke
self.farbe = farbe
mein_auto = Auto("VW", "rot")
3.2 Thema: Code-Refactoring & Lesbarkeit¶
Konzept: Clean Code und PEP 8¶
PEP 8 ist der offizielle Style-Guide für Python-Code. Die KI kann deinen funktionierenden, aber unordentlichen Code in sauberen Code refaktorieren.
Refactoring-Prompt:
"Strukturiere diesen funktionierenden Code nach PEP 8 um.
Verbessere die Lesbarkeit und füge sinnvolle Kommentare hinzu."
Software – alle Open Source:¶
| Software | Typ | Funktion | Ubuntu | Link |
|---|---|---|---|---|
| 🟩 Ruff | Linter / Formatter | Extrem schneller Linter zur Einhaltung von PEP 8 | 🐧 Ja | github.com/astral-sh |
| 🟩 Black | Formatter | Automatische, kompromisslose Code-Formatierung | 🐧 Ja | github.com/psf/black |
3.3 Thema: Erste Web-Anwendungen bauen (Streamlit)¶
Konzept: Web-Oberflächen ohne HTML/CSS¶
Mit Streamlit baust du interaktive Webanwendungen direkt in Python – perfekt für kleine KI-Tools, Daten-Visualisierungen oder Taschenrechner.
import streamlit as st
st.title("Interaktiver Rechner")
zahl = st.slider("Wähle eine Zahl:", 1, 100)
st.write(f"Das Quadrat der Zahl ist: {zahl * zahl}")
Software – alle Open Source:¶
| Software | Typ | Funktion | Ubuntu | Link |
|---|---|---|---|---|
| 🟩 Streamlit | Web-Framework | Erstellung interaktiver Web-UIs in reinem Python | 🐧 Ja | streamlit.io |
3.4 Thema: Lokale KI-Assistenten in der IDE (Continue.dev)¶
Konzept: Copilot im eigenen Editor¶
Ein lokales KI-Plugin hilft dir direkt beim Schreiben von Code im Editor – ohne dass du Text in den Browser kopieren musst.
Software – Open Source zuerst:¶
| Software | Typ | Funktion | Ubuntu | Link |
|---|---|---|---|---|
| 🟩 Continue.dev | IDE-Plugin | Verbindet VSCodium mit lokalen LLMs über Ollama | 🐧 Ja | continue.dev |
Vergleich: Open Source vs. Kommerziell¶
| KI-Tool | Open Source 🟩 (Ubuntu / Lokal) | Kommerziell 💰 |
|---|---|---|
| Editor-Copilot | Continue.dev + Ollama | GitHub Copilot, Tabnine |
📋 Praxisprojekte¶
🟢 Einsteiger: Das interaktive Zahlenratespiel¶
Die KI gibt dir den Rahmen vor, du programmierst das Spiel: Die KI wählt eine Zufallszahl (1–100), und der Spieler muss sie mit Hinweisen („zu hoch", „zu niedrig") erraten.
graph LR
A["🎲 Zufallszahl generieren"] --> B["📥 Rate-Eingabe"]
B --> C{"Richtig?"}
C -->|"Zu hoch / niedrig"| B
C -->|Ja| D["🎉 Gewonnen!"]
Software (alle Open Source): Thonny · Python
🟡 Fortgeschritten: Automatischer Wetter-Scraper¶
Wir laden die aktuelle Temperatur einer Wetter-Webseite herunter und speichern die Daten strukturiert in einer CSV-Datei.
graph TD
A["🌐 Wetterseite laden (Requests)"] --> B["🔍 HTML parsen (BeautifulSoup4)"]
B --> C["📝 Temperaturwert extrahieren"]
C --> D["💾 In wetter.csv speichern"]
Software (alle Open Source): Python · Requests · BeautifulSoup4 · Thonny
🔴 Experte: KI-Assistent als Web-App¶
Wir bauen eine interaktive Streamlit-Oberfläche unter Ubuntu, die mit unserer lokalen Ollama-API spricht, um einen personalisierten Vokabel-Trainer zu erstellen.
graph TD
A["🧑💻 Schüler tippt Vokabel"] --> B["💻 Streamlit Web-UI"]
B --> C["🔌 Ollama API (Llama3 lokal)"]
C --> D["📊 Bewertung & Beispielsatz"]
D --> E["📤 Anzeige im Web-UI"]
Software (alle Open Source): Python · Streamlit · Ollama · VSCodium
📦 Vollständige Softwareübersicht & Vergleich¶
Programmiersprachen & IDEs¶
| Funktion | Open Source 🟩 (Ubuntu) | Kommerziell 💰 |
|---|---|---|
| Lern-IDE | Thonny 🐧 | — |
| Professionelle IDE | VSCodium 🐧 | PyCharm, VS Code |
| Python-Laufzeit | Python 3 🐧 | — |
Code-Assistenten & Generatoren¶
| Funktion | Open Source 🟩 (Ubuntu / Lokal) | Kommerziell 💰 |
|---|---|---|
| IDE-Assistent | Continue.dev + Ollama 🐧 | GitHub Copilot, Tabnine |
| Chat-Tutor | Ollama 🐧 | ChatGPT Plus, Claude Pro |
Bibliotheken & Frameworks¶
| Funktion | Open Source 🟩 (Ubuntu) | Kommerziell 💰 |
|---|---|---|
| Web-Framework | Streamlit 🐧, Flask 🐧 | — |
| Web-Scraping | BeautifulSoup4 🐧, Requests 🐧 | Scraper-APIs |
| Code-Formatierung | Ruff 🐧, Black 🐧 | — |
Weiterführende Ressourcen¶
- Python Doku – Offizielle Python-Referenz 🟩
- Thonny Guide – Einstieg in die Thonny IDE 🟩
- Streamlit Docs – Web-Apps in Python erstellen 🟩
- BeautifulSoup Tutorials – Web-Scraping lernen 🟩
- Continue.dev Setup – IDE-Copilot konfigurieren 🟩
Letzte Aktualisierung: Juli 2026
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).