====== LB02 – Leistungsbeurteilung Vue.js Projekt coden (ME23d) ====== **Hinweis:** Die Leistungsbeurteilung findet Ende Juni statt. Dieses Dokument gibt Ihnen bereits jetzt einen vollständigen Überblick, damit Sie sich optimal vorbereiten können. ===== Was Sie erwartet ===== Sie erhalten zu Beginn der Leistungsbeurteilung: * Ein **Starter-Projekt** (Vue.js bereits konfiguriert, ''npm install'' noch nötig) * Ein **Figma-Design** mit dem zu bauenden Interface * **Daten** als Array, die Sie anzeigen sollen * Ein **kurzes Anleitungsblatt** mit der groben Vorgehensweise Die Art der Aufgabe ist Ihnen bekannt – sie ist ähnlich aufgebaut wie die Live-Coding-Anleitungen aus dem Unterricht. Der Inhalt (Design, Daten) ist neu, das Muster kennen Sie bereits. ===== Was Sie umsetzen müssen ===== ^ Anforderung ^ Beschreibung ^ | **Komponenten** | Mindestens 2 eigene ''.vue''-Dateien (ohne ''App.vue'') erstellen | | **Array** | Daten in einem Array speichern | | **Anzeige** | Daten mit ''v-for'' als Liste oder Karten (=rechteckige Divs) darstellen | | **Props** | Daten von einer Eltern- an eine Kind-Komponente übergeben | | **Reaktivität** | ''ref()'' und Bindings (''%%{{ }}%%'', '':'') korrekt einsetzen | | **Event** | Mindestens ein ''@click'' oder ''v-on''-Event mit einer Funktion | | **Styling** | Komponenten mit Flexbox oder CSS-Grid layouten und nach dem Design gestalten (Fonts, Farben) (keine Responsiveness - Desktop first) | | **Bonus** | Einen Animation oder Transition einbauen (wird vorgeschlagen) | ===== Zeitplan ===== ^ Zeit ^ Phase ^ | 10–15 Min. | Figma lesen, Anleitungsblatt studieren, Fragen stellen – **kein Coding, keine Tastatur** | | ~60 Min. | Coding | | 5 Min. | Abgabe vorbereiten und in Moodle hochladen | **Wichtig:** 60 Minuten effektive Coding-Zeit sind knapp. Schauen Sie regelmässig auf die Uhr. Wenn etwas zu lange nicht funktioniert: kommentieren Sie es aus und arbeiten Sie weiter. Nicht hängen bleiben. ===== Regeln & Fairness ===== ^ Erlaubt ^ Nicht erlaubt ^ | Google / Bing / DuckDuckGo (keine KI-Funktionen) | ChatGPT, Claude, Gemini, Copilot, Junie oder andere KI | | MDN Web Docs ([[https://mdn.dev|mdn.dev]]) | Code von anderen Lernenden oder externen Personen | | Vue.js Dokumentation ([[https://vuejs.org|vuejs.org]]) | Figma-to-Code Plugins | | Moodle-Inhalte ([[https://moodle.bzz.ch|moodle.bzz.ch]]) | KI-Extensions im Editor | | Eigene Notizen | Komplette Komponenten aus dem Internet kopieren | | Code-Snippets (= Autocomplete im Editor ≤ 10 Zeilen) | Alle Chats offen lassen (Teams, WhatsApp etc.) | **Zusätzliche Hinweise:** * Fehlermeldungen im Editor und im Browser lesen und verstehen (→ LU07) * Prettier (VS Code) oder Auto-Format (Webstorm) aktiv lassen – sauberer Code macht Bugs sichtbarer * Computer **vollständig geladen** (Akku) mitbringen * **Bildschirm hell einstellen**, damit die Lehrperson sehen kann, was Sie tun * Keine Screen-Filter (Polarfilter o.ä.), die den Blick von der Seite blockieren → falls nicht entfernbar: Schulcomputer im Voraus einrichten und üben ===== Konsequenzen bei Betrug ===== Wird der Einsatz von AI oder das Kopieren von Code erkannt oder begründet vermutet: In diesem Fall erfolgt eine mündliche Nachprüfung (LB04), die 50% der Modulnote ausmacht. ===== Abgabe ===== Ihr Projekt als ''.zip''-Datei in Moodle hochladen: vorname_nachname_klassenname_LB02_M291.zip **Wichtige Regeln:** * ''node_modules''-Ordner **nicht** einschliessen → Nicht umgesetzt, kostet Punkte * ''.idea''-Ordner **nicht** einschliessen → Nicht umgesetzt, kostet Punkte * Keine Umlaute oder Sonderzeichen im Dateinamen: ''ä → ae'', ''ö → oe'', ''ü → ue'', ''é → e'' usw. → Nicht umgesetzt, kostet Punkte * **Nur** den Vue.js-Projektordner zippen – nichts anderes → Nicht umgesetzt, kostet Punkte ===== Vorbereitung – was Sie jetzt tun sollten ===== Nutzen Sie die verbleibende Zeit, um sich gezielt vorzubereiten. Die folgenden Punkte sind prüfungsrelevant: * ''npm install'' und ''npm run dev'' im Terminal im Projektordner ausführen können * Das Vue-Projekt im Browser anzeigen (via ''localhost:5173'') * Neue Komponenten (''.vue''-Files) erstellen und importieren können * Grundstruktur von Komponenten erzeugen (''%%