fix termin 3 slide overflow and formatting

- rename Projekt slides to Übung
- condense overflowing slides
- remove JS validation (not fitting lecture context)
- remove emojis from summary
- add speaker notes for condensed content
This commit is contained in:
2025-12-18 00:45:31 +01:00
parent 90c37d1b93
commit 86f3cc8172
4 changed files with 48 additions and 84 deletions
@@ -767,57 +767,31 @@ State in Klasse gespeichert
--- ---
# Beispiel: Formular-Validierung
```javascript
const form = document.querySelector("#kontaktForm");
const emailInput = document.querySelector("#email");
const errorMessage = document.querySelector("#error");
form.addEventListener("submit", function(event) {
const email = emailInput.value;
if (!email.includes("@")) {
event.preventDefault();
errorMessage.textContent = "Bitte gültige E-Mail eingeben!";
errorMessage.style.display = "block";
}
});
// Live-Feedback
emailInput.addEventListener("input", function() {
if (emailInput.value.includes("@")) {
errorMessage.style.display = "none";
}
});
```
<!--
Client-Side Validation
Zusätzlich zu HTML-Validation
UX: Sofortiges Feedback
Server-Validation trotzdem nötig!
-->
---
# Hands-On: Interaktive Features (45 Min) # Hands-On: Interaktive Features (45 Min)
**Baut in eure Seite ein:** **Baut in eure Seite ein:**
1. **Dark Mode Toggle** 1. **Dark Mode Toggle** – Button toggelt Klasse auf `body`
2. **Accordion/FAQ** – Klick zeigt/versteckt Antwort
**Tipp:** `classList.toggle()` + CSS `display: none/block`
**Hilfe:** https://codescripsi.es/
<!--
Ausführlicher:
1. Dark Mode Toggle
- Button der Klasse auf `body` toggelt - Button der Klasse auf `body` toggelt
- CSS für `.dark-mode` - CSS für `.dark-mode`
2. **Accordion/FAQ** 2. Accordion/FAQ
- Klick auf Frage → Antwort erscheint/verschwindet - Klick auf Frage → Antwort erscheint/verschwindet
- Tipp: `classList.toggle()` + CSS `display: none/block` - Tipp: classList.toggle() + CSS display: none/block
3. **Formular-Validierung** 3. Formular-Validierung (entfernt - passt nicht zum Kurskontext)
- Prüft ob Felder ausgefüllt - Prüft ob Felder ausgefüllt
- Zeigt Fehlermeldung - Zeigt Fehlermeldung
-->
**Hilfe:** https://nextlevelshit.github.io/web-engineering-mandala/
--- ---
@@ -835,30 +809,21 @@ Server-Validation trotzdem nötig!
--- ---
# Projekt: Interaktive Portfolio-Seite # Übung: Interaktive Portfolio-Seite
**Ihr habt jetzt alle Bausteine:** **Kombiniert eure Bausteine:**
HTML (Struktur) + CSS (Design) + JavaScript (Interaktivität)
- **HTML:** Struktur
- **CSS:** Design
- **JavaScript:** Interaktivität
**Kombiniert sie!**
--- ---
# Projekt-Anforderungen # Übung: Anforderungen
**Must-Have:** **Must-Have:**
- [ ] Semantisches HTML - [ ] Semantisches HTML
- [ ] Responsive CSS (Mobile + Desktop) - [ ] Responsive CSS
- [ ] Mindestens 2 interaktive Features mit JS - [ ] 2 interaktive JS-Features
**Nice-to-Have:** **Nice-to-Have:** Dark Mode, Animationen, Formular-Validierung
- [ ] Dark Mode
- [ ] Animationen/Transitions
- [ ] Formular mit Validierung
- [ ] Dynamisch generierte Inhalte
**Zeit:** 60 Minuten **Zeit:** 60 Minuten
@@ -968,35 +933,28 @@ Frameworks für größere Apps, Komponenten-basiert
--- ---
<!-- _class: "" -->
# Ressourcen zum Weiterlernen # Ressourcen zum Weiterlernen
**Dokumentation:** - **MDN Web Docs:** https://developer.mozilla.org/de/
- MDN Web Docs: https://developer.mozilla.org/de/ - **freeCodeCamp:** https://freecodecamp.org
- **The Odin Project:** https://theodinproject.com
**Interaktiv lernen:** **Interaktiv:**
- HTML: https://nextlevelshit.github.io/html-over-js/ - https://codescripsi.es/
- CSS: https://codescripsi.es/
- JS Visualisierung: https://nextlevelshit.github.io/web-engineering-mandala/
**Kurse:**
- freeCodeCamp: https://freecodecamp.org
- The Odin Project: https://theodinproject.com
--- ---
<!-- _class: "" -->
# Tools für die Praxis # Tools für die Praxis
**Editoren:** **Editoren:** VS Code (empfohlen), WebStorm, Neovim
- VS Code (empfohlen)
- WebStorm (JetBrains)
- Neovim (für Terminal-Fans)
**Online-Editoren:** **Online:** CodePen, StackBlitz
- CodePen: https://codepen.io
- StackBlitz: https://stackblitz.com
**Versionskontrolle:** **Versionskontrolle:** Git + GitHub/GitLab
- Git + GitHub/GitLab
--- ---
@@ -1008,30 +966,36 @@ Frameworks für größere Apps, Komponenten-basiert
# Was ihr gelernt habt # Was ihr gelernt habt
**Termin 1:** **Termin 1:** Geschichte, Von-Neumann, HTML
**Termin 2:** Netzwerke, DNS, HTTP, CSS
**Termin 3:** JavaScript, DOM, Events
<!--
Termin 1:
- Geschichte der Informatik (Hollerith → Internet) - Geschichte der Informatik (Hollerith → Internet)
- Von-Neumann-Architektur - Von-Neumann-Architektur
- HTML-Grundlagen - HTML-Grundlagen
**Termin 2:** Termin 2:
- Netzwerke, DNS, HTTP - Netzwerke, DNS, HTTP
- CSS: Selektoren, Box-Modell, Flexbox - CSS: Selektoren, Box-Modell, Flexbox
**Termin 3:** Termin 3:
- JavaScript: Variablen, Funktionen, Schleifen - JavaScript: Variablen, Funktionen, Schleifen
- DOM-Manipulation - DOM-Manipulation
- Events & Interaktivität - Events & Interaktivität
-->
--- ---
# Ihr könnt jetzt... # Ihr könnt jetzt...
✅ Den historischen Kontext von IT verstehen - Den historischen Kontext von IT verstehen
✅ Erklären wie das Internet funktioniert - Erklären wie das Internet funktioniert
✅ HTML-Seiten strukturieren - HTML-Seiten strukturieren
✅ CSS für Layout und Design nutzen - CSS für Layout und Design nutzen
✅ JavaScript für Interaktivität einsetzen - JavaScript für Interaktivität einsetzen
✅ **Mit EntwicklerInnen auf Augenhöhe sprechen!** - **Mit EntwicklerInnen auf Augenhöhe sprechen!**
--- ---
Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB