# M323 Funktional Programmieren Inhaltsverzeichnis [TOC] [**Modulidentifikation** ICT CH](https://www.modulbaukasten.ch/module/323/1/de-DE?title=Funktional-Programmieren) [weitere TBZ Unterlagen -> https://gitlab.com/ch-tbz-it/Stud/m323/m323](https://gitlab.com/ch-tbz-it/Stud/m323/m323) ## Leistungsbeurteilungen (Prüfungen) LB (100%) [Miniprojekt (-> Definition)](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/08_MiniProjekt) (7 Std plus Präsentation desselben) ## Ablaufplan 2024-Q2 (Mi nachmittags) |Tag |WUP23 |Thema, Auftrag, Übung | |---- |---- |---- | | 1 | Mi 13.11.24 | [Einführung](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/01_Einf%C3%BChrung) [.pptx](https://gitlab.com/ch-tbz-it/TE/m323/m323/-/raw/main/TheoriePr%C3%A4sentationen/Einf%C3%BChrungFunktionaleProgrammierung.pptx)
- Was sind Funktionen und Vergleich zu imperativem Code
- Paradigmenwechsel in der Programmierung
- Wieso sind Funktionen nützlich

📄 [Unterlagen](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/blob/main/01_Einf%C3%BChrung/einf%C3%BChrung.md), 📄 [Fachbegriffe](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/blob/main/01_Einf%C3%BChrung/Fachbegriffe.md), ✍ [Aufgaben](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/blob/main/01_Einf%C3%BChrung/Aufgaben/Aufgaben.md) | | 2 | Mi 20.11.24 | [Anforderungen](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/02_Anforderungen)
- Wie setzen wir das WAS statt das WIE um
- ✍ [Aus deklarativen Anforderungen werden Funktionen abgeleitet](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/02_Anforderungen/Aufgabenhttps://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/02_Anforderungen/Aufgaben) | | 3 | Mi 27.11.24 | [Reine Funktionen](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/03_PureFunctions)
- Was zeichnet pure functions aus
- Begriff Lambda Funktionen
📄 [Immutable Values](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/03_PureFunctions/Immutable_Values) (Datenkopien und Rekursionen)
✍ [Aufgaben](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/03_PureFunctions/Aufgaben) | | 4 | Mi 04.12.24 | [Funktionen als Werte](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/04_FunctionsAsValues) [.pptx](https://gitlab.com/ch-tbz-it/TE/m323/m323/-/raw/main/TheoriePr%C3%A4sentationen/FunctionsAsValues_16x9.pptx)
- No side effects
- Mit Rekursionen arbeiten | | 5 | Mi 11.12.24 | [Weitere Datenstrukturen](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/05_WeitereDatenstrukturen)
- Filter-map-reduce
- Higher Order Functions
- Mit Tuples arbeiten | | 6 | Mi 18.12.24 | [Weitere Algotithmen](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/06_WeitereAlgorithmen)
- Algorithmen fürs Suchen
- Parallel-Prozesse
- Pipelines | | - | -- | Weihnachtsferien | | 7 | Mi 08.01.25 | [Fehlerbehandlung](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/07_ErrorHandling)

**Funktionale Programme entwerfen** | | 8 | Mi 15.01.25 | [Miniprojekt (--> Definition)](https://gitlab.com/ch-tbz-it/Stud/m323/m323/-/tree/main/08_MiniProjekt)
(zu zweit, je 8 Lektionen, Abgabe per Teams-Konferenz 29.01.2025-5.2.2025) | | - | -- | WUP-Projekt-Woche | | - | Mi 29.01.25 | [Abgabe Miniprojekt, zusammen mit M183 online gemäss Terminliste](https://tbzedu-my.sharepoint.com/:x:/g/personal/harald_mueller_tbz_ch/ERl0LOwka2ZDgk9YQj4oxrgBcrUfujx-A9ZnFx93FdTsqg?e=84CPwV) ) |