This commit is contained in:
David Schirrmeister 2025-04-20 22:23:52 +02:00
parent 48033e23eb
commit 33a7fe4bb0
25 changed files with 256 additions and 5 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

View File

@ -80,6 +80,9 @@
<toc-element topic="01_semantischeDatenmodellierungUndRelationenmodell.md"/>
</toc-element>
<toc-element toc-title="HCI">
<toc-element toc-title="Praktika">
<toc-element topic="Meilenstein1.md"/>
</toc-element>
<toc-element topic="00_hci1.md"/>
</toc-element>
<toc-element toc-title="Informatik und Gesellschaft">
@ -92,6 +95,7 @@
<toc-element toc-title="Rechnernetze">
<toc-element topic="00_RNIntroduction.md"/>
<toc-element topic="01_Internetworking.md"/>
</toc-element>
<toc-element toc-title="Software Engineering">
<toc-element topic="00_Introduction.md"/>
@ -101,7 +105,9 @@
<toc-element toc-title="Theoretische Informatik">
<toc-element toc-title="Übungen">
<toc-element topic="TIUebung1.md"/>
</toc-element>
<toc-element toc-title="Hausaufgaben">
<toc-element topic="ti_hausaufgabe1.md"/>
</toc-element>
<toc-element topic="01Einleitung.md"/>
<toc-element topic="02_GrundlagenFormaleSprachen.md"/>

View File

@ -0,0 +1,12 @@
# Meilenstein 1
## Problemraum
- Problem:
- Ärzte haben wenig Zeit pro Patient
- (Durchschnitt ~7min)
- Ziel:
- möglichst effizient viele Informationen darstellen
- um Überblick zu verschaffen
- um bei Entscheidungsfindung zu helfen
- Abgrenzung zu anderen Themen:
- keine Diagnose der Patienten
-

View File

@ -1,5 +1,5 @@
# Giray: Prompt Engineering with ChatGPT: A Guide for Academic Writers
## **Allgemeines zur Prompt-Engineering**
## **Allgemeines zum Prompt-Engineering**
- Disziplin zur Entwicklung und Optimierung von Prompts für große Sprachmodelle (LLMs).
- Besonders nützlich für akademisches Schreiben und Forschung.
- Ziel: Effektive Nutzung von LLMs wie ChatGPT für Aufgaben wie Textgenerierung, Übersetzung etc.
@ -28,13 +28,13 @@ Ein Prompt besteht aus vier Elementen:
## **Häufige Fehler beim Schreiben von Prompts**
1. **Unklarheit (Ambiguity)** - Vage Prompts führen zu oberflächlichen Antworten.
1. **Mehrdeutigkeit/Unklarheit (Ambiguity)** - Vage Prompts führen zu oberflächlichen Antworten.
2. **Bias Reinforcement** - Vorurteilshafte Prompts verstärken Stereotype.
3. **Overfitting** - Zu spezifisch, schränkt Outputvielfalt ein.
4. **Mangelnder Kontext** - Führt zu ungenauen oder unvollständigen Antworten.
5. **Ethische Probleme** - Aufforderung zu illegalem oder unethischem Verhalten.
6. **Unbeabsichtigte Nebeneffekte** - Widersprüchliche Anweisungen führen zu sinnlosem Output.
7. **Unrealistische Erwartungen** - LLMs können z.B. keine exakten Vorhersagen treffen.
7. **Unrealistische Erwartungen** - LLMs können z.B. keine exakten Vorhersagen treffen.
## **Warum sollten Akademiker Prompt Engineering lernen?**
@ -44,4 +44,33 @@ Ein Prompt besteht aus vier Elementen:
- Prompt Engineering = eine Art „Programmierung“ für Texte.
## Dialogpyramide
### Was ist die zentrale Aussage in Bezug auf LLM/GenAi
- sind leistungsstarke Werkzeuge für Content-Kreation, kreatives&wissenschaftliches Schreiben, Storytelling
- über Prompt-Engineering können bessere Ergebnisse erzielt werden
### Welche Chance bietet der Einsatz im Studium & Lehre
- erhöhte Effizienz und Qualität im wissenschaftlichen Schreiben
- gezielte Texte generieren
- bei Übersetzung können kulturelle Unterschiede besser ausgeglichen werden
- gut für die Entwicklung neuer Forschungsideen, Lernaufgaben
### Welche Begriffe/Argumente sind besonders diskussionswürdig?
- in weit kann/sollte man genAI in Forschung und Lehre einsetzen
- Ethical Considerations ist nicht wirklich Pitfall
- Bestandteile eines „guten" Prompts
### Welche offenen Fragen bleiben
- Wie sollte genAI in Forschung und Lehre genau eingesetzt werden?
- Wie sieht es aus mit Urheberrecht?
- Kann genAI in Prüfungsleistungen eingesetzt werden?
- Wie überprüft man Quellenkritik in von genAI kreierten Texten?
- Muss man seine Prompt-Engineering-Techniken auf div. LLMs anpassen?
- Richtigkeit des gesamten Textes
### Wir haben eine dynamische Entwicklung - was ist in den Texten schon wieder überholt?
- Man muss nicht mehr zwingend für jeden Prompt System-Kontext geben → customizable GPTs
- Ethical Considerations müssen nicht zwingend beachtet werden, GPTs sind mittlerweile sowieso sehr restriktiv
- Reasoning kann Prompting-Prozess erleichtern
- KI verbessert "schlechter" geschriebenen Prompt selbstständig
- ChatGPT basiert nicht mehr nur auf Lern-Daten bis Ende 2021

