modul:m323:leistungsbeurteilungen:lb02:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m323:leistungsbeurteilungen:lb02:start [2026/01/21 09:02] – kmaurizimodul:m323:leistungsbeurteilungen:lb02:start [2026/09/09 10:12] (aktuell) – Anpassung an neue Kompetenzmatrix BiVo2021 (15 Felder, Niveaus B/I/A), neuer Punkte- und Notenschluessel admin
Zeile 9: Zeile 9:
  
 ===== Übersicht ===== ===== Übersicht =====
-Die Lernenden erarbeiten ihr eigenes Portfolio (OneNote, Word, [[https://www.notion.so|Notion]]) auf Basis des [[modul:m323:leistungsbeurteilungen:lb02:kompetenzraster|Kompetenzrasters]] des Modul 323.+Die Lernenden erarbeiten ihr eigenes Portfolio (OneNote, Word, [[https://www.notion.so|Notion]]) auf Basis des [[modul:m323:kompetenzraster|Kompetenzrasters]] des Modul 323. 
 + 
 +Das Kompetenzraster umfasst **15 Kompetenzfelder**: fünf Kompetenzbänder (A1, B1, C1, C2, D1) auf je drei Niveaus (**B** = Beginner, **I** = Intermediate, **A** = Advanced).
  
 ==== Inhalt ==== ==== Inhalt ====
Zeile 17: Zeile 19:
  
 <WRAP center round tip 70%> <WRAP center round tip 70%>
-**Tipp:** Wählen Sie ein Projekt, bei dem echte Daten verarbeitet werden (z.B. Suche/Filter/Sortierung, Statistiken, Imports/Exports, Berechnungen, Regeln). Dann können Sie die Kompetenzen B1–B4 einfacher belegen.+**Tipp:** Wählen Sie ein Projekt, bei dem echte Daten verarbeitet werden (z.B. Suche/Filter/Sortierung, Statistiken, Imports/Exports, Berechnungen, Regeln). Dann können Sie die Kompetenzbänder C1 und C2 einfacher belegen.
 </WRAP> </WRAP>
  
 === Portfolio === === Portfolio ===
-Für jedes bearbeitete Kompetenzfeld (A1G, A1E, etc) müssen ein mindestens 1000 Zeichen (exkl. Leerschläge) langer Lernnachweis erstellt werden, **zusätzlich** muss ein Code-Beispiel (die Zeichen im Code zählen nicht zu den 1000 Zeichen dazu) zu diesem Kompetenzfeld eingefügt werden.+Für jedes Kompetenzfeld (A1B, A1I, A1A, B1B, etc.) muss ein Lernnachweis erstellt werden, **zusätzlich** muss ein Code-Beispiel eingefügt werden (die Zeichen im Code zählen nicht zum Textteil dazu).
 Das verwendete Code-Beispiel dazu, muss aus der Flask-Applikation des Praxisprojektes sein. Das verwendete Code-Beispiel dazu, muss aus der Flask-Applikation des Praxisprojektes sein.
 Ein Lernnachweis könnte folgendermassen aussehen --> [[modul:m323:leistungsbeurteilungen:lb02:lernnachweis|Beispiel]] Ein Lernnachweis könnte folgendermassen aussehen --> [[modul:m323:leistungsbeurteilungen:lb02:lernnachweis|Beispiel]]
 +
 +Der Umfang des Textteils richtet sich nach dem Niveau des Kompetenzfeldes:
 +
 +^ Niveau ^ Textteil (Zeichen, ohne Leerzeichen) ^
 +| **B** – Beginner | mind. 600 |
 +| **I** – Intermediate | mind. 1000 |
 +| **A** – Advanced | mind. 1400 |
  
 <WRAP center round info 60%> <WRAP center round info 60%>
-Sie können auch einen Lernnachweis über ein ganzes Kompetenzband z.B ''A1G, A1F, A1E'' machen, dann muss dieser Nachweis allerdings 3000 Zeichen enthalten und auch 3 Beispiele. Laden Sie diesen Nachweis dann in jeder passenden Moodle-Abgabe hoch.+Sie können auch einen Lernnachweis über ein ganzes Kompetenzband machen, z.B. ''A1B, A1I, A1A''. Dieser Nachweis muss dann den Umfang aller drei Niveaus zusammen erreichen (3000 Zeichen) und drei Code-Beispiele enthalten. Laden Sie diesen Nachweis dann in jeder passenden Moodle-Abgabe hoch. 
 + 
 +**Ausnahme C2:** Für das Kompetenzband C2 sind keine Sammelnachweise zugelassen. Die drei Niveaus C2B, C2I und C2A müssen einzeln belegt werden, und zwar an **drei verschiedenen Features** Ihrer Applikation. Derselbe Codeauszug in zwei Niveaus gibt maximal 1 Punkt.
 </WRAP> </WRAP>
  
Zeile 34: Zeile 45:
 <WRAP round box 80%> <WRAP round box 80%>
 **Pflichtbestandteile pro Kompetenzfeld** **Pflichtbestandteile pro Kompetenzfeld**
-  * **Textteil:** mind. **1000 Zeichen** (ohne Leerzeichen) Beschreibung/Reflexion/Dokumentation +  * **Textteil:** Umfang gemäss Niveau (siehe Tabelle oben), Beschreibung/Reflexion/Dokumentation 
-  * **Code-Beispiel:** Auszug aus **Ihrem Flask-Projekt** (Code zählt nicht zu den 1000 Zeichen)+  * **Code-Beispiel:** Auszug aus **Ihrem Flask-Projekt** (Code zählt nicht zum Textteil) 
 +  * **Pflicht-Artefakt:** das für dieses Kompetenzfeld verlangte Element (siehe Tabelle unten)
   * **Bezug zur Kompetenz:** Im Text muss klar werden, *was* genau an Ihrem Beispiel die Kompetenz belegt   * **Bezug zur Kompetenz:** Im Text muss klar werden, *was* genau an Ihrem Beispiel die Kompetenz belegt
 </WRAP> </WRAP>
Zeile 41: Zeile 53:
 ==== Empfohlener Aufbau (Vorlage) ==== ==== Empfohlener Aufbau (Vorlage) ====
 <WRAP round box 80%> <WRAP round box 80%>
-  * **Kompetenzfeld:** (z.B. B4F)+  * **Kompetenzfeld:** (z.B. C2I)
   * **Feature im Flask-Projekt:** (z.B. Statistik-Seite, Suche/Filter, Import/Export, Auth, etc.)   * **Feature im Flask-Projekt:** (z.B. Statistik-Seite, Suche/Filter, Import/Export, Auth, etc.)
  
-  - **1) Kontext & Ziel:** Was soll das Feature lösen? Welche Inputs/Outputs gibt es? +  - **Kontext & Ziel:** Was soll das Feature lösen? Welche Inputs/Outputs gibt es? 
-  - **2) Konzept/Erklärung:** Erklären Sie das Konzept in eigenen Worten (nicht nur Definition). +  - **Konzept/Erklärung:** Erklären Sie das Konzept in eigenen Worten (nicht nur Definition). 
-  - **3) Umsetzung im Projekt:** Vorgehen, Entscheidungen, Alternativen (warum diese Lösung?). +  - **Umsetzung im Projekt:** Vorgehen, Entscheidungen, Alternativen (warum diese Lösung?). 
-  - **4) Code-Beispiel + Einordnung:** Codeauszug + 2–5 Sätze, *was* daran die Kompetenz zeigt. +  - **Code-Beispiel + Einordnung:** Codeauszug + 2–5 Sätze, *was* daran die Kompetenz zeigt. 
-  - **5) Test/Überprüfung:** Mind. 2 konkrete Testfälle (Input → erwarteter Output) oder Debugging-Nachweis. +  - **Test/Überprüfung:** Mind. 2 konkrete Testfälle (Input → erwarteter Output) oder Debugging-Nachweis. 
-  - **6) Reflexion & Transfer:** Was war schwierig? Was gelernt? Wie würden Sie es nächstes Mal besser machen?+  - **Reflexion & Transfer:** Was war schwierig? Was gelernt? Wie würden Sie es nächstes Mal besser machen? 
 +</WRAP> 
 + 
 +==== Was das Niveau verlangt ==== 
 +Das Kompetenzraster gibt pro Niveau vor, welche Denkleistung Sie zeigen müssen. Achten Sie auf die Verben: 
 + 
 +^ Niveau ^ Verben im Raster ^ Ihr Beleg muss zeigen ^ 
 +| **B** | beschreiben, benennen, erklären, aufzählen, anwenden | korrekte Begriffe und ein funktionierendes Beispiel | 
 +| **I** | erläutern, formulieren, entwerfen, kombinieren, umsetzen | eigenständige Anwendung auf ein Problem Ihres Projekts | 
 +| **A** | vergleichen, bewerten, einschätzen, analysieren, auswählen | zwei Varianten gegenübergestellt und begründet entschieden | 
 + 
 +Ein Beleg auf Niveau A, der nur beschreibt statt zu vergleichen, erfüllt das Kompetenzfeld nicht – unabhängig davon, wie lang der Text ist. 
 + 
 +==== Pflicht-Artefakt pro Kompetenzfeld ==== 
 +<WRAP round box 90%> 
 +^ Feld ^ Der Lernnachweis enthält zwingend ^ 
 +| **A1B** | eine Prozedur und eine pure function aus Ihrem Projekt nebeneinander | 
 +| **A1I** | ein Codebeispiel mit Mutation und die immutable Variante davon | 
 +| **A1A** | dieselbe Aufgabe in OO, prozedural und funktional, mit Bewertung | 
 +| **B1B** | die Elemente des Functional Design im eigenen Projekt benannt, je mit Fundort | 
 +| **B1I** | ein Design-Blatt: deklarative Anforderungen, Datenfluss, geplante Operatoren | 
 +| **B1A** | eine imperative Route deklarativ umgesetzt, Vor- und Nachteile begründet | 
 +| **C1B** | ein Algorithmus des Projekts mit Beispieldurchlauf Input → Output | 
 +| **C1I** | derselbe Algorithmus in Teilfunktionen zerlegt, mit Signaturen | 
 +| **C1A** | Komposition zu einem Ablauf, mit Testfällen inkl. Edge Case | 
 +| **C2B** | Funktion in einer Variable gespeichert, Map/Filter/Reduce je einzeln | 
 +| **C2I** | Lambda-Ausdruck und verkettetes Map/Filter/Reduce, **anderes Feature** | 
 +| **C2A** | Aggregation oder benutzerdefinierte Sortierung, **drittes Feature** | 
 +| **D1B** | drei Refactoring-Techniken und zwei Performance-Massnahmen, je mit Zweck | 
 +| **D1I** | Vorher/Nachher aus Ihrer Commit-Historie, gleiches Verhalten per Test belegt | 
 +| **D1A** | Messung vorher/nachher und Begründung der gewählten Datenstruktur |
 </WRAP> </WRAP>
  
 ==== Hinweise pro Kompetenzband (M323) ==== ==== Hinweise pro Kompetenzband (M323) ====
 <WRAP center round info 80%> <WRAP center round info 80%>
