- Nummer
- prog2
- Leitung
- -
- ECTS
- 6.0
- Anspruchsniveau
- intermediate
- Inhaltsübersicht
Dieses Modul baut auf Programmieren 1 auf und geht in zwei Bereichen in die Tiefe: Einerseits werden fortgeschrittene Programmierkonzepte und ‑techniken zum Entwickeln von verständlichen und wartbaren Programmen behandelt. Andererseits geht es um praktische Aspekte beim Entwickeln von Applikatio-nen mit Benutzerschnittstelle und persistenter Datenspeicherung.
Inhalte:
- Vererbung
- Grundlagen der funktionalen Programmierung: Funktionstypen, Higher-Order Functions, Lambda-Ausdrücke
- Funktionale «Grundoperationen» wie Map, Filter und Reduce
- Generische Programmierung
- Enumerations, Records und Pattern Matching
- Strukturbildung in Applikationen
- Datenpersistenz und Ausnahmebehandlung
- Aufbau und Verwendung von komplexen Bibliotheken und Frameworks
- Ausgewählte praktische Aspekte (unter anderem Internationalisierung und Umgang mit grösseren Datenmengen)
- Lernziele
- Die Studierenden verstehen Nutzen und Risiken von Vererbung, kennen Alternativen dazu und können das Konzept bedacht einsetzen.
- Die Studierenden können einfache Programmierprobleme funktional lösen und funktionale Konzepte wie Higher-Order Functions als Ergänzung zu objektorientierten Konzepten gewinnbringend einsetzen.
- Die Studierenden sind in der Lage, generische Programmelemente zu verstehen, sinnvoll einzusetzen und zu einem gewissen Grad selbst zu entwickeln.
- Die Studierenden können grundlegende Prinzipien und Techniken zum Strukturieren von Applikationen anwenden, insbesondere Layering und Trennung von Präsentation und Applikationslogik.
- Die Studierenden können sich selbstständig in komplexe Bibliotheken und Frameworks einarbeiten.
- Alles in allem können Studierende komplette Applikationen von Grund auf entwickeln oder erweitern und dabei den Code verständlich und wartbar halten.
- Empfohlene Vorkenntnisse
- Programmieren 1 (prog1)
- Leistungsbewertung
- Erfahrungsnote