View File

@ -148,7 +148,7 @@
![image_576.png](image_576.png)
![image_598.png](image_598.png)
![image_684.png](image_684.png)
#### Hybrid-Modell: Schnittstellen
![image_577.png](image_577.png)

View File

@ -0,0 +1,111 @@
# Internetworking
> ![image_685.png](image_685.png)
## MAC und IP-Adressen im Heimatnetzwerk
![image_686.png](image_686.png)
**Bleiben MAC und IP-Adresse immer gleich?**
- MAC-Adresse
- gelten nur im LAN
- IP-Adresse
- muss unverändert festbleiben
## MAC-Adressierung
### Beispiel Ethernet-Header
![image_687.png](image_687.png)
### Beispiel WLAN-Header
![image_688.png](image_688.png)
- nicht mehr nur Quell- und Zieladresse
- gezwungener Nachrichtenweg über den Router
## Übersicht Network-Layer
> ![image_689.png](image_689.png)
### IP und ICMP
- **Eigenschaften**
- IP
- stellt Header im Network Layer zur Verfügung
- einfache Spezifikation auf beiden Seiten
- einziges Problem: Fragmentierung von IP-Paketen
- ICMP
- Fehlermeldungen und Test des Netzwerks
- Zwischen Host/Router und Router
- Fehler werden verursacht durch
- fehlerhafte IP-Pakete
- "Nichterreichbarkeit" von Netzen, Hosts, Routern, Diensten
- Kein Client von L3, sondern von IP
#### Internet Protocol V4
- realisiert verbindungslose Kommunikation auf L3
- bietet Hardware-unabhängiges Paketformat
- ![image_690.png](image_690.png)
##### IPv4 Adressierung
![image_691.png](image_691.png)
- Netz
- _bspw. anderes Netz für MK/FBI_
- je feiner man die trennt, desto besser ist Performance, Sicherheit
- Host
- Endgerät
- braucht eine individuelle IP-Adresse
###### Subnetting
- gleich großer Host/Netz Anteil
- Falls man vom einen mehr braucht → umrechnen
#### ICMP
![image_699.png](image_699.png)
## Einfaches Internetwork als Beispiel
![image_692.png](image_692.png)
- von H1 aus zu H8
- R1 packt es aus, schaut wohin, packt es ein und weiter
- R2 packt es aus, schaut wohin, packt es ein und weiter
- R3 packt es aus, schaut wohin, packt es ein und weiter
![image_693.png](image_693.png)
- PPP hat weniger max. Payload als ETH
- IP muss fragmentieren in kleinere Pakete
- Zwei wichtige Punkte
- Jedes Fragment ist ein in sich abgeschlossenes IP-Diagramm
- Übertragung unabhängig von anderen Fragmenten über eine Reihe physikalischer Netzwerke
- Jedes IP-Diagramm wird für jedes zu durchquerendes physikalische Netzwerk in ein entsprechendes Frame gekapselt
### Laptop and DevBoard communication within LAN
#### Step 0: Überblick
![image_694.png](image_694.png)
#### Step 1: Open the Webbrowser and Enter IP Address for the Development Board
#### Step 2: PC Generates and Transmits a Frame
![image_695.png](image_695.png)
#### Step 3: Frame is Forwarded through the Switch
![image_696.png](image_696.png)
- falls nicht bekannt an welchem Port die richtige MAC-Adresse hängt
- an alle (bis auf Sender-Port, da ist MAC-Adresse ja bekannt) rausschicken
#### Step 4: Frame arrives at the Development Board and is forwarded to the Webserver
![image_697.png](image_697.png)
- auf jedem Layer überprüfen ob an richtiger Stelle
- Layer 2: MAC richtig?
- Layer 3: IP richtig?
- Layer 4: PortNumber running auf dem device?
#### Step 5: Webserver on DevBoard generates Frame and sends the page to the pc
![image_698.png](image_698.png)
#### Step 6: Step 3 with new frame
- Frame kommt am Switch an
- Switch schaut, ob er die MAC kennt
- Switch sendet weiter an PC (Port 3)
- PC öffnet frame und schaut, ob er für ihn ist
- PC öffnet Packet und schaut, obs passt
- PC öffnet Message

