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 [2024/10/30 09:06] – [Inhalt] 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 1: Zeile 1:
 ====== LB02 - Portfolio - 55% ====== ====== LB02 - Portfolio - 55% ======
 <WRAP round box 60%> <WRAP round box 60%>
-  * Dauer: 8 - 12 Lektionen+  * Dauer: 4 - 8 Lektionen
   * Hilfsmittel: Openbook   * Hilfsmittel: Openbook
   * Sozialform: Einzelarbeit   * Sozialform: Einzelarbeit
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 16: Zeile 18:
 Erstellen Sie eine Flask-Applikation die möglichst viele Funktionale-Komponenten enthält. Es darf sich bei der Anwendung nicht um eine Todo-Liste oder um eine Einkaufsliste handeln. Erstellen Sie eine Flask-Applikation die möglichst viele Funktionale-Komponenten enthält. Es darf sich bei der Anwendung nicht um eine Todo-Liste oder um eine Einkaufsliste handeln.
  
 +<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 Kompetenzbänder C1 und C2 einfacher belegen.
 +</WRAP>
  
 === Portfolio === === Portfolio ===
 +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.
 +Ein Lernnachweis könnte folgendermassen aussehen --> [[modul:m323:leistungsbeurteilungen:lb02:lernnachweis|Beispiel]]
  
-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 zu diesem Kompetenzfeld eingefügt werden. 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]]+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 das ganze Kompetenzband A, B etc. 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>
  
 +===== Was gehört in einen Lernnachweis? =====
 +Ein Lernnachweis soll zeigen, dass Sie ein Konzept **verstanden**, **im Projekt angewendet** und **reflektiert** haben.
 +
 +<WRAP round box 80%>
 +**Pflichtbestandteile pro Kompetenzfeld**
 +  * **Textteil:** Umfang gemäss Niveau (siehe Tabelle oben), Beschreibung/Reflexion/Dokumentation
 +  * **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
 +</WRAP>
 +
 +==== Empfohlener Aufbau (Vorlage) ====
 +<WRAP round box 80%>
 +  * **Kompetenzfeld:** (z.B. C2I)
 +  * **Feature im Flask-Projekt:** (z.B. Statistik-Seite, Suche/Filter, Import/Export, Auth, etc.)
 +
 +  - **Kontext & Ziel:** Was soll das Feature lösen? Welche Inputs/Outputs gibt es?
 +  - **Konzept/Erklärung:** Erklären Sie das Konzept in eigenen Worten (nicht nur Definition).
 +  - **Umsetzung im Projekt:** Vorgehen, Entscheidungen, Alternativen (warum diese Lösung?).
 +  - **Code-Beispiel + Einordnung:** Codeauszug + 2–5 Sätze, *was* daran die Kompetenz zeigt.
 +  - **Test/Überprüfung:** Mind. 2 konkrete Testfälle (Input → erwarteter Output) oder Debugging-Nachweis.
 +  - **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>
 +
 +==== Hinweise pro Kompetenzband (M323) ====
 +<WRAP center round info 80%>
 +**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 (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.\\
 +**C1 (Algorithmen)**: Algorithmus aus dem Projekt erklären, in Teilfunktionen zerlegen, zu einem Ablauf zusammensetzen und auf Korrektheit und Lesbarkeit prüfen.\\
 +**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.\\
 +**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.
 +</WRAP>
 +
 +==== Typische Fehler (vermeiden) ====
 +<WRAP center round important 80%>
 +  * Zu viel Theorie/Projektbeschreibung, zu wenig **Kompetenzbezug** und **Reflexion**
 +  * Code-Snippet ohne Erklärung, **wo** es im Projekt hingehört (Route/Service/Helper/Template)
 +  * Keine Überprüfung: "hat funktioniert" ohne Testfälle/Beleg
 +  * 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>
  
 ==== 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-Beispeiel aus Flask-Praxisprojekt+  * Code-Beispiel aus dem Flask-Praxisprojekt 
 +  * 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 42: Zeile 132:
  
   * **3 Punkte**: Die Arbeit ist ausgezeichnet und übertrifft die Anforderungen. Sie zeigt ein tiefes Verständnis des Themas und/oder besondere Kreativität oder Eigeninitiative.   * **3 Punkte**: Die Arbeit ist ausgezeichnet und übertrifft die Anforderungen. Sie zeigt ein tiefes Verständnis des Themas und/oder besondere Kreativität oder Eigeninitiative.
 +
 +<WRAP center round tip 80%>
 +**Was braucht es typischerweise für 3 Punkte?**
 +  * Begründete Entscheidungen (warum diese Lösung, welche Alternative?)
 +  * Konkrete Nachweise (Testfälle, Edge-Cases, Debugging-Fix)
 +  * Sauberer, passender Codeauszug mit kurzer Einordnung (nicht einfach reinkopiert)
 +  * Reflexion + Transfer (wie wiederverwenden? was verbessern?)
 +</WRAP>
  
 ==== 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.1730275617.txt.gz
  • Zuletzt geändert: 2024/10/30 09:06
  • von kmaurizi