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:
@@ -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)
|
||||
|
||||
**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
|
||||
- CSS für `.dark-mode`
|
||||
|
||||
2. **Accordion/FAQ**
|
||||
2. Accordion/FAQ
|
||||
- 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
|
||||
- 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:**
|
||||
|
||||
- **HTML:** Struktur
|
||||
- **CSS:** Design
|
||||
- **JavaScript:** Interaktivität
|
||||
|
||||
**Kombiniert sie!**
|
||||
**Kombiniert eure Bausteine:**
|
||||
HTML (Struktur) + CSS (Design) + JavaScript (Interaktivität)
|
||||
|
||||
---
|
||||
|
||||
# Projekt-Anforderungen
|
||||
# Übung: Anforderungen
|
||||
|
||||
**Must-Have:**
|
||||
- [ ] Semantisches HTML
|
||||
- [ ] Responsive CSS (Mobile + Desktop)
|
||||
- [ ] Mindestens 2 interaktive Features mit JS
|
||||
- [ ] Responsive CSS
|
||||
- [ ] 2 interaktive JS-Features
|
||||
|
||||
**Nice-to-Have:**
|
||||
- [ ] Dark Mode
|
||||
- [ ] Animationen/Transitions
|
||||
- [ ] Formular mit Validierung
|
||||
- [ ] Dynamisch generierte Inhalte
|
||||
**Nice-to-Have:** Dark Mode, Animationen, Formular-Validierung
|
||||
|
||||
**Zeit:** 60 Minuten
|
||||
|
||||
@@ -968,35 +933,28 @@ Frameworks für größere Apps, Komponenten-basiert
|
||||
|
||||
---
|
||||
|
||||
<!-- _class: "" -->
|
||||
|
||||
# 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:**
|
||||
- HTML: https://nextlevelshit.github.io/html-over-js/
|
||||
- CSS: https://codescripsi.es/
|
||||
- JS Visualisierung: https://nextlevelshit.github.io/web-engineering-mandala/
|
||||
|
||||
**Kurse:**
|
||||
- freeCodeCamp: https://freecodecamp.org
|
||||
- The Odin Project: https://theodinproject.com
|
||||
**Interaktiv:**
|
||||
- https://codescripsi.es/
|
||||
|
||||
---
|
||||
|
||||
<!-- _class: "" -->
|
||||
|
||||
# Tools für die Praxis
|
||||
|
||||
**Editoren:**
|
||||
- VS Code (empfohlen)
|
||||
- WebStorm (JetBrains)
|
||||
- Neovim (für Terminal-Fans)
|
||||
**Editoren:** VS Code (empfohlen), WebStorm, Neovim
|
||||
|
||||
**Online-Editoren:**
|
||||
- CodePen: https://codepen.io
|
||||
- StackBlitz: https://stackblitz.com
|
||||
**Online:** CodePen, StackBlitz
|
||||
|
||||
**Versionskontrolle:**
|
||||
- Git + GitHub/GitLab
|
||||
**Versionskontrolle:** Git + GitHub/GitLab
|
||||
|
||||
---
|
||||
|
||||
@@ -1008,30 +966,36 @@ Frameworks für größere Apps, Komponenten-basiert
|
||||
|
||||
# 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)
|
||||
- Von-Neumann-Architektur
|
||||
- HTML-Grundlagen
|
||||
|
||||
**Termin 2:**
|
||||
Termin 2:
|
||||
- Netzwerke, DNS, HTTP
|
||||
- CSS: Selektoren, Box-Modell, Flexbox
|
||||
|
||||
**Termin 3:**
|
||||
Termin 3:
|
||||
- JavaScript: Variablen, Funktionen, Schleifen
|
||||
- DOM-Manipulation
|
||||
- Events & Interaktivität
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# Ihr könnt jetzt...
|
||||
|
||||
✅ Den historischen Kontext von IT verstehen
|
||||
✅ Erklären wie das Internet funktioniert
|
||||
✅ HTML-Seiten strukturieren
|
||||
✅ CSS für Layout und Design nutzen
|
||||
✅ JavaScript für Interaktivität einsetzen
|
||||
✅ **Mit EntwicklerInnen auf Augenhöhe sprechen!**
|
||||
- Den historischen Kontext von IT verstehen
|
||||
- Erklären wie das Internet funktioniert
|
||||
- HTML-Seiten strukturieren
|
||||
- CSS für Layout und Design nutzen
|
||||
- JavaScript für Interaktivität einsetzen
|
||||
- **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 |
Reference in New Issue
Block a user