TU-Programmieren_2/lab0/README.md
2025-04-09 10:22:44 +02:00

139 lines
5.0 KiB
Markdown

# Labor Setup (Praxisteil, 150min)
- **Fragen Sie frühzeitig nach, falls Unklarheiten bestehen**.
- Fragen Sie alles, was Ihnen im Rahmen der Lehrveranstaltung wichtig erscheint.
- Es gibt keine Einschränkungen für die Zusammenarbeit zwischen Studierenden beim Bearbeiten der untenstehenden Aufgaben.
- Sie haben das Labor erfolgreich absolviert, wenn Sie alle drei Teilaufgaben bei einem Betreuer **demonstriert** haben.
- Melden Sie sich bei einem Betreuer, sobald Sie sich in der Lage sehen alle drei Aufgaben zu demonstrieren.
---
Im heutigen Labor sollen Sie die folgenden drei Aufgaben abarbeiten.
---
### A. Vervollständigen der Konfiguration im Labor
Sie sollen die Konfiguration der Entwicklungsumgebung auf Ihrem Laborrechner mit den unten stehenden Befehlen vervollständigen (nur Schritt 2. und 5. nehmen eine Konfigurationsänderung vor, alle anderen Schritte sind rein informativ, sollen aber trotzdem ausgeführt werden).
1. **Betriebssystem**, bereits installiert.
```shell
uname -a
```
2. **git**, bereits installiert, **aber noch nicht konfiguriert** (Email und Namen in den Befehlen bitte anpassen)
```shell
git version
# TODO: adapt the student ID and name in the commands below
git config --global user.email "eXXXXXXX@student.tuwien.ac.at"
git config --global user.name "Firstname Lastname"
git config --global init.defaultBranch main
git config --global credential.helper "cache --timeout 300"
```
3. **Compiler/Tools**, bereits installiert.
```shell
gcc --version
g++ --version
gdb --version
clangd --version
cmake --version
```
4. **VSCode**, bereits installiert.
```shell
code --version
```
5. **VSCode Erweiterungen**, **noch nicht installiert**.
```shell
code --install-extension ms-python.python
code --install-extension ms-toolsai.jupyter
code --install-extension ms-vscode.cpptools
code --install-extension llvm-vs-code-extensions.vscode-clangd
```
**Demonstration:** Führen Sie die folgenden Befehle aus:
```shell
git config --get user.name # should print your name
git config --get user.email # should print your student-email
code --list-extensions # should list all installed vscode extensions
```
---
### B. Kennenlernen der Systemkonfiguration im Labor und Einüben der Labor-Abgabe via TUWEL
1. TUWEL im Web-Browser aufrufen und einloggen
2. Anweisungen der Aufgabe unter [Labor Setup: Abgabe (demo)](https://tuwel.tuwien.ac.at/course/view.php?id=62042#coursecontentcollapse3) folgen
**Demonstration:** Die von Ihnen hochgeladene Datei `task.cpp` in TUWEL.
---
### C. Hausübung 1 "Schnelldurchgang"
Schritt-für-Schritt Anleitung des Abgabeprozesses für `exercise1` mit *git*: https://sgit.iue.tuwien.ac.at/360050/git
Sie sollen **Aufgabe 2** (Task2) der ersten Hausübung `exercise1` bearbeiten und dabei alle nötigen Befehle um die Hausübungen abzugeben kennenlernen:
- Kopieren der Angabe in Ihren persönlichen Bereich auf dem git-Server:
- Navigieren Sie zu [https://sgit.iue.tuwien.ac.at/360050/exercise1](https://sgit.iue.tuwien.ac.at/360050/exercise1)
- Klicken Sie oben rechts auf **Fork** und dann auf **Fork Repository**. Das Repo *exercise1* sollte jetzt in Ihrem persönlichem Bereich verfügbar sein (s. oben rechts *'Profile'*).
- Herunterladen der Hausübung 1 vom Git-Server und öffnen in VSCode:
```shell
mkdir 360050 # just a recommendation for a directory structure
cd 360050
# NOTE: next command prompts for username/password
# NOTE: replace eXXXXXXX with your student ID
# NOTE: --recursive is important, otherwise the 'modules' folder will be empty
git clone --recursive https://sgit.iue.tuwien.ac.at/eXXXXXXX/exercise1.git
cd exercise1
code .
#TODO: check if all files are present, especially inside the 'modules' folder
```
---
---
- Bearbeiten Sie **Aufgabe 2** der Hausübung 1 **(task2.main.cpp)**:
- Die genaue Beschreibung und Anforderungen finden Sie in **main.ipynb**
---
---
- Wenn Sie fertig sind nutzen Sie folgende Befehle um die lokalen Änderungen an der Hausübung (Ihre Lösung) auf den git-Server hochzuladen:
```shell
git status # some files should be marked as modified or new (red)
git add . # add all files to staging area (green)
git status # check staging (green)
git commit -m "task2 done" # apply all changes
# NOTE: next command prompts for username/password
git push
```
- Wenn Sie nachträglich etwas an Ihrer Lösung geändert haben und diese Änderungen auf den Git-Server hochladen wollen, führen Sie folgende Befehle aus:
```shell
git status # modified files are marked (red)
git add . # add all files to staging area (green)
git status # check staging (green)
git commit -m "changes done" # apply all changes
git push
```
**Demonstration:** Öffnen Sie Ihr Abgabe-Repo auf http://sgit.iue.tuwien.ac.at im Browser und offnen Sie Ihre Loesung in **task2.main.cpp** im Browser.