-**A1 (Paradigmen / Konzepte)**: Begriff korrekt erklären + Vergleich zu OO/prozedural + Bezug zum Projekt (wo/wie angewendet oder bewusst nicht angewendet und warum).\\ +**A1 (Paradigmen / Konzepte)**: Begriff korrekt erklären, Vergleich zu OO und prozedural, Bezug zum Projekt (wo und wie angewendet, oder bewusst nicht angewendet und warum).\\ 
-**B1 (Algorithmen)**: Algorithmus aus dem Projekt erklären; in Teilfunktionen zerlegen; zu einem Ablauf zusammensetzen.\\ +**B1 (Deklarative Anforderungen und Design)**: Unterschied imperativ/deklarativ; Elemente des Functional Design (immutable data types, constructors, composable operators); für ein Feature ein Design entwerfen, statt es nachträglich zu beschreiben.\\ 
-**B2 (Funktionen als Objekte / Higher-Order / Closures)**: Funktion speichern/weitergeben; Funktion als Argument; Closure sinnvoll einsetzen (z.B. Validator-/Formatter-Factory).\\ +**C1 (Algorithmen)**: Algorithmus aus dem Projekt erklären, in Teilfunktionen zerlegen, zu einem Ablauf zusammensetzen und auf Korrektheit und Lesbarkeit prüfen.\\ 
-**B3 (Lambda)**: Nur verwenden, wenn es lesbar bleibt (sonst lieber benannte Funktion). Lambdas können z.B. für Sortierung (key=...) genutzt werden.\\ +**C2 (Funktionen als Objekte, Lambda, Map/Filter/Reduce)**: Funktion speichern und weitergeben; Funktion als Argument; Lambda nur, wenn es lesbar bleibt (sonst lieber benannte Funktion, z.B. für Sortierung mit ''key=...''); Map, Filter und Reduce auf echte Projektdaten anwenden und kombinieren.\\ 
-**B4 (Map/Filter/Reduce)**: Auf echte Projektdaten anwenden; kombinieren; komplexere Aufgaben wie Aggregation/Transformation dokumentieren.\\ +**D1 (Refactoring und Optimierung)**: Technik benennen, Vorher/Nachher beschreiben, sicherstellen dass das Verhalten gleich bleibt (Tests, Edge Cases); zusätzlich Massnahmen zur Leistungsverbesserung und die Wahl von Algorithmus oder Datenstruktur begründen.
-**C1 (Refactoring)**: Technik benennen; Vorher/Nachher beschreiben; sicherstellen, dass Verhalten gleich bleibt (Tests/Edge-Cases).+
 </WRAP> </WRAP>
  
