added tut01
This commit is contained in:
@ -1,99 +1,286 @@
|
||||
# Tutorium 01 - 20.10.2023
|
||||
---
|
||||
marp: true
|
||||
paginate: true
|
||||
theme: rose-pine
|
||||
footer: EidP 2024 - Nils Pukropp - https://git.narl.io/nvrl/eidp-2024
|
||||
style: ".columns {\r display: grid;\r grid-template-columns: repeat(2, minmax(0, 1fr));\r gap: 1rem;\r }"
|
||||
---
|
||||
# Tutorium 01 - 2024-10-17
|
||||
Vorstellen, Orga, Zusammenfassung, Installation von WSL/VS Code
|
||||
|
||||
## Today
|
||||
---
|
||||
# Über mich
|
||||
|
||||
* Vorstellen
|
||||
* Zusammenfassung Vorlesung
|
||||
* Übungsblatt 01
|
||||
* Installieren der benötigten Software
|
||||
<div class="columns">
|
||||
|
||||
<div>
|
||||
|
||||
## About me
|
||||
|
||||
* Nils Pukropp
|
||||
* 3 Semester Informatik B.Sc.
|
||||
* [nils@narl.io](mailto:nils@narl.io)
|
||||
* Discord: [.narl](https://discord.com/users/208979474988007425)
|
||||
* Telegram: [@narl_np](https://t.me/narl_np)
|
||||
* [Feedback](https://s.narl.io/s/Feedback-Tutorium-01)
|
||||
|
||||
<img src="../../src/img/mailto.png" height="200">
|
||||
<img src="../../src/img/discord.png" height="200">
|
||||
<img src="../../src/img/telegram.png" height="200">
|
||||
<img src="../../src/img/feedback-google-forms.png" height="200">
|
||||
<img src="./src/tutorium-01.png" height="200">
|
||||
* Informatik B.Sc. 5. Semester
|
||||
* EidP Tutor seit zwei Semestern
|
||||
* Gerne einfach "Du"
|
||||
|
||||
## Zusammenfassung Vorlesung
|
||||
|
||||
### Orga
|
||||
|
||||
* 14 Blätter jeden Dienstag auf der [Homepage](https://proglang.informatik.uni-freiburg.de/teaching/info1/2023/)
|
||||
* Abgabe im [Git](https://git.laurel.informatik.uni-freiburg.de/), Montags 9:00
|
||||
* Ihr braucht 50% der 326 Punkte
|
||||
* 2x Vorrechnen
|
||||
* Muss nicht korrekt sein
|
||||
* Wollen sehen dass ihr eure Aufgaben selber bearbeitet
|
||||
* Ich werde euch fragen, wenn ihr gute Abgaben hattet
|
||||
* Punkte für Anwesenheit im Tutorat
|
||||
* Anwesenheit über [QR-Code](https://auth.laurel.informatik.uni-freiburg.de/) (ab nächste Woche)
|
||||
|
||||
### Python-Shell
|
||||
|
||||
* Python-Shell bietet einen interaktiven Modus
|
||||
* Schnell Programme testen/kleinere Programme schreiben
|
||||
|
||||
### Zahlen
|
||||
|
||||
* `int` (Ganzzahlen)
|
||||
* `float` (Kommazahlen)
|
||||
* Grunderechenarten `+`, `-`, `*`, `/`, `//`
|
||||
* Potenz `**`
|
||||
* Modulo `%`
|
||||
* `float` -> `int` (möglicher) Informationsverlust
|
||||
* `int` -> `float` kein Informationsverlust
|
||||
* `float` sind etwas komplizierter als `int`
|
||||
</div>
|
||||
<div>
|
||||
|
||||
```py
|
||||
>>> 0.1 + 0.1 + 0.1
|
||||
?
|
||||
print("Hello", "Tutorium", "2024!")
|
||||
>>> "Hello Tutorium 2024!"
|
||||
```
|
||||
|
||||
### Git
|
||||
</div>
|
||||
</div>
|
||||
|
||||
* Git dient der Versionskontrolle
|
||||
* Wir benutzen [Gitea](https://github.com/go-gitea/gitea) als Git-Service
|
||||
* Remote Repositories
|
||||
* Weboberfläche zum offnen im Browser
|
||||
* Quasi eine Cloud für Code
|
||||
* Weitere Services wie Github, Gitlab, ...
|
||||
---
|
||||
|
||||
### Git - the nerdy way
|
||||
# Wie wird das Tutorium ablaufen?
|
||||
|
||||
#### Vorteile
|
||||
* Vorstellen des letzten Blatt
|
||||
* Wichtiges aus Vorlesung/für nächstes Blatt
|
||||
* Fragen zum nächsten Blatt
|
||||
* Allgemeine Fragen zur Vorlesung
|
||||
* Am Ende QR-Code für Anwesenheit
|
||||
* Ihr könnt mir gerne am Ende privat noch Fragen über die Vorlesung oder das Studium stellen
|
||||
|
||||
[Anleitung von Dani](https://git.danielmironov.dev/mironov/eidp-tutorat)
|
||||
---
|
||||
|
||||
* Man lernt umgang mit dem Terminal
|
||||
* Es ist deutlich schneller nach Eingewöhnung
|
||||
* Etwas unintuitiv wenn man sich mit dem Terminal nicht auskennt
|
||||
# Kontakt
|
||||
|
||||
## [Übungsblatt 01](https://proglang.informatik.uni-freiburg.de/teaching/info1/2023/exercise/sheet01.pdf)
|
||||
- Mail: [nils@narl.io](mailto:)
|
||||
- Tutorium-Files: [git.narl.io/nvrl/eidp-2024](https://git.narl.io/nvrl/eidp-2024)
|
||||
- Telegram: [@narl_np](https://t.me/narl_np)
|
||||
|
||||
* Abgabe 23.10.2023
|
||||
---
|
||||
|
||||
## Notes Tutorium
|
||||
# Orga
|
||||
Was müsst ihr machen/wissen
|
||||
|
||||
Die Windows `C:` Festplatte findet man in WSL unter `/mnt/c/`, andere Festplatten findet man analog dazu
|
||||
---
|
||||
|
||||
`D: -> /mnt/d/`
|
||||
...
|
||||
# Studienleistung bekommen
|
||||
|
||||
## Wichtige Links
|
||||
* Im HisInOne sich für dieses (oder ein anderes) Tutorium anmelden + Studienleistung (wird noch freigeschaltet)
|
||||
* 14 Blätter, jeden Dienstag auf der [EidP Website](https://proglang.github.io/teaching/24ws/eidp.html)
|
||||
* 2x Vorrechnen
|
||||
* Muss nicht korrekt sein
|
||||
* Ich werde gute Abgaben fragen
|
||||
* 3 Punkte für Anwesenheit
|
||||
* Ab nächstem Tutorium
|
||||
* Über [QR-Code](https://auth.laurel.informatik.uni-freiburg.de/)
|
||||
* Ihr braucht insgesamt mehr als 50% der Punkte (>50%)
|
||||
|
||||
* [Homepage EidP](https://proglang.informatik.uni-freiburg.de/teaching/info1/2023/)
|
||||
* [EidP-Git (Abgaben)](https://git.laurel.informatik.uni-freiburg.de/)
|
||||
* [QR-Code für Anwesenheit](https://auth.laurel.informatik.uni-freiburg.de/)
|
||||
* [Mein Git](https://git.narl.io/nvrl/eidp-2024)
|
||||
* [nils@narl.io](mailto:nils@narl.io)
|
||||
* [Discord](https://discord.com/users/208979474988007425)
|
||||
* [Telegram](https://t.me/narl_np)
|
||||
* [Feedback](https://s.narl.io/s/Feedback-Tutorium-01)
|
||||
---
|
||||
|
||||
# Prüfung
|
||||
|
||||
- Nach den Vorlesungen (Ende Februar/März)
|
||||
- Setzt die Studienleistung vorraus
|
||||
- Schwerere/Schwerste Klausur im ersten Semester
|
||||
|
||||
---
|
||||
|
||||
# Warum fällt vielen EidP so schwer?
|
||||
|
||||
- Zeitdruck in der Klausur
|
||||
- In der Studienleistung schummeln ist einfach, in der Klausur nicht
|
||||
- fehlende Übung im Programmieren
|
||||
- Nicht ausreichend mit den Themen befasst
|
||||
- Wahrscheinlich die Übungsblätter nicht vollständig selbst bearbeitet
|
||||
- Nachdem man die Studienleistung hat (>50% Punkte) aufgehört sich mit der Vorlesung zu beschäftigen
|
||||
|
||||
---
|
||||
|
||||
# ChatGPT
|
||||
|
||||
- Wir tolerieren den Gebrauch
|
||||
- **ABER**: Ihr müsst in der Klausur alles verstanden haben und genug Übung im Umgang mit Python haben
|
||||
- Ob ihr jetzt Stunden braucht um die Lösung von ChatGPT nachzuvollziehen oder euch in Stunden die Lösung selbst erarbeitet und dabei praktische Programmiererfahrung sammelt ist eure Entscheidung.
|
||||
- Aus eigenem Interesse würde ich generierte Stellen mit einem Kommentar versehen, damit ich einen Überblick habe welche Aufgaben schwerer fallen und wie viel ChatGPT verwendet wird
|
||||
|
||||
---
|
||||
|
||||
# Plagiat
|
||||
|
||||
- Wir tolerieren **kein** Plagiat
|
||||
- Nicht von anderen Abschreiben
|
||||
- Keine Lösungen aus dem Internet
|
||||
- Erster Plagiat: 0 Punkte
|
||||
- Zweiter Plagiat: Viel Erfolg im nächsten Jahr
|
||||
|
||||
---
|
||||
|
||||
# Abschließend
|
||||
|
||||
- Stellt Fragen im Tutorium
|
||||
- Im Tutorium für alle
|
||||
- Nach dem Tutorium für eine genauere Erklärung
|
||||
- Nutzt die Studienleistung zum Üben
|
||||
- Vor der Klausur werde ich wieder ein Zusatz-Tutorium veranstalten um euch Abschließend auf die Klausur vorzubereiten
|
||||
- Gerne auch Fragen übers Studieren/Studium
|
||||
|
||||
---
|
||||
|
||||
# Zusammenfassung der Vorlesung
|
||||
Was müsst ihr Wissen?
|
||||
|
||||
---
|
||||
|
||||
# Was muss ich installieren?
|
||||
|
||||
- [Setup Guide](https://proglang.github.io/teaching/24ws/eidp/setup.html)
|
||||
- Zusammengefasst:
|
||||
- WSL/Linux
|
||||
- Python 3.12.x
|
||||
- VS Code
|
||||
- VS Code-Extensions:
|
||||
- Python, Pylance, Flake8, autopep8
|
||||
- Git
|
||||
|
||||
---
|
||||
|
||||
# Warum Linux statt WSL?
|
||||
|
||||
- Ihr werdet euch im Studium sowieso mit Linux auseinandersetzen
|
||||
- Endlich kein Windows mehr
|
||||
- Wir haben nicht einen Tutor der Windows benutzt
|
||||
- Deutlich kürzere Installation auch in zukünftigen Vorlesungen
|
||||
- Ihr lernt den Umgang mit der Shell deutlich schneller
|
||||
|
||||
---
|
||||
|
||||
# Was ist die Shell?
|
||||
|
||||
- Die Shell ermöglicht wie die UI mit dem Betriebssystem zu interagieren
|
||||
- Ermöglicht einen präziseren Umgang mit eurem Betriebssystem
|
||||
- Ungewohnt am Anfang, aber mit etwas Übung deutlich effektiver/schneller als auf UIs angewiesen zu sein
|
||||
- Viele Prozesse sind nur mit der Shell möglich (haben kein UI)
|
||||
|
||||
---
|
||||
|
||||
# Was ist Git?
|
||||
|
||||
- Git dient der Versionskontrolle
|
||||
- Ihr könnt neue/veränderte Datein zu Git hinzufügen um so eine Version einer Datei abzuspeichern
|
||||
- Hat noch viele weiter Funktionen für die Software Entwicklung
|
||||
- Für die Vorlesung braucht ihr lediglich `add`, `commit`, `pull`, `push`, (`status`)
|
||||
|
||||
---
|
||||
|
||||
<div class='columns'>
|
||||
<div>
|
||||
|
||||
# `git status`
|
||||
|
||||
- Zeigt neue/veränderte/staged Datein an
|
||||
</div>
|
||||
<div>
|
||||
|
||||
# `git add`
|
||||
|
||||
- Fügt neue/veränderte Datein in den `staged` Bereich von Git
|
||||
- Diese Datein sind noch nicht vollständig gespeichert
|
||||
- Mit `git status` könnt ihr sehen welche bereits `staged` sind
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# `git commit -m "commit message"`
|
||||
|
||||
- "Speichert" die Dateien, welche mit `git add` hinzugefügt wurden
|
||||
|
||||
---
|
||||
|
||||
# Git-Server
|
||||
|
||||
- Die Dateien sind jetzt aber nur lokal gespeichert
|
||||
- Git-Server ermöglichen den Austausch von Quellcode im Internet
|
||||
- So können auch mehrere an einem Quellcode arbeiten
|
||||
|
||||
---
|
||||
|
||||
<div class='columns'>
|
||||
<div>
|
||||
|
||||
# `git pull`
|
||||
|
||||
- Der Git-Server wird nach neuen Änderungen gefragt
|
||||
- Die neuen Änderungen werden heruntergeladen
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
||||
# `git push`
|
||||
|
||||
- Lokal gespeicherte Änderungen werden auf den Git-Server hochgeladen
|
||||
- Davor muss `git commit` verwendet worden sein
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<div class=columns>
|
||||
<div>
|
||||
|
||||
# Python
|
||||
|
||||
- Wird in `.py` Datein geschrieben
|
||||
- Wird mit dem Befehl `python filename.py` ausgeführt
|
||||
- Python übersetzt die Datei, und führt diese Zeile für Zeile aus
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
||||
# Python Shell
|
||||
|
||||
- Interaktive Shell (ähnlich wie die Linux Shell)
|
||||
- wartet auf Benutzereingaben
|
||||
- interpretiert Benutzereingaben nacheinander
|
||||
- Wird mit dem Befehl `python` ausgeführt
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# Zahlentypen
|
||||
|
||||
<div class='columns'>
|
||||
|
||||
<div>
|
||||
|
||||
## `int`
|
||||
|
||||
- Ganzzahlen $\mathbb{Z}$
|
||||
- In Python nur durch verfügbaren Speicher limitiert
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
||||
## `float`
|
||||
|
||||
- Rationale Zahlen $\mathbb{R}$
|
||||
- neben Speicherlimitierung auch noch limitiert in der Genauigkeit (Floatpoint Precision)
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
# Rechenoperation
|
||||
|
||||
- Wie mans kennt eigentlich
|
||||
- Addition `+`
|
||||
- Subtraktion `-`
|
||||
- Multiplikation `*`
|
||||
- Division `/`
|
||||
- Ganzzahlige Division `//`
|
||||
- Potenzen `**`
|
||||
- Modulo `%`
|
||||
|
||||
---
|
||||
|
||||
# Übungsblatt 1 + Installationsprobleme
|
Binary file not shown.
Before Width: | Height: | Size: 96 KiB |
BIN
Tutorium/tut01/tutorium-01.pdf
Normal file
BIN
Tutorium/tut01/tutorium-01.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user