# 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) ) |