added tut01

This commit is contained in:
Nils Pukropp
2024-10-17 16:09:29 +02:00
parent 5006902cc5
commit c1f4948cc8
80 changed files with 264 additions and 5418 deletions

View File

@ -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

Binary file not shown.