Lehrplan und Ablauf
Lehrplan - IV. Jahrgang
Abschnitt betitelt „Lehrplan - IV. Jahrgang“Der Lehrplan für den IV. Jahrgang sieht wie folgt aus (Zitat aus dem offiziellen Lehrplan):
7. Semester - Kompetenzmodul 7
Abschnitt betitelt „7. Semester - Kompetenzmodul 7“Bildungs- und Lehraufgabe
Abschnitt betitelt „Bildungs- und Lehraufgabe“Die Schülerinnen und Schüler können im
Bereich Webentwicklung
- Webanwendungen gegen einfache Angriffsvektoren und Risiken absichern;
- Serverumgebungen zur Veröffentlichung von Webauftritten unter Berücksichtigung der IT-Sicherheit einrichten und betreiben.
Bereich Appentwicklung
- Webservices mit Datenbankschnittstelle implementieren;
- Frontends für Webservices auf Basis aktueller Frameworks implementieren.
Lehrstoff
Abschnitt betitelt „Lehrstoff“Bereich Webentwicklung:
- Webhosting, IT-Sicherheit.
Bereich Appentwicklung:
- Webservices, Datenbankschnittstellen, Frontend-Frameworks.
8. Semester - Kompetenzmodul 8
Abschnitt betitelt „8. Semester - Kompetenzmodul 8“Bildungs- und Lehraufgabe
Abschnitt betitelt „Bildungs- und Lehraufgabe“Die Schülerinnen und Schüler können im
Bereich Webentwicklung
- Erweiterungen in Enterprise Content Management Systeme einbinden und konfigurieren;
- größere Webauftritte mit Hilfe von Enterprise Content Management Systemen realisieren.
Bereich Appentwicklung
- Anforderungen an die Benutzerergonomie und Benutzererfahrung erläutern und anwenden;
- Anwendungen unter Berücksichtigung der IT-Sicherheit gestalten und realisieren.
Lehrstoff
Abschnitt betitelt „Lehrstoff“Bereich Webentwicklung:
- Enterprise Content Management Systeme, CMS Extensions, Umsetzung von Webauftritten.
Bereich Appentwicklung:
- Webservices, Datenbankschnittstellen, Frontend-Frameworks, Benutzerergonomie, Benutzererfahrung, IT-Sicherheit.
Daraus ergibt sich der folgende (grobe) Wochenplan für das IV. Jahr:
4. Klasse - Wochenplan
Abschnitt betitelt „4. Klasse - Wochenplan“Verplant sind in der 4. Klasse 31 Wochen. Das Jahr ist nicht als Folge unabhängiger Themen organisiert, sondern um ein eigenes Jahresprojekt: Jede Schülerin und jeder Schüler - allein oder in einem Team aus zwei oder drei Personen - wählt zu Jahresbeginn eine Anwendung, die über das ganze Jahr wächst. Jedes Kapitel wird an diesem Projekt erarbeitet und abgegeben; die Wochenangaben sind der Takt, in dem das geschieht.
Werkzeuge: ein eigener Linux-VPS bei Hetzner, Docker und Dokploy für das Deployment, TypeScript mit Next.js für Webservice und Frontend, TanStack Query und TanStack Form im Frontend, PostgreSQL als Datenbank sowie ein Enterprise Content Management System als Inhaltsbestandteil des Projekts.
-
Jahresprojekt: Thema und Team (1 Woche)
Projektidee und Abgrenzung, Teambildung (1 bis 3 Personen), Anforderungen als Nutzergeschichten, Schnitt zwischen Frontend, Webservice und Inhaltsbereich festlegen, Repository- und Dokumentationsstruktur -
Server aufsetzen und härten (2 Wochen)
VPS bei Hetzner anlegen, Shell, Benutzer und Rechte, SSH mit Schlüsseln, Dienste mit systemd; SSH härten, Firewall, automatische Sicherheitsupdates, Angriffsfläche verkleinern, Logs lesen, Snapshots -
Auslieferung mit Containern (2 Wochen)
Dockerfile und Compose für das eigene Projekt, Dokploy einrichten, Deployment aus dem Git-Repository, Reverse Proxy und TLS über Traefik, DNS und Domain, Umgebungsvariablen und Secrets, Rollback -
Schnittstellen im Vergleich (2 Wochen)
Richardson-Reifegrade und HATEOAS, Ressourcenschnitt und Idempotenz; SOAP mit Envelope, WSDL, XML-Schema und WS-Security; RPC, gRPC und GraphQL zur Einordnung; Vertrag zuerst gegen Code zuerst, OpenAPI gegen WSDL, Auswahl für das eigene Projekt begründen -
Getrennte Systeme (2 Wochen)
Same-Origin-Policy und CORS im Detail (Preflight, Credentials), Cookies gegen Bearer-Tokens, SameSite, Proxy- und BFF-Muster, getrennte Container und Domains, typisierte Clients aus der OpenAPI-Beschreibung erzeugen, Verträge zwischen Teams -
Datenbank produktionsnah (2 Wochen)
Von SQLite zu PostgreSQL, ORM und Migrationen im laufenden Betrieb, Transaktionen und Isolationsstufen, Verbindungsverwaltung, N+1-Problem, Indizes, parametrisierte Abfragen gegen SQL-Injection -
Robuste Webservices (2 Wochen)
Einheitliche Fehlerformate (problem+json), Idempotenz und Wiederholbarkeit, Paginierung, Filter und Sortierung, Ratenbegrenzung, Caching-Header und ETag, Versionierung, Vertragstests gegen die eigene Schnittstelle -
Authentifizierung und Rechte (2 Wochen)
Passwort-Hashing, Sessions gegen JWT, Refresh und Abmeldung, Rollen und Berechtigungsprüfung an einer Stelle, geschützte Routen im getrennten Aufbau, OAuth 2.0 und OIDC als Ausblick -
Angriffsvektoren und Schutz (2 Wochen)
OWASP Top 10 als Landkarte, Injection, Cross-Site-Scripting, CSRF im Cookie- und im Token-Modell, Security-Header und Content Security Policy, Umgang mit Secrets, Abhängigkeiten als Angriffsfläche -
Serverzustand im Frontend (2 Wochen)
Server- gegen Client-Zustand, Query Keys und Cache, Invalidierung, stale-while-revalidate, optimistische Aktualisierungen, Infinite Queries, Wiederholungs- und Fehlerstrategien, Zusammenspiel mit Server Components -
Formulare mit TanStack Form (2 Wochen)
Ein Zod-Schema für Client und Server, Validierung auf Feld- und Formularebene, asynchrone Prüfungen, Fehlerdarstellung und Fokusführung, mehrstufige Formulare, Dateiuploads, Barrierefreiheit von Formularen -
Internationalisierung (1 Woche)
Sprachen im Routing, ICU-MessageFormat mit Plural und Genus, Formatierung von Datum, Zahl und Währung, Übersetzungsdateien und Redaktionsprozess, mehrsprachige Inhalte im CMS, RTL als Randfall -
Performance und Optimierung (2 Wochen)
Erst messen: Lighthouse, Core Web Vitals, Netzwerk- und Datenbankprofile; Rendering-Strategien (SSR, SSG, ISR, Streaming), Caching auf allen Ebenen, Bundle-Analyse und Code-Splitting, Bilder und Schriften, Datenbankabfragen optimieren, Lasttest gegen den eigenen Server -
Content Management (2 Wochen)
Begriff und Marktüberblick, CMS installieren und konfigurieren, Inhaltsmodell und Redaktionsrollen, Templates gestalten, Extensions auswählen und einbinden, Headless-Anbindung an das eigene Frontend -
Benutzerergonomie und UX (2 Wochen)
Gestaltungsheuristiken, Bedienbarkeit prüfen, Barrierefreiheit (WCAG in Grundzügen), Responsive Design, Lade- und Fehlerzustände aus Benutzersicht -
Sicherheits-Review (1 Woche)
Server und Anwendung gegen eine Checkliste prüfen, Befunde priorisieren, dokumentieren und beheben -
Projektabschluss (2 Wochen)
Restarbeiten, Betriebs- und Härtungsdokumentation fertigstellen, Übergabe des laufenden Systems, Präsentation und Retrospektive