View File

@ -0,0 +1,93 @@
# Hausaufgabe 1
## Übung 1
![image_681.png](image_681.png)
### 1a
i)
- $s_1 = (xy)(xy)(xy)zzyxxxx ∈ Σ^*$
- $s_2 = zzzzyyyx ∈ Σ^*$
ii)
- $s_i = \{zy, zzxyy, zzzxxyyy\} ∈ Σ^*$
iii)
- $s_{ij} = \{xxyzz, xxxyzzz, xxyzzzzz, xxxyzzzzzz\} ∈ Σ^*$
### 1b
i)
- Für eine Zeichenkette der Länge n gibt es genau n + 1 Präfixe, nämlich:
- ε (die leere Zeichenkette)
- s[0]
- s[0..1]
- s[0..2]
- ...
- s[0..n-1] (die vollständige Zeichenkette)
- Da |s| = 10, ergibt das:
- **Antwort: 11 Präfixe**
ii)
- Für eine Zeichenkette der Länge n gibt es genau n 1 solche Teilzeichenketten (man beginnt bei Index 0 bis n2).
- Hier gilt |s| = 10, also:
- **Antwort: 9 Teilzeichenketten der Länge 2**
iii)
- Ein Suffix ist jede Zeichenkette, die man erhält, wenn man von einem bestimmten Index i (inkl. i) bis zum Ende der Zeichenkette geht. Auch hier gilt: Die leere Zeichenkette (Suffix, das am Ende beginnt) zählt mit.
- Also gibt es genau n + 1 Suffixe.
- Antwort: n + 1 Suffixe
## Übung 2
![image_682.png](image_682.png)
### 2a
i)
- $L_1=\{uhu⋅x⋅vw | x ∈ Σ^*\}$
ii)
- $L_2=\{xx⋅u⋅yzyz⋅vu,v∈Σ^*\}$
iii)
- $L_3=\{w∈{0,1,2}^*\#_1(w)=2⋅(\#_0(w)+\#_2(w))\}$
### 2b
- Anforderungen Python:
- Muss mit einem Buchstaben (az, AZ) oder Unterstrich (_) beginnen
- Danach: beliebig viele Buchstaben, Ziffern (09) oder Unterstriche
- Keine Schlüsselwörter erlaubt, aber das ignorieren wir in dieser formalen Beschreibung
- Alphabet Σ:
- $Σ=\{a,…,z,A,…,Z,0,…,9,_\}$
- Formale Sprache $L{PyVars}$:
- $L{PyVars}=\{w∈Σ^*w=a_1a_2…a_n,a_1∈\{a-z,A-Z,\_\},a_i∈\{a-z,A-Z,0-9,\_\} für: {i=2…n}\}$ ⊆ $Σ^*$
## Übung 3
![image_683.png](image_683.png)
### 3a
- $Σ=\{<,>,/,d,i,v\}$
- gültige Tags: `<div>`, `</div>`
- Formale Sprache:
- $L_{DivTagsNoAttr} = \{<div>, </div>\} ⊆ Σ^*$
### 3b
- gültiger Beispieltag: `<div name1=wert1 name2=wert2>`
- _Attribute sind durch Leerzeichen getrennt, die Werte nicht in Anführungszeichen_
- Neues Alphabet: $Σ=\{<,>,/, \space,d,i,v,a,b,...,z\}$
- Syntax für ein Attribut:
- `name=wert`, wobei $name, wert ∈ \{a,...,z\}^+$
- $attr ::= a^+=a^+$
- Start-Tag mit beliebig vielen Attributen:
- `div attr1 attr2 ... attrn>`
- $<div(\textvisiblespace a^+=a^+)^*>$
- End-Tag wie vorher
- $</div>$
- > $L_{DivTags}=\{\{<div>\}, \{<div(\textvisiblespace a^+=a^+)^*>\}, \{</div>\}\} ⊆ Σ^*$
$$
L_{\text{DivTags}} =
\left\{
\begin{aligned}
&\langle \text{div} \rangle, \\
&\langle \text{div}(\textvisiblespace a^+ = a^+)^* \rangle, \\
&\langle / \text{div} \rangle
\end{aligned}
\right\}
\subseteq \Sigma^*
$$