Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m323:kompetenzuebersicht [2025/11/13 09:54] – kmaurizi | modul:m323:kompetenzuebersicht [2026/08/18 10:11] (aktuell) – Aktualisiert auf offizielle Kompetenzmatrix ZH, topic-Aufrufe auf neue Tag-Codes admin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Kompetenzübersicht ====== | ====== Kompetenzübersicht ====== | ||
| - | ^ Kompetenzband: | + | Wortlaut gemäss [[.:kompetenzraster|Kompetenzraster]] |
| - | | Unterschiede zwischen funktionaler Programmierung und anderen Programmierparadigmen aufzeigen. | 1 | AG1: Ich kann die Eigenschaften von Funktionen beschreiben (z.Bsp. pure function) und den Unterschied zu anderen Programmier-Strukturen erläutern (z.Bsp. zu Prozedur).{{topic> | + | |
| - | | AF1: Ich kann das Konzept von *immutable values* erläutern und dazu Beispiele anwenden. Somit kann ich dieses Konzept funktionaler Programmierung im Unterschied zu anderen Programmiersprachen erklären | + | |
| - | | Anforderungen und Design beschreiben | 1 | BG1: Ich kann den Unterschied zwischen Anforderungen der imperativen Programmierung (definierte Folge von Handlungsanweisungen) und der deklarativen Programmierung (Beschreibung des Endzustandes) erklären.| BF1: Ich kann den Endzustand als Anforderung im Sinne der deklarativen Programmierung beschreiben. (Das gewünschte Ergebnis wird beschrieben statt die Arbeitsschritte.)| BE1: Ich kann Anforderungen aus der imperativen Programmierung in Anforderungen der deklarativen Programmierung transferieren. ("klar definierte Abfolge" | + | |
| - | | | | BG2: Ich kann Elemente des Functional Design erklären. (zBsp. Immutable data types, model, solution, domain of interest, constructors, | + | |
| - | | Funktionale Programmierung umsetzen | 2 | C1G: Ich kann ein Algorithmus erklären | C1F: Ich kann Algorithmen in funktionale Teilstücke aufteilen | C1E: Ich kann Funktionen in zusammenhängende Algorithmen implementieren | | + | |
| - | | | | C2G: Ich kann Funktionen als Objekte behandeln und diese in Variablen speichern und weitergeben. | C2F: Ich kann Funktionen als Argumente für andere Funktionen verwenden und dadurch höherwertige Funktionen erstellen.| C2E: Ich kann Funktionen als Objekte und Argumente verwenden, um komplexe Aufgaben zu lösen und den Code sauberer und effizienter zu gestalten. | | + | |
| - | | | | C3G: Ich kann einfache Lambda-Ausdrücke schreiben, die eine einzelne Operation durchführen, | + | |
| - | | | | C4G: Ich kann die Funktionen Map, Filter und Reduce einzeln auf Listen anwenden. | C4F: 1. Ich kann Map, Filter und Reduce kombiniert verwenden, um Daten zu verarbeiten und zu manipulieren, | + | |
| - | | Refactoring und bestehenden Code optimieren | 3,4| DG1:Ich kann einige Refactoring-Techniken aufzählen, die einen Code lesbarer und verständlicher machen. | DF1:Ich kann mit Refactoring-Techniken einen Code lesbarer und verständlicher machen. | DE1:Ich kann die Auswirkungen des Refactorings auf das Verhalten des Codes einschätzen und sicherstellen, | + | |
| - | | | | DG2: Ich kann allgemeine Massnahmen zur Verbesserung der Leis-tung von Code aufzählen.| DF2:Ich kann vorgegebene Massnah-men zur Verbesserung der Leistung von Code umsetzen.| DE2: Ich kann effiziente Algorithmen, | + | |
| + | ^ Kompetenzband ^ HZ ^ Beginner (B) ^ Intermediate (I) ^ Advanced (A) ^ | ||
| + | | **A** – Unterschiede zwischen funktionaler Programmierung und anderen Programmierparadigmen aufzeigen | 1 | **A1B:** Ich kann die Eigenschaften von Funktionen beschreiben (z.B. pure function) und den Unterschied zu anderen Programmierstrukturen erläutern (z.B. zu Prozedur){{topic> | ||
| + | | **B** – Anforderungen und Design der deklarativen Programmierung beschreiben | 1 | **B1B:** Ich kann den Unterschied zwischen imperativer und deklarativer Programmierung erklären und die Elemente des Functional Design benennen (z.B. immutable data types, constructors, | ||
| + | | **C** – Funktionale Programmierung umsetzen | 2 | **C1B:** Ich kann einen Algorithmus erklären{{topic> | ||
| + | | ::: | ::: | **C2B:** Ich kann Funktionen als Objekte behandeln (in Variablen speichern, weitergeben) und die grundlegenden Higher-Order Functions (Map, Filter, Reduce) einzeln auf Listen anwenden{{topic> | ||
| + | | **D** – Refactoring und bestehenden Code optimieren | 3, 4 | **D1B:** Ich kann Refactoring-Techniken sowie Massnahmen zur Leistungsverbesserung aufzählen und deren Zweck erklären{{topic> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | Quelle des Wortlauts: [[https:// | ||