README.md 5.94 KB
Newer Older
Gereon Dusella's avatar
emdash    
Gereon Dusella committed
1
# ISDA Tutoriumsaufgaben — Sommersemester 2022
dusella.g's avatar
dusella.g committed
2

Gereon Dusella's avatar
Gereon Dusella committed
3
Liebe Teilnehmer*innen, 
dusella.g's avatar
dusella.g committed
4

Gereon Dusella's avatar
Gereon Dusella committed
5
6
Wilkommen im offiziellen Git-Repository der Tutorien zur ISDA Vorlesung. Jede Woche werden hier, zeitversetzt 
und der Reihenfolge nach, die neuen Übungen zur Vorlesung veröffentlicht. Jede Übung ist interaktiv und besteht
7
aus einem auf Python basierenden Jupyter Notebook. Für jede Vorlesung wird es ein (oder mehrere) Notebook(s)
Gereon Dusella's avatar
Gereon Dusella committed
8
mit Aufgaben geben.
dusella.g's avatar
dusella.g committed
9

Gereon Dusella's avatar
Gereon Dusella committed
10
11
12
Die Aufgaben sind selbstständig zu bearbeiten. In den Tutorien werden ausgewählte Aufgaben
besprochen und offene Fragen geklärt. Es wird erwartet, dass alle Teilnehmer*innen vorbereitet zu den Tutorien
erscheinen. Die Tutorien ersetzen **nicht** die Vorlesungsvideos.
dusella.g's avatar
dusella.g committed
13

Gereon Dusella's avatar
Gereon Dusella committed
14
Die Notebooks können entweder online, über den unten beigefügten Binder-Link, gestartet werden oder durch
15
eine lokale Installation von Python und Jupyter. Eine Anleitung zur Installation befindet sich
Gereon Dusella's avatar
Gereon Dusella committed
16
ebenfalls hier in der Beschreibung.
dusella.g's avatar
dusella.g committed
17

Gereon Dusella's avatar
Gereon Dusella committed
18
## Binder Links (Öffnet die Aufgabenblätter Online, Externer Service)
dusella.g's avatar
dusella.g committed
19