Zeile 67: Zeile 108:
   * Code-Snippet ohne Erklärung, **wo** es im Projekt hingehört (Route/Service/Helper/Template)   * Code-Snippet ohne Erklärung, **wo** es im Projekt hingehört (Route/Service/Helper/Template)
   * Keine Überprüfung: "hat funktioniert" ohne Testfälle/Beleg   * Keine Überprüfung: "hat funktioniert" ohne Testfälle/Beleg
-  * 1000 Zeichen werden mit Fülltext erreicht statt mit konkreten Learnings/Entscheiden+  * Die geforderte Zeichenzahl wird mit Fülltext erreicht statt mit konkreten Learnings/Entscheiden 
 +  * Auf Niveau A wird nur beschrieben statt verglichen und bewertet 
 +  * In C2 dreimal dasselbe Feature verwendet
 </WRAP> </WRAP>
  
 ==== Abgabe ==== ==== Abgabe ====
-Laden Sie die die Lernnachweise nach Kompetenzfeld geordnet in Moodle hoch. Das genau Format der Abgabe klären Sie bitte mir Ihrer Lehrperson.+Laden Sie die Lernnachweise nach Kompetenzfeld geordnet in Moodle hoch. Das genaue Format der Abgabe klären Sie bitte mit Ihrer Lehrperson.
  
 Achten Sie darauf die Kriterien zu erfüllen: Achten Sie darauf die Kriterien zu erfüllen:
