Jupyter Notebooks & Git 🚀

MZ

+GymHum Tools!💻

Was ist Jupyter Notebook?

  • Interaktive Entwicklungsumgebung: Code, Text und Visualisierungen in einem Dokument, mit IDE Fähigkeiten
  • Web-basiert: läuft im Browser
  • Zellen-basiert: Code in ausführbaren Blöcken
  • Mehrere Sprachen: Python, R, Julia, Scala
Fun fact: „Jupyter“ steht für Julia, Python und R

Warum Jupyter nutzen?

  • Web-basiert: keine Installation nötig
  • Markdown integriert: Dokumentation und Code zusammen
  • Visualisierungen: direkt im Notebook sichtbar
  • Einfache Verwaltung: über Terminal

Jupyter Grundlagen 🔧

Zellen-Typen:

  • 🐍 Code-Zellen: ausführbarer Python-Code
  • 📝 Markdown-Zellen: Text, Überschriften, Listen
  • 📄 Raw-Zellen: unformatierter Text (brauchen wir nicht)

Wichtige Tastenkombinationen

Jupyter im Command Mode:

  • Shift + Enter – Zelle ausführen & nächste auswählen
  • Ctrl + Enter – Zelle ausführen & Fokus bleibt
  • A – Zelle oberhalb einfügen
  • B – Zelle unterhalb einfügen
  • X – Zelle löschen

Verteilsystem für Jupyter-Aufgaben 📤

Automatisierte Aufgabenverteilung für den Kurs, von Holger!

Funktionen:

  • 📤 Aufgabe verteilen – an alle Schüler*innen
  • 📥 Aufgabe einsammeln – automatisch aus Schüler-Ordnern
  • 💬 Feedback verteilen – korrigierte Version zurück
  • 👤 Einzelaufgabe verteilen – gezielt
  • 🧪 Prüfungsmodus – sichere Prüfungsumgebung

Bash & .bashrc 🐚

Was ist die Shell?

  • Terminal ist dein Interface, um Befehle einzugeben
  • Schützt dich davor, direkt im Kernel zu arbeiten
  • Aliase und Skripte vereinfachen deine Arbeit
  • Config in ~/.bashrc

Linux-Dateisystem

  • Computer haben User
  • Jede*r hat eigene Dateien
  • Du bist im Home-Ordner
  • Dein Home = ~/

Bash-Befehle

  • ls – Inhalte anzeigen
  • cd – Verzeichnis wechseln
  • rm – Datei löschen
  • .. – ein Verzeichnis nach oben

Alias setzen


alias jup="jupyter notebook"
        

Dauerhaftes Alias


echo 'alias jup="jupyter notebook"' >> ~/.bashrc
source ~/.bashrc
        

Was ist Git? 🔄

  • Versionskontrollsystem: verfolgt Änderungen
  • Kollaboration: mehrere arbeiten am Projekt
  • Historie: komplette Projektchronik
  • Branching: paralleles Arbeiten
  • Dezentral: jede*r hat volle Kopie
Fun fact: Git wurde 2005 von Linus Torvalds entwickelt

Git-Begriffe

  • Repository: Projektordner mit Git
  • Commit: Schnappschuss
  • Branch: Zweig
  • Merge: Zusammenführung
  • Remote: Serverversion (z. B. GitLab)
  • Clone: lokale Kopie

Workflow

1. Arbeitsbereich → Staging


git add datei.py
git add .
          

2. Staging → Repository


git commit -m "Beschreibung der Änderung"
          

3. Repository → Remote


git push origin main
          

Neues Repo anlegen


mkdir mein-projekt
cd mein-projekt
git init
git config user.name "dein Name"
git config user.email "deine@email.com"
echo "# Mein Projekt" > README.md
git add README.md
git commit -m "Initial commit"
        

Repo klonen


git clone https://git.gymnasium-hummelsbuettel.de/MZ/pythoncrashkurs_aufgaben.git
cd pythoncrashkurs_aufgaben
git status
        

Git Best Practices

  • Aussagekräftige Commit-Messages
  • Kleine, häufige commits
  • Eine .gitignore verwenden

Praktische Tipps

Jupyter

  • Kernel neu starten bei Fehlern
  • Markdown-Zellen zur Dokumentation nutzen

Git

  • Vor wichtigen Änderungen committen
  • Branches für Experimente

Zusammenfassung

Jupyter

  • Interaktive Entwicklung
  • Markdown plus Code
  • Verteilsystem für Aufgaben

Git

  • Versionskontrolle
  • Kollaboration
  • Historie & Backup
Nächste Schritte: Repo klonen, Aufgaben lösen, commit & push!

Fragen?

💭