Gereon Dusella's avatar
Gereon Dusella committed
20
21
| Tutorium | Kalenderwoche | Übungsthema  | Notebook-Link |
| -------: | ------------: | ------------- | :-------------: |
22
|       00 |            -- | [Grundlagen in Python](00_python_intro.ipynb)  |  [Binder: Grundlagen in Python](https://mybinder.org/v2/git/https%3A%2F%2Fgit.tu-berlin.de%2Fdima%2Fisda%2Fisda-sose22.git/HEAD?filepath=00_python_intro.ipynb) |
Gereon Dusella's avatar
Gereon Dusella committed
23
24
|       01 |            17 | [Modellierung im Entity-Relationship-Stil](01_modellierung_er.md) |  |
|       02 |            18 | [Modellierung im erweiterten Entity-Relationship-Stil](02_modellierung_eer.md) |  |
25
|       03 |            19 | [Relationaler Entwurf](03_relationaler_-_entwurf.md) |  |
Gereon Dusella's avatar
Gereon Dusella committed
26
|       04 |            20 | [Normalisierung](04_normalisierung.md) |  |
harry_g's avatar
harry_g committed
27
|       05 |            21 | [Relationale Algebra](05_relationale_algebra) | [Binder: Relationale Algebra](https://mybinder.org/v2/git/https%3A%2F%2Fgit.tu-berlin.de%2Fdima%2Fisda%2Fisda-sose22.git/HEAD?filepath=05_relationale_algebra) |
harry_g's avatar
harry_g committed
28
|       06 |            22 | [SQL](SQL) | [Binder: SQL](https://mybinder.org/v2/git/https%3A%2F%2Fgit.tu-berlin.de%2Fdima%2Fisda%2Fisda-sose22.git/HEAD?filepath=06_sql) |
29
|       07 |            24 | [Transaktionen](07_transaktionen) | [Binder: Transaktionen](https://mybinder.org/v2/git/https%3A%2F%2Fgit.tu-berlin.de%2Fdima%2Fisda%2Fisda-sose22.git/HEAD?filepath=07_transaktionen) |
dusella.g's avatar
dusella.g committed
30
|       08 |            25 | [Data Warehousing](08_data_warehousing.ipynb) | [Binder: Data Warehousing](https://mybinder.org/v2/git/https%3A%2F%2Fgit.tu-berlin.de%2Fdima%2Fisda%2Fisda-sose22.git/HEAD?filepath=08_data_warehousing.ipynb) |
dusella.g's avatar
dusella.g committed
31

Gereon Dusella's avatar
Gereon Dusella committed
32
## Lokale Installation
dusella.g's avatar
dusella.g committed
33

Gereon Dusella's avatar
Gereon Dusella committed
34
1. [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) installieren
35
36

2. Repository clonen und den Ordner öffnen: 
dusella.g's avatar
dusella.g committed
37

Gereon Dusella's avatar
Gereon Dusella committed
38
        git clone https://git.tu-berlin.de/dima/isda/isda-sose22.git
39
40
41
42
43
44
45
46
        cd isda-sose22

3. Python-Umgebung aufsetzen\
   Wir empfehlen für die Übungsblätter eine virtuelle Umgebung zu erstellen. Damit könnt ihr für ISDA die benötigten Python-Pakete in einer bestimmten Version installieren und für andere Projekte ggf. eine andere Version benutzen. Für das Verwalten von Python-Paketen und virtuellen Umgebungen empfehlen wir entweder `pip` & `virtualenv` oder `conda` (den Paket- und Umgebungsmanager hinter Anaconda).

    #### pip & virtualenv (empfohlen für Linux)
    1. Installiere zunächst Python 3 und `pip` über den für dein Betriebssystem empfohlenen Weg. Beispiel Ubuntu:

lennart.behme's avatar
lennart.behme committed
47
48
49
        ```bash
        sudo apt install python3 python3-pip
        ```
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

    2. `virtualenv` installieren und virtuelle Umgebung erstellen:

        ```bash
        pip install virtualenv
        virtualenv venv  # erstellt im aktuellen Ordner einen Ordner 'venv' mit der virtuellen Umgebung
        ```

    3. Virtuelle Umgebung aktivieren und benötigte Pakete installieren:

        ```bash
        source venv/bin/activate  # danach erscheint ein (venv) vor dem Command Prompt
        pip install -r requirements.txt
        ```
        
    #### Conda (empfohlen für Windows)
lennart.behme's avatar
lennart.behme committed
66
67
68
69
    1. Die aktuellste Version von `conda` mit Python3 installieren. Die offizielle Anleitung entsprechend eures Betriebssystems gibt es hier:\
        https://conda.io/projects/conda/en/latest/user-guide/install/index.html
    2. Ein `conda`-Terminal entsprechend der Anleitung hier öffnen:\
        https://conda.io/projects/conda/en/latest/user-guide/getting-started.html#starting-conda
70
    3. Eine virtuelle Umgebung für ISDA erstellen:
dusella.g's avatar
dusella.g committed
71

72
73
74
        ```bash
        conda env create -f environment.yml
        ```
dusella.g's avatar
dusella.g committed
75

76
77
78
79
80
81
    4. Die neue Umgebung aktivieren:

        ```bash
        conda activate isda-env
        ```

lennart.behme's avatar
lennart.behme committed
82
83
4. Jupyter Server starten. Wir empfehlen dazu JupyterLab, welches gleichzeitig ein intutives web-basiertes User Interface öffnet. Eine Anleitung dazu findet ihr unter:\
    https://jupyterlab.readthedocs.io/en/stable/getting_started/starting.html
84
85
86
87
88
89
90
91
92
93
94
95
96

    Tl;dr:

    ```bash
    jupyter lab
    ```
 
    **Hinweis**: Achtet bitte darauf, dass ihr den Jupyter Server jedes Mal aus eurer virtuellen Python-Umgebung heraus startet. Ansonsten fehlen euch ggf. die benötigten Pakete. Ihr müsst also nach einem PC-Neustart oder wenn ihr das Terminal geschlossen habt eure virtuelle Umgebung zunächst wieder aktivieren.

    ```bash
    source venv/bin/activate  # für pip, wenn ihr schon im isda-sose22 Ordner seid
    conda activate isda-env  # für conda
    ```
dusella.g's avatar
dusella.g committed
97

Gereon Dusella's avatar
Gereon Dusella committed
98
5. Im geöffneten Jupyter-Browser die entsprechende *.ipynb Datei öffnen.
dusella.g's avatar
dusella.g committed
99

100
101
102
## Alternative IDEs: PyCharm und VS Code

Wenn ihr anstatt von Jupyter Lab lieber in einer IDE mit größerem Funktionsumfang arbeiten möchtet, empfehlen wir euch PyCharm von JetBrains oder VS Code von Microsoft.
dusella.g's avatar
dusella.g committed
103

104
105
- https://www.jetbrains.com/de-de/pycharm/
- https://code.visualstudio.com/
dusella.g's avatar
dusella.g committed
106

107
In der jeweiligen IDE müsst ihr dann noch den Python-Interpreter aus eurer virtuellen Umgebung zur Ausführung der Notebooks festlegen und den ISDA-Ordner als Projekt öffnen. Informationen dazu findet ihr in der Dokumentation der jeweiligen IDE.
dusella.g's avatar
dusella.g committed
108

Gereon Dusella's avatar
Gereon Dusella committed
109
---
dusella.g's avatar
dusella.g committed
110

Gereon Dusella's avatar
Gereon Dusella committed
111
© DIMA@TU Berlin 2022
lennart.behme's avatar
lennart.behme committed
112
-