-  * 1000 Zeichen Beschreibung/Reflexion/Dokumentation +  * Textteil im Umfang des jeweiligen Niveaus (600 / 1000 / 1400 Zeichen) 
-  * Code-Beispiel aus Flask-Praxisprojekt +  * Code-Beispiel aus dem Flask-Praxisprojekt 
-  * Klarer Bezug zum Kompetenzfeld (A1G, B4F, ...)+  * Pflicht-Artefakt gemäss Tabelle 
 +  * Klarer Bezug zum Kompetenzfeld (A1B, C2I, D1A, ...)
  
 ==== Bewertung der Lernnachweise ==== ==== Bewertung der Lernnachweise ====
 In diesem Kurs verwenden wir eine Punkteskala von 1 bis 3, um eure Lernnachweise im Kompetenzraster zu bewerten. Hier ist die Bedeutung jeder Punktzahl: In diesem Kurs verwenden wir eine Punkteskala von 1 bis 3, um eure Lernnachweise im Kompetenzraster zu bewerten. Hier ist die Bedeutung jeder Punktzahl:
 +
 +  * **0 Punkte**: Das Pflicht-Artefakt fehlt oder es besteht kein erkennbarer Bezug zum Kompetenzfeld.
  
   * **1 Punkt**: Die Arbeit erfüllt minimale Anforderungen, aber es fehlen entscheidende Elemente oder es gibt mehrere Fehler. Es besteht deutliches Verbesserungspotenzial.   * **1 Punkt**: Die Arbeit erfüllt minimale Anforderungen, aber es fehlen entscheidende Elemente oder es gibt mehrere Fehler. Es besteht deutliches Verbesserungspotenzial.
Zeile 96: Zeile 142:
  
 ==== Notengebung ==== ==== Notengebung ====
-Total sind 18 Kompetenzbereiche zu belegen.  +Total sind **15 Kompetenzfelder** zu belegen. 
-Jeder Beleg gibt maximal 3 Punkte womit das Total bei 54 Punkten liegt. +Jeder Beleg gibt maximal 3 Punkte, womit das Total bei **45 Punkten** liegt. 
-Das Praxisprojekt (Flask-Applikation) gibt 10 Punkte.+Das Praxisprojekt (Flask-Applikation) gibt 10 Punkte. Maximum: **55 Punkte**. 
 + 
 +Die Note berechnet sich als ''Note = 1 + 5 × Punkte / 55''.
  
-**64 Punkte** entsprechen der **Note 6.0**\\ +^ Punkte ^ Note ^ 
-**39 Punkte** entsprechen der **Note 4.0**+| 55 | 6.0 | 
 +| 44 | 5.0 | 
 +| 33 | 4.0 | 
 +| 22 | 3.0 |
  
  • modul/m323/leistungsbeurteilungen/lb02/start.1768982572.txt.gz
  • Zuletzt geändert: 2026/01/21 09:02
  • von kmaurizi