|
|
Zeile 3: |
Zeile 3: |
| == tl;dr == | | == tl;dr == |
|
| |
|
| Workshop zu Git, der freien Software zur verteilten Versionsverwaltung.
| | Symbolische Programmierung mit Wolfram Mathematica und sympy (Python). |
| | |
| Was ist git eigentlich und wie funktioniert es? Eine Einführung zum mitmachen.
| |
|
| |
|
| == Too Long Did Read == | | == Too Long Did Read == |
|
| |
|
| === Motivation ===
| | In diesem KBS lernt ihr, was Symbolische Programmierung eigentlich ist (im Gegensatz zu Numerischer Programmierung & Co.), welche Probleme wir besser analytisch / symbolisch lösen können, und welche lieber numerisch. |
|
| |
|
| Bist du es nicht auch leid, für deine Hausaufgaben ständig Dateien hin- und herzuschicken?
| | Nachdem wir Programme und Syntax abgehandelt haben, spreche ich folgende Themen an: |
| Hast du schon mal in einer Präsentation etwas geändert und dich später geärgert, dass eine alte Version für immer verschollen ist?
| |
| Hast du kurz vor der Abgabe eines Dokumentes wild zwischen "Abgabe_v20_fertig.pdf", "Abgabe_v21_neu.pdf", "Abgabe_v20-komplett.pdf" und "Abgabe_final_korrigiert.pdf" hin- und hergeschaut, um den letzten Stand ausfindig zu machen?
| |
| Und hast dich schon mal gefragt, wie das überhaupt geht, dass dutzende Leute zusammen an einer Software arbeiten, wenn es doch ewig dauern würde, die einzelnen Codeschnipsel zusammenzutragen und ständig aktuell zu halten?
| |
|
| |
|
| Dann hast du am kommenden Dienstagabend hoffentlich noch nichts vor, denn da erzähle ich dir und allen Genossen im Schmerz<ref>Ja, diese Formulierung kommt nicht von mir, sondern von Walter ;)</ref>, welch schlaue Software die obigen Probleme löst: Git!
| | * Gleichungen umstellen, lösen, und vereinfachen |
| | * Ableitungen und Stammfunktionen bestimmen |
| | * Eigenwerte finden, Gleichungssysteme lösen |
| | * ... |
|
| |
|
| === Was ist eine Versionsverwaltung? ===
| | Ich werde versuchen, das ganze etwas interaktiv zu gestalten, deshalb wäre es sehr von Vorteil, wenn ihr einen Rechner mit installiertem Mathematica mitbringt '''(siehe unten)'''. |
|
| |
|
| Änderungen an Dateien werden mit Hilfe einer Versionsverwaltung in einzelnen Versionen abgespeichert, sodass man einfach zu älteren Ständen zurückspringen kann. Einzelne Arbeitsschritte gehen also nicht verloren und man braucht nie mehr tausend Dateien wie "Abgabe-V2_final_korrigiert-fertig.pdf" anlegen.
| | == Vortragende == |
|
| |
|
| Typischerweise erlaubt eine Versionsverwaltung das erstellen paralleler Versionen. Stell dir vor du hast eine Datei "Abgabe.tex" und kopiert sie zu "Abgabe_B.tex". Bei der originalen Abgabe änderst du nun im ersten Kapitel etwas und bei "Abgabe_B" im zweiten Kapitel. Klingt erst mal sinnlos, aber vielleicht bist du dir noch nicht sicher, ob du die Änderungen in "Abgabe_B" wirklich beibehalten möchtest und erstellt so erst mal eine Art Sicherung.
| | * Ruben 14felgenh |
|
| |
|
| So in etwa arbeitet auch eine Versionsverwaltung, in dem verschiedene Stände deiner Arbeit parallel existieren können. So kann man verhindern, dass ungewollte oder fremde Änderungen deine Abgaben, Code oder sonstigen Dokumente kaputt machen.
| | == Folien == |
|
| |
|
| Das halten paralleler Versionen lässt sich natürlich prima auf mehrere Rechner aufteilen, sodass mehrere Personen ihre eigenen Versionen eines Dokumentes halten und so parallel arbeiten können.
| | * Folien: [[Datei:KBS-WiSe2223-SymbolischeProgrammierung.pdf]] |
|
| |
|
| All das (und noch viel viel mehr) kann git.
| | == Was muss ich mitbringen? == |
| | |
| === Was ist git? ===
| |
| | |
| Git ist
| |
| * plattformunabhängig, klein, schnell und kostenlos,
| |
| * kein hacky Nieschen-Tool, sondern ein de-facto Standardwerkzeug, dass alle benutzen ... alle professionellen (Unternehmen|Entwickler|Hacker|Studis) zumindest ;)
| |
| * in den Basics einfach zu lernen,
| |
| * trotzdem unglaublich mächtig,
| |
| * 100% LaTeX<ref>Gibt es vielleicht auch bald ein KBS zu</ref>-Kompatibel, also perfekt für Hausaufgaben, Ausarbeitungen und Abschlussarbeiten,
| |
| * in jeder guten IDE (standardmäßig) unterstützt!
| |
| | |
| === Was muss ich mitbringen? ===
| |
| | |
| Dieses KBS ist zum mitmachen gedacht. Am besten du bereitest dich vor:
| |
| | |
| * Mache dich mit [https://git.mafiasi.de git.mafiasi.de] vertraut (zumindest solltest du dich dort anmelden können)
| |
| * Bringe einen Laptop mit und installiere [https://git-scm.com/ git] darauf (egal ob Windows oder Linux, aber natürlich empfehle ich dir Linux ;) )
| |
| | |
| == Vortragende ==
| |
| | |
| * Hauke 14stieler
| |
| | |
| == Folien ==
| |
|
| |
|
| Gibt dieses mal vielleicht keine (neuen), mal schauen.
| | Idealerweise bringst du ein eigenes Notebook mit installiertem Wolfram Mathematica und <abbr title="$ pip install sympy">sympy</abbr> mit. |
|
| |
|
| Folien vom letzten mal: [[Medium:KBS-SoSe21-Git-Crashkurs.pdf]]
| | Als Studierender der UHH kannst du eine Mathematica-Lizenz der Uni benutzen. Mehr Infos dazu findest du [https://www.rrz.uni-hamburg.de/services/software/software-thematisch/software-alpha/mathematica.html hier] (nur aus dem Uni-Netz oder über VPN verfügbar). |
Dies ist der 5. Termin vom KunterBuntenSeminar im WS 22/23.
Ort: G-022
Datum: 10. Januar
Zeit: 18:00 Uhr bis ca. 20:00 Uhr
Symbolische Programmierung mit Wolfram Mathematica und sympy (Python).
In diesem KBS lernt ihr, was Symbolische Programmierung eigentlich ist (im Gegensatz zu Numerischer Programmierung & Co.), welche Probleme wir besser analytisch / symbolisch lösen können, und welche lieber numerisch.
Nachdem wir Programme und Syntax abgehandelt haben, spreche ich folgende Themen an:
- Gleichungen umstellen, lösen, und vereinfachen
- Ableitungen und Stammfunktionen bestimmen
- Eigenwerte finden, Gleichungssysteme lösen
- ...
Ich werde versuchen, das ganze etwas interaktiv zu gestalten, deshalb wäre es sehr von Vorteil, wenn ihr einen Rechner mit installiertem Mathematica mitbringt (siehe unten).
Was muss ich mitbringen?[Bearbeiten]
Idealerweise bringst du ein eigenes Notebook mit installiertem Wolfram Mathematica und sympy mit.
Als Studierender der UHH kannst du eine Mathematica-Lizenz der Uni benutzen. Mehr Infos dazu findest du hier (nur aus dem Uni-Netz oder über VPN verfügbar).