01 Moderne Entwicklungswerkzeuge: Repositories, Git, GitHub und KI-gestützte IDEs
October 2025 (7884 Words, 44 Minutes)
1. Repositories verstehen: Die Grundlage moderner Entwicklung
1.1 Was ist ein Repository?
Ein Repository (oft als “Repo” abgekürzt) ist ein zentraler Speicherort, an dem die Dateien, der Code, die Dokumentation und die vollständige Änderungshistorie Ihres Projekts verwaltet werden. Stellen Sie es sich wie einen ausgeklügelten Aktenschrank vor, der nicht nur Ihre aktuellen Dokumente speichert, sondern sich auch an jede Version jedes Dokuments erinnert, das Sie jemals erstellt haben, zusammen mit Notizen darüber, wer Änderungen vorgenommen hat und warum.
In der traditionellen Softwareentwicklung arbeiteten Entwickler möglicherweise mit Ordnern auf ihren lokalen Rechnern und erstellten Backup-Kopien mit Namen wie projekt_v1.zip, projekt_v2_final.zip, projekt_v2_final_WIRKLICH_FINAL.zip. Dieser Ansatz wird schnell chaotisch und nicht mehr tragbar, besonders wenn man in Teams arbeitet. Repositories lösen dieses Problem, indem sie einen strukturierten, systematischen Ansatz zur Verwaltung von Code und seiner Entwicklung im Laufe der Zeit bieten.
Ein Repository enthält typischerweise:
- Quellcode-Dateien: Die eigentlichen Programme und Skripte, die Sie schreiben
- Dokumentation: README-Dateien, Wikis und technische Dokumentation
- Konfigurationsdateien: Einstellungen für Ihre Entwicklungsumgebung und Bereitstellung
- Testdateien: Automatisierte Tests zur Sicherstellung der Codequalität
- Verlaufs-Metadaten: Vollständige Aufzeichnungen darüber, wer was, wann und warum geändert hat
Im Wesentlichen ist ein Repository ein lebendes Ökosystem rund um Ihren Code, das professionelle Softwareentwicklung im großen Maßstab ermöglicht.
1.2 Lokale vs. Remote-Repositories
Repositories existieren in zwei Hauptformen:
Lokale Repositories befinden sich auf Ihrem persönlichen Computer. Sie können offline mit ihnen arbeiten, Änderungen vornehmen und die Historie verfolgen, ohne Internetverbindung. Hier erledigen Sie Ihre tägliche Entwicklungsarbeit.
Remote-Repositories werden auf Servern gehostet und sind über das Internet zugänglich. Sie dienen als zentrale Anlaufstelle, an der Teammitglieder ihre Arbeit synchronisieren. Remote-Repositories ermöglichen Zusammenarbeit, bieten Backup-Redundanz und dienen als maßgebliche Quelle der Wahrheit für Ihr Projekt.
Die Beziehung zwischen lokalen und entfernten Repositories ist grundlegend für moderne Entwicklungs-Workflows. Typischerweise arbeiten Sie an einer lokalen Kopie des Repositories, nehmen Ihre Änderungen vor und synchronisieren (pushen) diese Änderungen dann mit dem Remote-Repository. Ebenso können Sie Änderungen, die andere vorgenommen haben, vom Remote-Repository auf Ihren lokalen Rechner abrufen (pullen).
1.3 Warum GitHub? Das Portfolio des modernen Entwicklers
1.4 GitHub als Industriestandard
GitHub ist die weltweit führende Plattform zum Hosten von Remote-Git-Repositories und hat grundlegend verändert, wie Software entwickelt, geteilt und bewertet wird. GitHub wurde 2008 gegründet und 2018 von Microsoft übernommen, hostet über 100 Millionen Repositories und dient als De-facto-Standard für Open-Source-Zusammenarbeit und professionelle Softwareentwicklung.
Wenn wir in diesem Kurs über GitHub sprechen, diskutieren wir nicht nur ein technisches Werkzeug – wir diskutieren Ihre berufliche Identität in der Welt der Softwareentwicklung. Im Jahr 2025 hat ein gut gepflegtes GitHub-Profil in der Tech-Industrie mehr Gewicht als ein traditioneller Lebenslauf.
1.5 Das Repository als Ihr digitales Portfolio
Hier ist eine entscheidende Erkenntnis für Ihre Karriere: Ein gut gepflegtes GitHub-Profil ist wertvoller als ein perfekter Lebenslauf.
Warum? Weil Ihre GitHub-Repositories Folgendes demonstrieren:
- Qualität Ihres Codes: Ist er sauber, gut dokumentiert und folgt Best Practices?
- Kontinuität der Beiträge: Programmieren Sie regelmäßig, oder wurde alles in der Nacht vor der Abgabe gemacht?
- Kollaborationsfähigkeiten: Wie interagieren Sie mit anderen Entwicklern? Können Sie konstruktives Feedback geben und empfangen?
- Problemlösungskompetenz: Welche Art von Problemen gehen Sie an? Wie gehen Sie sie an?
- Lernkurve: Wie haben sich Ihre Fähigkeiten im Laufe der Zeit entwickelt?
- Open-Source-Engagement: Tragen Sie zu Community-Projekten bei?
Diese Transparenz funktioniert in beide Richtungen. Als Student profitieren Sie davon, zu sehen, wie erfahrene Entwickler ihre Projekte strukturieren, Code schreiben und Probleme lösen. Die gesamte Historie vieler professioneller Softwareprojekte ist zum Studium verfügbar.
Moderne Arbeitgeber schauen sich GitHub-Profile vor Lebensläufen an, weil Code nicht lügt.
Inspiration gesucht? Schauen Sie sich diese kuratierte Sammlung beeindruckender GitHub-Profile aus der Entwickler-Community an, um zu sehen, was ein herausragendes Portfolio ausmacht.
1.6 Akademische Vorteile von GitHub
Für akademische Arbeiten bietet GitHub mehrere überzeugende Funktionen:
Versionsverlauf für akademische Integrität: Jede Änderung wird mit Zeitstempel und Zuordnung versehen. Dies schafft eine transparente Aufzeichnung der Entwicklung Ihrer Arbeit, die von unschätzbarem Wert sein kann, um die Originalität in akademischen Kontexten nachzuweisen.
Kollaborations-Framework: Gruppenprojekte werden handhabbar. Das Pull-Request-System von GitHub ermöglicht es Teammitgliedern, Änderungen vorzuschlagen, Implementierungen zu diskutieren und den Code des anderen vor der Integration zu überprüfen.
Dokumentations-Hosting: GitHub Pages ermöglicht es Ihnen, Ihre Repositories in Websites zu verwandeln, perfekt für Projektdokumentation, Portfolios oder sogar das Hosten Ihrer akademischen Arbeiten.
Issue-Tracking: Integrierte Projektmanagement-Tools helfen Ihnen, Aufgaben zu organisieren, Bugs zu verfolgen und Projektmeilensteine zu verwalten.
GitHub Education Benefits: Studenten erhalten kostenlosen Zugang zu Premium-Funktionen durch GitHub Education, einschließlich privater Repositories, erweiterten Sicherheitsfunktionen und Zugang zu Entwicklertools, die normalerweise kostenpflichtige Abonnements erfordern.
2. GitHub vs. GitLab: Warum GitHub die Branche anführt
Während sowohl GitHub als auch GitLab ausgezeichnete Plattformen sind, hat GitHub deutliche Vorteile sowohl für die Wissenschaft als auch für die Industrie:
2.1 GitHubs Vorteile für Studenten und Wissenschaft
1. Bildungsvorteile
- GitHub Student Pack - Kostenloser Zugang zu Premium-Entwicklertools im Wert von Tausenden von Dollar
- GitHub Classroom - Nahtlose Integration mit Universitätskursen
- Massive Lern-Community - Millionen von Open-Source-Projekten zum Studieren
- Industriestandard - Was Sie in den meisten professionellen Umgebungen antreffen werden
2. Netzwerkeffekte
- Größte Entwickler-Community - Über 100 Millionen Entwickler weltweit
- Open-Source-Hub - Die meisten großen Projekte werden auf GitHub gehostet
- Sichtbarkeit - Recruiter und Arbeitgeber suchen hauptsächlich auf GitHub
- Dokumentations-Ökosystem - GitHub Pages für Projektwebsites
3. Industrie-Integration
- Microsoft-Ökosystem - Tiefe Integration mit VS Code, Azure und Microsoft-Tools
- Drittanbieter-Tools - Breiteres Ökosystem von Integrationen und Anwendungen
- Unternehmensadoption - Die meisten Unternehmen verwenden GitHub, was Ihre Fähigkeiten sofort übertragbar macht
2.2 Historischer Kontext und aktueller Stand
GitLab war ein früher Pionier in der integrierten DevOps-Entwicklung und bot CI/CD-Pipelines Jahre bevor GitHub Actions existierte. Zusätzlich ist GitLab selbst Open Source (sowohl die Community Edition als auch viele Teile der Enterprise Edition), was Organisationen anspricht, die Transparenz und die Möglichkeit schätzen, zur Plattform selbst beizutragen.
Wo GitLab Vorteile behält:
- Open-Source-Plattform - GitLab selbst ist Open Source, nicht nur ein Host für Open-Source-Projekte
- Frühere DevOps-Integration - Längere Geschichte und Reife in CI/CD (obwohl GitHub aufgeholt hat)
- All-in-One-Philosophie - Mehr eingebaute Features statt Marketplace-Erweiterungen
Wo GitHub aufgeholt hat oder herausragt:
- GitHub Actions - Inzwischen eine mächtige, flexible CI/CD-Lösung, die mit GitLab CI konkurriert
- GitHub Enterprise - Umfassende Enterprise-Features mit ausgezeichnetem Support
- Cloud + Self-Hosted-Optionen - GitHub Enterprise Server bietet Self-Hosting-Möglichkeiten
- Größeres Ökosystem - Mehr Drittanbieter-Integrationen und Community-erstellte Actions
Die Realität im Jahr 2025: Beide Plattformen sind ausgezeichnet und vollständig für professionelle Entwicklung geeignet. GitHubs massive Community und Branchenanerkennung machen es zur besseren Wahl für Lernen und Karrierevorbereitung, aber GitLab bleibt eine starke Alternative, besonders für Organisationen, die Open-Source-Plattformen priorisieren oder stark in GitLabs DevOps-Ökosystem investiert haben.
GitLab ist GitHubs Hauptkonkurrent und bietet ähnliche Funktionalität. Schauen wir uns an, warum GitHub für die meisten Anwendungsfälle die bessere Wahl bleibt:
2.3 Plattform-Vergleich: GitHub vs. GitLab
Marktanteil
- GitHub: Dominant (~90% von Open Source)
- GitLab: Wachsend aber kleiner
- Gewinner: GitHub - Industriestandard, größere Community
Benutzeroberfläche
- GitHub: Poliert, intuitiv
- GitLab: Funktionsreich aber komplex
- Gewinner: GitHub - Besser für Anfänger
Community
- GitHub: Massiv, hochaktiv
- GitLab: Wachsend aber kleiner
- Gewinner: GitHub - Mehr Lernressourcen, leichter Hilfe zu finden
Integrations-Ökosystem
- GitHub: Umfangreiche Drittanbieter-Integrationen
- GitLab: Gut aber eingeschränkter
- Gewinner: GitHub - Bessere Tool-Unterstützung
CI/CD
- GitHub: GitHub Actions (intuitiv)
- GitLab: GitLab CI/CD (mächtig)
- Gewinner: Unentschieden - Beide ausgezeichnet, unterschiedliche Ansätze
Arbeitsmarkt-Relevanz
- GitHub: Fast universelle Anforderung
- GitLab: Weniger häufig erforderlich
- Gewinner: GitHub - Bessere Karrierevorbereitung
Bildungsprogramme
- GitHub: GitHub Education Pack
- GitLab: GitLab for Education
- Gewinner: GitHub - Umfassendere Studentenvorteile
Dokumentation
- GitHub: Umfangreich, anfängerfreundlich
- GitLab: Umfassend aber dicht
- Gewinner: GitHub - Bessere Lernkurve
3. Erstellen Sie Ihr GitHub-Konto und Ihr erstes Repository
3.1 Schritt 1: Einrichten Ihres GitHub-Kontos
- Besuchen Sie GitHub.com und klicken Sie auf “Sign up”
-
Wählen Sie einen professionellen Benutzernamen - Dies wird Teil Ihrer beruflichen Identität.
Wählen Sie Ihren Benutzernamen sorgfältig. Berücksichtigen Sie diese Richtlinien:
- Professionell: Verwenden Sie Ihren echten Namen oder eine professionelle Variante (z.B.
max-mueller,mmueller-dev) - Einprägsam: Halten Sie es einfach und leicht zu buchstabieren
- Konsistent: Idealerweise passend zu anderen professionellen Profilen (LinkedIn usw.)
- Dauerhaft: Späteres Ändern von Benutzernamen unterbricht Ihre professionellen Links
❌ Vermeiden:
c00ld3v420,xxxprogrammer,temporary_account
✅ Gut:maria-schmidt,dev-alex-chen,sarah-k-developer - Professionell: Verwenden Sie Ihren echten Namen oder eine professionelle Variante (z.B.
- Beantragen Sie GitHub-Studentenvorteile
- Besuchen Sie education.github.com
- Verifizieren Sie Ihren Studentenstatus mit Ihrer Universitäts-E-Mail
- Erhalten Sie Zugang zu GitHub Pro-Funktionen und dem Student Developer Pack
3.2 Studentenvorteile, die Sie erhalten
Das GitHub Student Developer Pack umfasst:
- GitHub Pro - Unbegrenzte private Repositories und erweiterte Funktionen
- GitHub Copilot - KI-gestützter Coding-Assistent
- Heroku - Cloud-Hosting-Credits
- DigitalOcean - Server-Hosting-Credits
- JetBrains - Professionelle IDE-Lizenzen
3.3 Schritt 2: Erstellen Ihres ersten Repositories
Lassen Sie uns Ihr erstes Repository namens “MyFirstRepo” erstellen:
- Klicken Sie auf das “+”-Symbol in der oberen rechten Ecke
- Wählen Sie “New repository”
- Konfigurieren Sie Ihr Repository:
Repository name: MyFirstRepo Description: Mein erstes Repository zum Lernen von Git und GitHub ✅ Public (für Lernzwecke) ✅ Add a README file ✅ Add .gitignore (wählen Sie eine relevante Vorlage) ✅ Choose a license (MIT License ist eine gute Standardwahl) - Klicken Sie auf “Create repository”
Herzlichen Glückwunsch! Sie haben gerade Ihr erstes Repository erstellt. Beachten Sie, wie GitHub automatisch:
- Eine README.md-Datei für die Dokumentation erstellt hat
- Eine .gitignore-Datei hinzugefügt hat, um unnötige Dateien auszuschließen
- Eine Lizenz angewendet hat, um zu klären, wie andere Ihren Code verwenden können
Abbildung 1: Ihr erstes GitHub-Repository erfolgreich erstellt
4. Versionskontrolle: Warum sie für die professionelle Entwicklung obligatorisch ist
4.1 Das Problem, das Versionskontrolle löst
Stellen Sie sich vor, Sie schreiben eine Forschungsarbeit. Sie könnten Versionen so speichern:
arbeit.docx
arbeit_v2.docx
arbeit_v2_final.docx
arbeit_v2_final_überarbeitet.docx
arbeit_v2_final_überarbeitet_wirklich_final.docx
arbeit_v2_final_überarbeitet_wirklich_final_ENDGÜLTIG.docx
Dieser Ansatz hat ernsthafte Probleme:
- Keine klare Historie: In welcher Version war dieser brillante Absatz, den Sie gelöscht haben?
- Speicherverschwendung: Jede Kopie dupliziert 99% des unveränderten Inhalts
- Kollaborations-Alptraum: Wie führt man Änderungen mehrerer Autoren zusammen?
- Keine Verantwortlichkeit: Wer hat diese Änderung vorgenommen, die alles kaputt gemacht hat?
- Kein Vergleich: Wie sieht man genau, was sich zwischen Versionen geändert hat?
Stellen Sie sich dieses Problem jetzt mit einem Softwareprojekt vor, das Tausende von Dateien, Dutzende von Entwicklern und stündliche Änderungen enthält. Das Chaos wäre unerträglich.
Versionskontrollsysteme lösen diese Probleme, indem sie eine vollständige Historie der Änderungen pflegen und gleichzeitig mehreren Personen erlauben, gleichzeitig ohne Konflikte zu arbeiten.
4.2 Warum Versionskontrolle obligatorisch ist
In der modernen Softwareentwicklung ist Versionskontrolle nicht optional – sie ist so grundlegend wie die Programmiersprache selbst. Hier ist warum:
4.2.1 Historische Aufzeichnung und Verantwortlichkeit
Jede Änderung wird aufgezeichnet mit:
- Was sich geändert hat (genaue Codezeilen)
- Wer die Änderung vorgenommen hat (Autorenidentifikation)
- Wann es passiert ist (Zeitstempel)
- Warum es gemacht wurde (Commit-Nachricht, die den Grund erklärt)
Dies schafft einen Prüfpfad, der von unschätzbarem Wert ist für das Verständnis der Projektentwicklung, das Debuggen von Problemen und die Aufrechterhaltung der Codequalität.
4.2.2 Parallele Entwicklung
Mehrere Entwickler können gleichzeitig an verschiedenen Features arbeiten, ohne sich gegenseitig zu stören. Versionskontrollsysteme verwalten die Komplexität der Zusammenführung dieser parallelen Arbeitsströme.
4.2.3 Experimentier-Sicherheit
Wollen Sie einen radikal neuen Ansatz ausprobieren? Erstellen Sie einen Branch, experimentieren Sie frei, und wenn es nicht funktioniert, verwerfen Sie es einfach, ohne die Haupt-Codebasis zu beeinträchtigen. Wenn es brillant funktioniert, führen Sie es wieder zusammen.
4.2.4 Rollback-Fähigkeit
Ein Update bereitgestellt, das die Produktion unterbricht? Rollen Sie sofort zur vorherigen funktionierenden Version zurück. Einen Bug gefunden, der vor sechs Monaten eingeführt wurde? Sie können genau identifizieren, welche Änderung ihn eingeführt hat.
4.2.5 Code-Review und Qualität
Versionskontrollsysteme erleichtern strukturierte Code-Review-Prozesse, bei denen Änderungen vor der Integration untersucht werden, wodurch Bugs gefangen und die Codequalität verbessert wird.
4.2.6 Dokumentation durch Historie
Die Commit-Historie dient als lebende Dokumentation, die nicht nur erklärt, was der Code tut, sondern warum Entscheidungen getroffen wurden. Dies ist von unschätzbarem Wert für die langfristige Wartung von Projekten.
4.3 Git: Der universelle Standard
Wenn wir Versionskontrolle lehren, lehren wir Git. Dies ist nicht willkürlich – Git ist zum universellen Standard für Versionskontrolle in der Softwareentwicklung geworden. Lassen Sie uns verstehen, warum Git die richtige (und einzige) Wahl ist, die Sie lernen müssen:
Git dominiert die Versionskontrolle mit über 95% Marktanteil in der professionellen Entwicklung. Hier ist, warum das Erlernen von Git die richtige Wahl ist:
4.3.1 Universelle Akzeptanz
- Industriestandard - Verwendet von Google, Microsoft, Facebook, Netflix und praktisch jedem Tech-Unternehmen
- Open-Source-Projekte - Linux-Kernel, Python, React und Millionen anderer Projekte
- Akademische Institutionen - Standard in Informatik-Lehrplänen weltweit
4.3.2 Technische Überlegenheit
- Verteilte Architektur - Jeder Entwickler hat eine vollständige Kopie der Projekthistorie
- Branching und Merging - Ausgeklügelte Werkzeuge für parallele Entwicklung
- Performance - Extrem schnelle Operationen auch bei großen Projekten
- Datenintegrität - Kryptographisches Hashing stellt sicher, dass Daten nicht korrumpiert werden können
4.3.3 Übertragbare Fähigkeiten
Git zu lernen bedeutet, dass Sie sich leicht an jedes Versionskontrollsystem anpassen können:
- Mercurial - Ähnliches verteiltes Modell
- Subversion - Zentralisierte Systeme werden trivial zu verstehen
- Perforce - Enterprise-Systeme teilen ähnliche Konzepte
Karriere-Realität: Sie werden wahrscheinlich Git Ihre gesamte Karriere lang verwenden. Andere Versionskontrollsysteme werden in professionellen Umgebungen zunehmend selten.
4.4 Kern-Git-Konzepte
Das Verständnis dieser Konzepte ist entscheidend:
Repository (Repo): Das vollständige Projekt einschließlich aller Dateien und ihrer gesamten Historie
Commit: Ein Snapshot Ihres Projekts zu einem bestimmten Zeitpunkt mit einer beschreibenden Nachricht
Branch: Eine parallele Version Ihres Codes, in der Sie sicher experimentieren können
Merge: Zusammenführen von Änderungen aus verschiedenen Branches
Clone: Erstellen einer lokalen Kopie eines Remote-Repositories
Push: Hochladen Ihrer lokalen Änderungen in ein Remote-Repository
Pull: Herunterladen von Änderungen von einem Remote-Repository auf Ihre lokale Kopie
Hier ist die entscheidende Erkenntnis: Sobald Sie Git verstehen, verstehen Sie Versionskontrolle.
Die Konzepte, die Sie lernen – Commits, Branches, Merges, Diffs, Logs – sind universell. Wenn Sie jemals auf ein anderes Versionskontrollsystem stoßen (unwahrscheinlich, aber möglich in Legacy-Enterprise-Umgebungen), werden Sie feststellen:
- Die Kernkonzepte sind identisch (sie müssen es sein – sie lösen die gleichen Probleme)
- Nur die Befehlssyntax unterscheidet sich
- Sie werden sich in Stunden anpassen, nicht in Wochen
Git zu lernen bedeutet nicht, ein spezifisches Tool zu lernen – es bedeutet zu lernen, wie professionelle Softwareentwicklung funktioniert. Die spezifischen Befehle sind nur Syntax; das mentale Modell ist, was zählt.
5. Git installieren
5.1 Windows-Installation
- Git für Windows herunterladen
- Besuchen Sie git-scm.com
- Klicken Sie auf “Download for Windows”
- Führen Sie den Installer mit diesen empfohlenen Einstellungen aus:
✅ Use Git from Git Bash only (sicherste Option) ✅ Use OpenSSL library ✅ Checkout Windows-style, commit Unix-style line endings ✅ Use Windows' default console window ✅ Enable file system caching ✅ Enable Git Credential Manager
- Installation verifizieren
git --version # Sollte ausgeben: git version 2.x.x
5.2 Installation auf Linux (Ubuntu)
Wichtiger Hinweis: Viele Linux-Distributionen, einschließlich Ubuntu, werden mit vorinstalliertem Git als Teil ihres Standard-Paketsets ausgeliefert. Dies liegt daran, dass Git ein grundlegendes Werkzeug im Linux-Ökosystem ist und vom Betriebssystem selbst für verschiedene Aufgaben verwendet wird. Die Philosophie von Linux-Distributionen besteht darin, wesentliche Entwicklungstools out-of-the-box bereitzustellen, wodurch es sofort für die Softwareentwicklung bereit ist, ohne zusätzliche Einrichtung.
Bevor Sie installieren, prüfen wir, ob Git bereits auf Ihrem System verfügbar ist:
git --version
Wenn Sie eine Versionsnummer sehen (wie git version 2.34.1), ist Git bereits installiert und Sie können zum Abschnitt “Installation verifizieren” weiter unten springen. Wenn Sie “command not found” oder einen ähnlichen Fehler sehen, fahren Sie mit den Installationsschritten fort.
- Paketmanager aktualisieren und Git installieren
sudo apt update sudo apt install git-all - Installation verifizieren
git --version # Sollte ausgeben: git version 2.x.x
5.3 Initiale Git-Konfiguration
Konfigurieren Sie Git mit Ihrer Identität:
git config --global user.name "Ihr Name"
git config --global user.email "ihre.email@universitaet.de"
git config --global init.defaultBranch main
Wichtig: Verwenden Sie Ihren echten Namen und dieselbe E-Mail-Adresse, die Sie für Ihr GitHub-Konto verwendet haben. Ersetzen Sie “Ihr Name” und “ihre.email@universitaet.de” durch Ihre tatsächlichen Informationen.
5.3.1 Optional: Line Endings konfigurieren (Cross-Platform-Teams)
Wenn Sie in Teams mit sowohl Windows- als auch Linux/Mac-Benutzern arbeiten:
git config --global core.autocrlf true # Auf Windows
git config --global core.autocrlf input # Auf Linux/Mac
Dies stellt konsistente Zeilenenden über verschiedene Betriebssysteme hinweg sicher.
6. Ihr erstes Repository klonen
Jetzt, da Git installiert und konfiguriert ist, verbinden wir Ihren lokalen Rechner mit Ihrem GitHub-Repository. Wir werden das MyFirstRepo-Repository klonen, das Sie zuvor erstellt haben.
6.1 Klonen verstehen
Klonen erstellt eine vollständige lokale Kopie eines Remote-Repositories, einschließlich:
- Aller Dateien und Ordner
- Vollständiger Commit-Historie
- Aller Branches
- Repository-Konfiguration
Nach dem Klonen haben Sie ein voll funktionsfähiges lokales Repository, mit dem Sie offline arbeiten und mit dem Remote-Repository synchronisieren können, wenn Sie bereit sind.
6.1.1 Schritt 1: Repository-URL abrufen
- Navigieren Sie zu Ihrem
MyFirstRepo-Repository auf GitHub (sollte unterhttps://github.com/IHR_BENUTZERNAME/MyFirstReposein) - Klicken Sie auf die grüne “Code”-Schaltfläche
- Stellen Sie sicher, dass “HTTPS” ausgewählt ist (sollte unterstrichen sein)
- Klicken Sie auf das Kopiersymbol, um die Repository-URL zu kopieren
Die URL wird so aussehen: https://github.com/IHR_BENUTZERNAME/MyFirstRepo.git
6.1.2 Schritt 2: Einen Speicherort wählen
Entscheiden Sie, wo auf Ihrem Computer Sie Ihre Repositories speichern möchten. Eine gute Praxis ist es, einen dedizierten Ordner für alle Ihre Coding-Projekte zu erstellen. Zum Beispiel:
Windows: C:\Users\IhrName\Documents\Projects
Linux: ~/Projects oder ~/Documents/Projects
Erstellen Sie diesen Ordner, falls er nicht existiert.
6.1.3 Schritt 3: Terminal in Ihrem Projektverzeichnis öffnen
Windows:
- Navigieren Sie zu Ihrem Projects-Ordner im Datei-Explorer
- Halten Sie Shift gedrückt und klicken Sie mit der rechten Maustaste in den Ordner
- Wählen Sie “PowerShell-Fenster hier öffnen” oder “Eingabeaufforderungsfenster hier öffnen”
Linux:
- Öffnen Sie Terminal (Strg+Alt+T)
- Navigieren Sie zu Ihrem Projects-Ordner:
cd ~/Projects
6.1.4 Schritt 4: Repository klonen
Geben Sie in Ihrem Terminal git clone gefolgt von der URL ein, die Sie kopiert haben:
git clone https://github.com/IHR_BENUTZERNAME/MyFirstRepo.git
Ersetzen Sie IHR_BENUTZERNAME durch Ihren tatsächlichen GitHub-Benutzernamen.
Drücken Sie Enter. Sie sollten eine Ausgabe wie diese sehen:
Cloning into 'MyFirstRepo'...
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (5/5), done.
6.1.5 Schritt 5: In Ihr Repository navigieren
Wechseln Sie das Verzeichnis in Ihr neu geklontes Repository:
cd MyFirstRepo
6.1.6 Schritt 6: Erkunden Sie Ihr Repository
Listen Sie den Inhalt auf:
ls # Linux
dir # Windows
Sie sollten die Dateien aus Ihrem GitHub-Repository sehen:
README.md.gitignoreLICENSE
README-Inhalt anzeigen:
cat README.md # Linux
type README.md # Windows
7. Integrierte Entwicklungsumgebungen (IDEs): Ihre Programmier-Kommandozentrale
Wenn Sie in der Softwareentwicklung fortschreiten, werden Sie Tausende von Stunden damit verbringen, Code zu schreiben. Die Umgebung, in der Sie diesen Code schreiben, beeinflusst dramatisch Ihre Produktivität, Codequalität und sogar Ihre Freude am Programmieren. Hier werden Integrierte Entwicklungsumgebungen (IDEs) entscheidend.
7.1 Warum IDEs essentiell sind
Eine IDE ist eine Softwareanwendung, die alle Werkzeuge kombiniert, die Sie für die Softwareentwicklung in einer Oberfläche benötigen:
- Texteditor mit Syntaxhervorhebung und intelligenter Code-Vervollständigung
- Debugger zum Finden und Beheben von Bugs
- Compiler/Interpreter-Integration zum Ausführen Ihres Codes
- Versionskontroll-Integration (Git)
- Terminal-Zugriff
- Erweiterungssystem zum Hinzufügen von Fähigkeiten
- Projektmanagement-Tools
- Code-Analyse und Linting-Tools
Der Unterschied zwischen einem einfachen Texteditor (wie Notepad) und einer modernen IDE ist wie der Unterschied zwischen einem Hammer und einer kompletten Werkstatt. Während Sie können Code in Notepad schreiben können, werden Sie mit den richtigen Werkzeugen weit produktiver sein.
7.2 Warum Visual Studio Code für diesen Kurs
Wir haben Visual Studio Code (VS Code) als unsere primäre IDE aus mehreren überzeugenden Gründen gewählt:
7.2.1 Open Source und kostenlos
- Völlig kostenlos - Keine Lizenzkosten oder Einschränkungen
- Open Source - Transparente Entwicklung und Community-getriebene Verbesserungen
- Plattformübergreifend - Funktioniert identisch auf Windows, macOS und Linux
7.2.2 Sprachunterstützung
- Exzellente Python-Unterstützung - IntelliSense, Debugging, Test-Integration
- Starke C++-Fähigkeiten - Mit entsprechenden Erweiterungen
- Universelle Sprachunterstützung - Funktioniert mit praktisch jeder Programmiersprache
7.2.3 KI-Integration
- Native GitHub Copilot-Unterstützung - Nahtlose KI-gestützte Coding-Assistenz
- Integriertes Terminal - Kein Wechsel zwischen Anwendungen erforderlich
- Git-Integration - Visuelle Oberfläche für Versionskontroll-Operationen
7.2.4 Erweiterbarkeit
- Massiver Erweiterungs-Marktplatz - Über 30.000 Erweiterungen
- Anpassbare Oberfläche - Anpassung an Ihre Workflow-Präferenzen
- Aktive Entwicklung - Monatliche Updates mit neuen Funktionen
7.2.5 Industrie-Akzeptanz
- Beliebteste IDE - Laut Stack Overflow Developer Survey
- Enterprise-ready - Verwendet von großen Unternehmen weltweit
- Community-Support - Umfangreiche Dokumentation und Tutorials
7.3 VS Code vs. Alternativen
Während wir hauptsächlich VS Code verwenden werden, ist es wert, die Landschaft zu verstehen:
Cursor: Ein KI-first Code-Editor, den wir später erkunden werden
- Basiert auf VS Code-Grundlage
- Erweiterte KI-Fähigkeiten
- Fortgeschrittenes Kontextbewusstsein
PyCharm: Ausgezeichnet für Python-spezifische Entwicklung
- Schwerer als VS Code
- Leistungsstarke Debugging-Tools
- Kommerzielle Lizenz erforderlich für volle Funktionen
IntelliJ IDEA: Herausragend für Java und Enterprise-Entwicklung
- Außergewöhnliche Refactoring-Tools
- Komplexes Projektmanagement
- Ressourcenintensiv
Sublime Text: Leichtgewichtig und schnell
- Minimalistische Oberfläche
- Begrenzte eingebaute Funktionen
- Ausgezeichnet für schnelle Bearbeitungen
Für Lernen und allgemeine Entwicklung bietet VS Code die optimale Balance aus Funktionen, Performance und Benutzerfreundlichkeit.
7.4 Cursor: Die KI-First IDE
Cursor verdient besondere Aufmerksamkeit, da es die nächste Evolution von KI-integrierten Entwicklungsumgebungen darstellt.
7.4.1 Was ist Cursor?
Cursor ist ein Fork von VS Code, der speziell um KI-Assistenz herum entwickelt wurde. Es integriert KI tiefer als Copilot und bietet:
- KI-Chat im Kontext: Wie Copilot Chat, aber enger integriert
- KI-gestütztes Refactoring: Code-Änderungen in natürlicher Sprache anfordern
- Codebase-Verständnis: KI, die Ihr gesamtes Projekt versteht
- Multi-Datei-Bearbeitungen: KI kann Änderungen über mehrere Dateien gleichzeitig vorschlagen
7.4.2 Warum wir Cursor später erkunden werden
Cursor repräsentiert, wohin sich Entwicklungsumgebungen bewegen. Wir werden es später im Kurs vorstellen, nachdem Sie die Grundlagen mit VS Code und Copilot gemeistert haben. Das Verständnis der Basislinie (VS Code) macht es einfacher, Cursors Innovationen zu schätzen.
7.4.3 Cursor vs. VS Code + Copilot
| Merkmal | VS Code + Copilot | Cursor |
|---|---|---|
| Basis-Editor | Industrie-Standard VS Code | VS Code Fork (ähnliche UX) |
| KI-Integration | Erweiterungsbasiert | Nativ, tiefere Integration |
| Codebase-Bewusstsein | Begrenzt auf aktuelle Datei | Versteht gesamtes Projekt |
| Multi-Datei-Bearbeitungen | Manuell über Dateien hinweg | KI kann mehrere Dateien ändern |
| Lernkurve | Standard, gut dokumentiert | Ähnlich, mit KI-Funktionen |
| Reife | Sehr ausgereift, stabil | Neuer, sich schnell entwickelnd |
| Erweiterungen | Vollständiges VS Code-Ökosystem | Die meisten VS Code-Erweiterungen funktionieren |
Unser Ansatz: Lernen Sie zuerst VS Code, weil:
- Es ist der Industriestandard, den Sie überall antreffen werden
- Das Verständnis traditioneller Workflows macht KI-Verbesserungen bedeutungsvoller
- VS Code-Fähigkeiten übertragen sich direkt auf Cursor (es ist ein Fork)
- Sobald Sie VS Code + Copilot beherrschen, wird Cursor sich wie eine natürliche Evolution anfühlen
8. Visual Studio Code installieren und konfigurieren
8.1 Windows-Installation
- Navigieren Sie zu https://code.visualstudio.com
- Klicken Sie auf die “Download for Windows”-Schaltfläche
- Führen Sie den heruntergeladenen Installer aus (
VSCodeUserSetup-{version}.exe) - Akzeptieren Sie die Lizenzvereinbarung
- Wählen Sie den Installationsort (Standard ist in Ordnung)
- Wählen Sie zusätzliche Aufgaben:
- ✅ “Open with Code”-Aktion zum Windows Explorer-Dateikontext-Menü hinzufügen
- ✅ “Open with Code”-Aktion zum Windows Explorer-Verzeichnis-Kontext-Menü hinzufügen
- ✅ Code als Editor für unterstützte Dateitypen registrieren
- ✅ Zu PATH hinzufügen (ermöglicht das Öffnen von VS Code von der Kommandozeile)
- Klicken Sie auf Installieren
- Starten Sie VS Code nach der Installation
8.2 Linux (Ubuntu)-Installation
8.2.1 Methode 1: Mit Snap
sudo snap install --classic code
8.2.2 Methode 2: Mit APT-Repository
# Microsoft GPG-Schlüssel importieren
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
# VS Code-Repository hinzufügen
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
# Paketliste aktualisieren und installieren
sudo apt update
sudo apt install code
8.3 Wesentliche Erweiterungen
Installieren Sie diese Erweiterungen, um Ihre Entwicklungserfahrung zu verbessern:
1. Python - Microsoft (ms-python.python)
- Python-Sprachunterstützung und Debugging
2. Ruff - Astral Software (astral.sh)
- Exterm schnelle Python linter und Code Formatierung
3. C/C++ - Microsoft (ms-vscode.cpptools)
- C++-Sprachunterstützung und Debugging
4. Git Lens - Eric Amodio (eamodio.gitlens)
- Erweiterte Git-Integration und Verlaufsvisualisierung
5. Bracket Pair Colorizer - CoenraadS (coenraads.bracket-pair-colorizer)
- Visuelle Klammeranpassung
6. Live Server - Ritwick Dey (ritwickdey.liveserver)
- Lokaler Entwicklungsserver für Webprojekte
9. GitHub Copilot: Ihr KI-Programmier-Assistent
Jetzt kommen wir zum Herzstück der modernen Softwareentwicklung im Zeitalter der generativen KI: GitHub Copilot. Dieses Tool stellt einen grundlegenden Wandel dar, wie wir Code schreiben, und das Verständnis, wie man KI-Unterstützung effektiv nutzt, ist für moderne Entwickler entscheidend.
9.1 Was ist GitHub Copilot?
GitHub Copilot ist ein KI-gestütztes Code-Vervollständigungstool, das von GitHub in Zusammenarbeit mit OpenAI entwickelt wurde. Es wurde auf Milliarden von Zeilen öffentlichem Code trainiert und kann:
- Ganze Funktionen vorschlagen aus Kommentaren oder Funktionssignaturen
- Codezeilen vervollständigen, während Sie tippen
- Repetitive Code-Muster automatisch generieren
- Natürlichsprachliche Beschreibungen in funktionierenden Code übersetzen
- Alternative Implementierungen für Ihren Code vorschlagen
- Beim Lernen helfen neuer APIs, Bibliotheken und Programmiermuster
Stellen Sie sich Copilot als einen erfahrenen Entwickler vor, der mit Ihnen pair-programmiert – Lösungen vorschlägt, Muster erkennt und Ihnen hilft, Code schneller und korrekter zu schreiben.
Denken Sie an Copilot, als hätten Sie einen erfahrenen Programmierer, der rund um die Uhr mit Ihnen pair-programmiert.
9.2 Warum Copilot für diesen Kurs wichtig ist
GitHub Copilot ist nicht nur ein Produktivitätswerkzeug – es ist eine pädagogische Revolution. Hier ist, warum es zentral für diesen Kurs ist:
9.2.1 Beschleunigtes Lernen
Wenn Sie ein neues Programmierkonzept lernen, kann Copilot Ihnen sofort idiomatische Implementierungen zeigen. Anstatt Stunden mit der Suche in Dokumentation und Stack Overflow zu verbringen, können Sie funktionierende Beispiele im Kontext sehen.
Zum Beispiel, wenn Sie einen Kommentar schreiben wie:
# Erstelle eine Funktion, die eine CSV-Datei liest und ein pandas DataFrame zurückgibt
Wird Copilot eine vollständige, funktionierende Implementierung mit Best Practices vorschlagen.
9.2.2 Fokus auf Problemlösung, nicht auf Syntax
Programmieren hat zwei Ebenen:
- Algorithmisches Denken: Das Problem konzeptionell lösen
- Syntaktische Implementierung: Die Lösung in einer Programmiersprache ausdrücken
Anfänger bleiben oft bei der Syntax hängen, wenn sie das Konzept verstehen. Copilot übernimmt einen Großteil der syntaktischen Komplexität und ermöglicht es Ihnen, sich auf höhere Problemlösung zu konzentrieren. Während Sie Copilots Vorschläge sehen, lernen Sie natürlich die korrekte Syntax.
9.2.3 Real-World-Fähigkeit
KI-gestütztes Coding ist jetzt Standardpraxis in der Industrie. Unternehmen wie Microsoft, Google und Amazon ermutigen Entwickler aktiv, KI-Coding-Assistenten zu verwenden. Das Lernen, effektiv mit Copilot zu arbeiten, bereitet Sie auf moderne professionelle Entwicklungs-Workflows vor.
9.2.4 Verbesserung der Codequalität
Copilot schlägt Code vor, der etablierten Mustern und Best Practices folgt. Es enthält oft Fehlerbehandlung, verwendet geeignete Datenstrukturen und folgt Stilkonventionen – alles Dinge, die Anfänger vergessen könnten.
9.2.5 Erkundung und Experimentieren
Möchten Sie einen anderen Ansatz ausprobieren? Copilot kann Alternativen vorschlagen, sodass Sie mehrere Lösungen erkunden und Abwägungen verstehen können. Diese experimentelle Denkweise ist entscheidend für die Entwicklung von Engineering-Urteilsvermögen.
9.3 Copilots Fähigkeiten und Grenzen verstehen
Es ist entscheidend zu verstehen, was Copilot kann und nicht kann:
9.3.1 Was Copilot gut kann:
- Boilerplate-Code: Standard-Muster, häufige Strukturen
- Gut definierte Probleme: Aufgaben mit klaren Beschreibungen
- Beliebte Sprachen und Frameworks: Python, JavaScript, C++, React usw.
- Code-Vervollständigung: Funktionen fertigstellen, die Sie begonnen haben
- Unit-Tests: Testfälle für bestehende Funktionen generieren
- Dokumentation: Docstrings und Kommentare schreiben
9.3.2 Wo Copilot Schwierigkeiten hat:
- Neuartige Algorithmen: Einzigartige Lösungen für ungewöhnliche Probleme
- Domain-spezifische Logik: Ihre spezifischen Geschäftsanforderungen
- Komplexe architektonische Entscheidungen: High-Level-Systemdesign
- Sicherheitskritischer Code: Kann unsichere Muster vorschlagen, wenn man nicht vorsichtig ist
- Vollständiges Kontextverständnis: Kann subtile Anforderungen übersehen
- Debugging komplexer Probleme: Kann vorschlagen, aber nicht vollständig über Bugs nachdenken
9.3.3 Der kritische Punkt: Sie bleiben der Programmierer
Copilot ist ein Werkzeug, das Ihre Fähigkeiten verstärkt – es ersetzt nicht Ihr Urteilsvermögen. Sie müssen:
- Den vorgeschlagenen Code verstehen: Akzeptieren Sie niemals Code, den Sie nicht verstehen
- Auf Korrektheit überprüfen: Copilot kann falsch sein oder suboptimale Lösungen vorschlagen
- Gründlich testen: KI-generierter Code braucht Tests wie jeder Code
- Architektonische Vision beibehalten: Sie entwerfen das System; Copilot implementiert Details
- Randfälle berücksichtigen: Copilot übersieht möglicherweise ungewöhnliche Szenarien
Denken Sie an Copilot als intelligente Autovervollständigung, nicht als autonomen Programmierer. Der menschliche Entwickler bleibt essentiell.
9.4 GitHub Copilot in VS Code installieren
9.4.1 Schritt 1: Zugang erhalten
- Studentenstatus verifizieren - Sollte in Ihrem GitHub Student Pack enthalten sein
- Falls nicht verfügbar, besuchen Sie copilot.github.com zur Anmeldung
9.4.2 Schritt 2: GitHub Copilot-Erweiterung installieren
- VS Code öffnen
- Zu Erweiterungen gehen (Strg+Shift+X)
- Nach “GitHub Copilot” suchen
- Installieren Sie die offizielle GitHub Copilot-Erweiterung
- Anmelden, wenn Sie mit Ihrem GitHub-Konto dazu aufgefordert werden
9.4.3 Schritt 3: Bei GitHub anmelden
Klicken Sie auf Bei GitHub anmelden, wenn Sie dazu aufgefordert werden, oder:
- Drücken Sie
Strg+Shift+P, um die Befehlspalette zu öffnen - Geben Sie “GitHub Copilot: Sign In” ein
- Ihr Browser öffnet sich zur Authentifizierung
- Autorisieren Sie VS Code für den Zugriff auf Ihr GitHub-Konto
- Kehren Sie zu VS Code zurück
Sie sollten eine Bestätigung sehen, dass Copilot aktiv ist.
9.4.4 Schritt 4: Optional - GitHub Copilot Chat installieren
Für eine noch leistungsfähigere Erfahrung installieren Sie auch GitHub Copilot Chat:
- Suchen Sie nach “GitHub Copilot Chat” in Erweiterungen
- Installieren Sie es
- Ein Chat-Symbol erscheint in der Aktivitätsleiste
Copilot Chat ermöglicht es Ihnen, Gespräche mit der KI zu führen, Fragen zu Code zu stellen, Erklärungen anzufordern oder Hilfe beim Debugging zu erhalten.
9.5 Zu betrachtende Alternativen: Cursor
Cursor ist ein aufkommender KI-first Code-Editor, den wir später im Kurs erkunden werden:
- Erweiterte KI-Fähigkeiten - Mehr kontextbewusst als Standard-Copilot
- Natürlichsprachliche Bearbeitung - Änderungen in einfachem Deutsch beschreiben
- Codebase-Verständnis - KI, die Ihr gesamtes Projekt versteht
- Erweitertes Refactoring - KI-gestützte Code-Verbesserungen
Wir werden diese Tools vergleichen und Ihnen helfen, die beste KI-Unterstützung für verschiedene Szenarien zu wählen.
10. Python installieren: Die Sprache der modernen Entwicklung
Bevor wir Python-Programme schreiben und ausführen können, müssen wir Python auf unserem System installieren. Dies ist ein entscheidender erster Schritt, der oft übersprungen wird, aber für Ihren Erfolg in diesem Kurs unerlässlich ist.
10.1 Warum die Python-Installation wichtig ist
Die Installation von Python mag trivial erscheinen, aber die richtige Einrichtung stellt sicher:
- Konsistentes Verhalten - Ihr Code verhält sich genauso wie im Kurs gezeigt
- Zugriff auf neueste Funktionen - Sie können moderne Python-Features nutzen
- Ordnungsgemäßes Paket-Management - pip und andere Tools funktionieren korrekt
- Tool-Kompatibilität - VS Code, GitHub Copilot und andere Entwicklungstools können Python finden
10.2 Prüfen, ob Python bereits installiert ist
Bevor Sie Python installieren, prüfen Sie, ob es bereits auf Ihrem System vorhanden ist. Öffnen Sie ein Terminal (PowerShell unter Windows oder Terminal unter Linux) und führen Sie aus:
python --version
Oder unter Linux:
python3 --version
Wenn Sie eine Versionsnummer wie Python 3.12.x sehen, ist Python bereits installiert. Wenn die Version 3.10 oder höher ist, können Sie diesen Abschnitt möglicherweise überspringen. Wenn Sie eine Fehlermeldung erhalten oder eine ältere Version haben, fahren Sie mit den Installationsschritten fort.
10.3 Windows-Installation
Die Installation von Python unter Windows ist unkompliziert, erfordert aber Aufmerksamkeit bei einem wichtigen Schritt.
10.3.1 Schritt 1: Python herunterladen
- Besuchen Sie die offizielle Python-Website: https://www.python.org
- Klicken Sie auf “Downloads” im Hauptmenü
- Die Website sollte automatisch die neueste Version für Windows erkennen (Python 3.12.x)
- Klicken Sie auf den großen gelben Button “Download Python 3.12.x”
10.3.2 Schritt 2: Python installieren
⚠️ WICHTIG: Dies ist der häufigste Punkt, an dem Anfänger einen Fehler machen!
- Führen Sie den heruntergeladenen Installer aus (z.B.
python-3.12.x-amd64.exe) - Bevor Sie auf “Install Now” klicken, aktivieren Sie das Kontrollkästchen:
- ✅ “Add python.exe to PATH” - Dieses Kontrollkästchen befindet sich am unteren Rand des Installers
- ✅ “Install launcher for all users (recommended)”
- Klicken Sie nun auf “Install Now”
- Wenn Sie nach Administratorrechten gefragt werden, klicken Sie auf “Ja”
- Warten Sie, bis die Installation abgeschlossen ist
- Klicken Sie auf “Close”, wenn die Installation abgeschlossen ist
Warum PATH wichtig ist:
Der PATH ist eine Systemvariable, die Windows mitteilt, wo nach ausführbaren Programmen gesucht werden soll. Ohne Python im PATH müssten Sie jedes Mal den vollständigen Pfad angeben, wenn Sie Python ausführen möchten (C:\Users\YourName\AppData\Local\Programs\Python\Python312\python.exe statt nur python).
10.3.3 Schritt 3: Installation überprüfen
Öffnen Sie ein neues PowerShell-Fenster (wichtig: ein neues Fenster, damit es die PATH-Änderungen lädt) und führen Sie aus:
python --version
Sie sollten etwas wie sehen:
Python 3.12.x
Überprüfen Sie auch pip (Pythons Paketinstaller):
pip --version
Sie sollten etwas wie sehen:
pip 24.x.x from C:\Users\YourName\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip (python 3.12)
10.3.4 Häufige Windows-Probleme
Problem: “python wird nicht als interner oder externer Befehl erkannt”
Dies bedeutet, dass Python nicht zu Ihrem PATH hinzugefügt wurde. So beheben Sie es:
- Deinstallieren Sie Python über Systemsteuerung → Programme → Programme deinstallieren
- Installieren Sie Python erneut und aktivieren Sie diesmal “Add python.exe to PATH”
Problem: Python öffnet den Microsoft Store
Neuere Windows-Versionen leiten den Befehl python manchmal zum Microsoft Store um. So beheben Sie es:
- Öffnen Sie “Einstellungen” (Windows-Taste + I)
- Gehen Sie zu “Apps” → “Apps & Features” → “App-Ausführungs-Aliase”
- Deaktivieren Sie die Optionen für “App-Installationsprogramm” python.exe und python3.exe
- Versuchen Sie erneut,
python --versionauszuführen
Problem: Ich sehe eine alte Python-Version
Wenn Sie eine ältere Python-Version installiert haben, überschreibt die neue Installation diese möglicherweise nicht. Sie können:
- Die alte Version über die Systemsteuerung deinstallieren
- Oder den vollständigen Pfad zur neuen Version verwenden:
py -3.12
10.3.5 pip aktualisieren (empfohlen)
Nach der Installation von Python ist es eine gute Praxis, pip auf die neueste Version zu aktualisieren:
python -m pip install --upgrade pip
10.4 Linux (Ubuntu) Installation
Die meisten Linux-Distributionen werden mit Python vorinstalliert geliefert, aber es ist normalerweise Python 3.10 oder älter. Für diesen Kurs wollen wir Python 3.12 (die neueste stabile Version).
10.4.1 Schritt 1: Aktuelle Python-Version prüfen
Öffnen Sie ein Terminal und prüfen Sie, welche Version Sie haben:
python3 --version
Wenn Sie Python 3.12 oder höher sehen, sind Sie fertig! Wenn nicht, fahren Sie mit den folgenden Schritten fort.
10.4.2 Schritt 2: Paketmanager aktualisieren
Aktualisieren Sie zunächst die Paketliste Ihres Systems:
sudo apt update
10.4.3 Schritt 3: deadsnakes PPA hinzufügen
Ubuntu’s Standard-Repositories enthalten nicht immer die neueste Python-Version. Wir verwenden das deadsnakes PPA (Personal Package Archive), das neuere Python-Versionen bereitstellt:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
10.4.4 Schritt 4: Python 3.12 installieren
Installieren Sie nun Python 3.12 und essenzielle Entwicklungstools:
sudo apt install python3.12
sudo apt install python3.12-venv
sudo apt install python3.12-dev
Was installiert jedes Paket?
python3.12- Die Python-Interpreter-Enginepython3.12-venv- Unterstützung für virtuelle Umgebungen (mehr dazu in Teil 2)python3.12-dev- Header-Dateien zum Kompilieren von Python-Paketen
10.4.5 Schritt 5: Python 3.12 als Standard festlegen (optional)
Wenn Sie möchten, dass python3 auf Python 3.12 zeigt:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1
10.4.6 Schritt 6: pip installieren
Python 3.12 sollte mit pip geliefert werden, aber lassen Sie uns sicherstellen, dass es installiert ist:
sudo apt install python3-pip
Aktualisieren Sie pip auf die neueste Version:
python3.12 -m pip install --upgrade pip
10.4.7 Schritt 7: Build-Essentials installieren (empfohlen)
Einige Python-Pakete erfordern das Kompilieren von C-Code. Installieren Sie die erforderlichen Tools:
sudo apt install build-essential
sudo apt install python3-dev
10.4.8 Installation überprüfen
Testen Sie Ihre Installation:
python3.12 --version
# Sollte ausgeben: Python 3.12.x
python3.12 -m pip --version
# Sollte pip-Versionsinformationen anzeigen
10.5 Überprüfen, dass die Installation funktioniert
Testen wir, ob Python richtig funktioniert, indem wir drei schnelle Prüfungen durchführen.
10.5.1 Test 1: Interaktive Shell
Geben Sie dies in Ihr Terminal ein:
Windows:
python
Linux:
python3.12
Sie sollten in die Python-Eingabeaufforderung gelangen:
Python 3.12.x (main, ...)
Type "help", "copyright", "credits" or "license" for more information.
>>>
Versuchen Sie, etwas einfachen Python-Code auszuführen:
>>> print("Hallo aus Python!")
Hallo aus Python!
>>> 2 + 2
4
>>> exit()
10.5.2 Test 2: Python-Skript ausführen
Erstellen Sie eine Testdatei namens test.py:
Windows (PowerShell):
echo 'print("Python funktioniert!")' > test.py
python test.py
Linux:
echo 'print("Python funktioniert!")' > test.py
python3.12 test.py
Sie sollten sehen:
Python funktioniert!
10.5.3 Test 3: Paket mit pip installieren
Testen Sie, ob pip ordnungsgemäß funktioniert, indem Sie ein einfaches Paket installieren:
Windows:
pip install requests
Linux:
python3.12 -m pip install requests
Wenn dies ohne Fehler erfolgreich ist, funktioniert Ihre Python-Installation vollständig!
Sie können die Testdatei und das Paket entfernen:
Windows:
del test.py
pip uninstall requests -y
Linux:
rm test.py
python3.12 -m pip uninstall requests -y
10.6 Befehlsunterschiede: Windows vs. Linux
Ein häufiger Stolperstein für Studenten ist, dass Python-Befehle sich zwischen Windows und Linux unterscheiden:
| Kursmaterialien | Windows | Linux |
|---|---|---|
python |
python |
python3 oder python3.12 |
pip |
pip |
pip3 oder python3.12 -m pip |
Warum der Unterschied?
- Windows: Wenn Sie Python installieren, ist es normalerweise die einzige Version, sodass
pythonfunktioniert - Linux: Das System kann eine alte Python 2.x-Version haben, daher zeigt
python3eindeutig auf Python 3.x
Praktischer Tipp für Linux-Benutzer:
Sie können einen Alias erstellen, damit python unter Linux funktioniert:
echo "alias python='python3.12'" >> ~/.bashrc
source ~/.bashrc
Jetzt können Sie python verwenden, genau wie in unseren Kursmaterialien!
10.7 Was wir installiert haben
Fassen wir zusammen, was jetzt auf Ihrem System vorhanden ist:
- Python 3.12 - Die neueste stabile Version der Python-Programmiersprache
- pip - Pythons Paketinstaller (zum Installieren von Bibliotheken wie numpy, pandas usw.)
- IDLE (Windows) - Ein einfacher Python-Editor (optional, wir verwenden VS Code)
- Python-Standardbibliothek - Hunderte von integrierten Modulen für häufige Aufgaben
- Entwicklungs-Header (Linux) - Zum Kompilieren von Python-Paketen mit C-Erweiterungen
10.8 Fehlerbehebung bei häufigen Problemen
10.8.1 “Zugriff verweigert” beim Installieren von Paketen
Lösung: Verwenden Sie das Flag --user, um für Ihren Benutzer zu installieren:
Windows:
pip install --user paketname
Linux:
python3.12 -m pip install --user paketname
Nicht verwenden sudo pip! Dies installiert Pakete systemweit und kann Ihr System beschädigen.
10.8.2 Mehrere Python-Versionen verursachen Verwirrung
Wenn Sie mehrere Python-Versionen haben, seien Sie bei Befehlen explizit:
Windows:
py -3.12 -m pip install paketname
Linux:
python3.12 -m pip install paketname
Das Flag -m pip teilt Python mit, pip als Modul auszuführen, wodurch sichergestellt wird, dass Sie pip für die spezifische Python-Version verwenden, die Sie aufgerufen haben.
10.8.3 Alte Version bleibt bestehen, auch nach der Installation
Auf beiden Plattformen: Das Problem liegt wahrscheinlich darin, dass die alte Version früher in Ihrem PATH erscheint.
Windows-Lösung:
- Suchen Sie nach “Umgebungsvariablen” im Startmenü
- Klicken Sie auf “Umgebungsvariablen”
- Finden Sie “Path” in Systemvariablen
- Verschieben Sie den neuen Python-Pfad an die erste Stelle
Linux-Lösung:
- Überprüfen Sie, welches Python tatsächlich ausgeführt wird:
which python3 - Verwenden Sie
update-alternatives, um die Standardversion festzulegen (siehe Schritt 5 oben)
10.9 Nächste Schritte
Jetzt, da Python installiert ist, sind Sie bereit, Ihre ersten Programme zu schreiben! Im nächsten Abschnitt werden wir:
- Ein vollständiges Entwicklungsprojekt durchgehen
- Lernen, wie man Code mit Git versioniert
- Unser erstes Python-Programm schreiben und ausführen
Hinweis zu virtuellen Umgebungen: In Teil 2 dieser Vorlesung werden wir virtuelle Umgebungen behandeln - eine Möglichkeit, isolierte Python-Umgebungen für verschiedene Projekte zu erstellen. Für jetzt genügt es zu wissen, dass Sie Python haben und es funktioniert. Virtuelle Umgebungen sind eine bewährte Methode, die wir später erkunden werden.
Wir werden auch moderne Werkzeuge wie uv (einen schnellen Python-Paketmanager) in zukünftigen Vorlesungen untersuchen. Für jetzt konzentrieren wir uns auf die Grundlagen.
11. Ihr erster Entwicklungs-Workflow
Nachdem wir nun Python installiert haben, lassen Sie uns alles mit einem praktischen Beispiel zusammenfügen:
11.1 Schritt 1: Öffnen Sie Ihr Repository in VS Code
cd ~/Documents/MyFirstRepo
code .
11.2 Schritt 2: Erstellen Sie ein einfaches Python-Programm
Erstellen Sie eine neue Datei namens hello_world.py:
# Einfaches Begrüßungsprogramm
def greet_user(name: str) -> str:
"""
Generiert eine personalisierte Begrüßungsnachricht
Args:
name: Der Name des Benutzers
Returns:
Ein formatierter Begrüßungsstring
"""
return f"Hallo, {name}! Willkommen zur modernen Softwareentwicklung."
def main():
"""Hauptfunktion zum Ausführen des Begrüßungsprogramms"""
user_name = input("Geben Sie Ihren Namen ein: ")
greeting = greet_user(user_name)
print(greeting)
if __name__ == "__main__":
main()
11.3 Schritt 3: Testen Sie Ihr Programm
python hello_world.py
11.4 Schritt 4: Committen Sie Ihre Änderungen
# Prüfen Sie, welche Dateien sich geändert haben
git status
# Fügen Sie Ihre neue Datei hinzu
git add hello_world.py
# Committen Sie mit einer beschreibenden Nachricht
git commit -m "Python Begrüßungsprogramm mit Benutzereingabe hinzufügen"
# Push zu GitHub
git push origin main
11.5 Schritt 5: Auf GitHub verifizieren
Besuchen Sie Ihr Repository auf GitHub und sehen Sie, wie Ihre neue Datei mit der Commit-Nachricht erscheint.
12. Moderne Entwicklungs-Workflow-Visualisierung
12.1 Anhang: SSH-Schlüssel für GitHub einrichten (Optional aber empfohlen)
SSH-Schlüssel bieten eine sicherere und bequemere Möglichkeit, sich bei GitHub zu authentifizieren, ohne Passwörter eingeben zu müssen.
12.1.1 SSH-Schlüssel generieren
Windows (Git Bash) oder Linux:
# Neuen SSH-Schlüssel generieren
ssh-keygen -t ed25519 -C "ihre.email@universitaet.de"
# SSH-Agent starten
eval "$(ssh-agent -s)"
# Schlüssel zum Agent hinzufügen
ssh-add ~/.ssh/id_ed25519
12.1.2 SSH-Schlüssel zu GitHub hinzufügen
- Kopieren Sie Ihren öffentlichen Schlüssel:
cat ~/.ssh/id_ed25519.pub - Gehen Sie zu GitHub Einstellungen > SSH and GPG keys > New SSH key
-
Fügen Sie Ihren öffentlichen Schlüssel ein und speichern Sie ihn
- Verbindung testen:
ssh -T git@github.com
Jetzt können Sie mit SSH-URLs statt HTTPS klonen und pushen.
13. Zusammenfassung und wichtige Erkenntnisse
Heute haben wir die Grundlage der modernen Softwareentwicklung gelegt:
13.1 Gemeisterte Kernkonzepte
- Repositories als umfassende Entwicklungs-Ökosysteme
- GitHub als Industrie-Standard-Plattform für Code-Zusammenarbeit
- Git als universelles Versionskontrollsystem
- VS Code als leistungsstarke, erweiterbare Entwicklungsumgebung
- GitHub Copilot als Ihr KI-Programmier-Assistent
13.2 Entwickelte professionelle Fähigkeiten
- Ihr erstes GitHub-Repository erstellt
- Eine vollständige Entwicklungs-Toolchain installiert und konfiguriert
- Den grundlegenden Workflow moderner Softwareentwicklung gelernt
- Ihre Präsenz in der globalen Entwickler-Community etabliert
13.3 Der moderne Vorteil
Sie sind jetzt mit denselben Tools ausgestattet, die von Entwicklern bei Google, Microsoft, Netflix und jedem großen Tech-Unternehmen verwendet werden. Die Kombination aus:
- Professioneller Versionskontrolle (Git/GitHub)
- Intelligenter Entwicklungsumgebung (VS Code)
- KI-gestützter Unterstützung (GitHub Copilot)
…repräsentiert die Spitze der Produktivität in der Softwareentwicklung.
14. Vorlesungsquiz: Testen Sie Ihr Verständnis
Nachdem Sie Kapitel 01 (Moderne Entwicklungswerkzeuge) abgeschlossen haben, ist es an der Zeit, Ihr Verständnis der wichtigsten Konzepte zu überprüfen. Dieses Quiz dient mehreren wichtigen Zwecken:
14.1 Warum sollten Sie dieses Quiz absolvieren?
Für Ihr Lernen:
- Selbsteinschätzung: Identifizieren Sie Bereiche, in denen Sie ein gutes Verständnis haben, und Themen, die eine Wiederholung benötigen
- Prüfungsvorbereitung: Format und Schwierigkeitsgrad des Quiz spiegeln wider, was Sie in der Abschlussprüfung erwarten können
- Sofortiges Feedback: Erhalten Sie sofortiges Feedback zu Ihren Antworten, um das richtige Verständnis zu festigen
- Aktive Wiederholung: Sich selbst zu testen ist eine der effektivsten Lerntechniken
Für die Kursverbesserung:
- Anonymes Feedback: Ihre Antworten helfen mir zu verstehen, welche Konzepte mehr Erklärung benötigen
- Inhaltsanpassung: Wenn viele Studierende mit einem Thema Schwierigkeiten haben, werden wir mehr Zeit darauf im Unterricht verwenden
- Tempo-Indikator: Zeigt mir, ob wir zu schnell oder zu langsam vorankommen
14.2 Quiz-Details
- Benötigte Zeit: Etwa 5-10 Minuten
- Fragen: 20 Multiple-Choice-Fragen zu allen wichtigen Themen dieser Vorlesung
- Behandelte Themen:
- Repository-Grundlagen und Versionskontrollkonzepte
- GitHub vs. GitLab Vergleich
- Git-Installation und -Konfiguration
- Klonen und grundlegender Git-Workflow
- IDE-Konzepte und VS Code-Funktionen
- GitHub Copilot Fähigkeiten und Grenzen
- Moderne Entwicklungs-Workflows
- Format: Multiple Choice mit sofortigem Feedback
- Datenschutz: Völlig anonyme - keine persönlichen Informationen werden erfasst
- Versuche: Sie können es mehrmals absolvieren, um Ihr Verständnis zu verbessern
- Bewertung: Automatisch bewertet mit Erklärungen für jede Antwort
14.3 Wie Sie dieses Quiz effektiv nutzen
- Schließen Sie zuerst die Vorlesung ab: Stellen Sie sicher, dass Sie alle Abschnitte gelesen haben
- Nehmen Sie es ernst: Behandeln Sie es wie eine Übungsprüfung
- Nicht überstürzen: Denken Sie sorgfältig über jede Frage nach
- Überprüfen Sie falsche Antworten: Achten Sie besonders auf die Erklärungen zu Fragen, die Sie falsch beantwortet haben
- Wiederholen bei Bedarf: Wenn Sie weniger als 80% erreichen, überprüfen Sie das Material und versuchen Sie es erneut
14.4 Wichtige Hinweise
- Dieses Quiz ist nicht benotet und beeinflusst nicht Ihre endgültige Kursnote
- Die Ergebnisse werden nur verwendet, um die Lehre zu verbessern und Ihnen bei der Vorbereitung auf die tatsächliche Prüfung zu helfen
- Ähnliche Fragen werden erscheinen in der Abschlussprüfung
- Jede Vorlesung wird im Laufe des Semesters ein ähnliches Quiz haben
📋 Bereit, Ihr Wissen zu testen?
Absolvieren Sie das Kapitel 01 (Moderne Entwicklungswerkzeuge) Quiz
Nach Abschluss des Quiz haben Sie ein klares Bild von Ihrer Beherrschung der Inhalte dieser Vorlesung. Denken Sie daran: Mit einigen Fragen zu kämpfen ist normal und zu erwarten - so lernt man!
15. Zusätzliche Ressourcen
15.1 Wesentliche Lektüre
- Pro Git Buch - Umfassende Git-Referenz
- GitHub Docs - Offizielle GitHub-Dokumentation
- VS Code Tipps - Maximieren Sie Ihre Editor-Effizienz
15.2 Übungsplattformen
- GitHub Learning Lab - Interaktive Git-Tutorials
- Learn Git Branching - Visuelles Git-Lernen