Qualifikationsziele
Die Studierenden erklären2 verschiedene Programmierparadigmen und stellen diese gegenüber4. Sie interpretieren2 Beschreibungen und Quelltexte zu elementaren Datenstrukturen und charakterisieren4 deren Funktionsweise und implementieren3 elementare Algorithmen und Datenstrukturen in verschiedenen Programmierparadigmen und passen diese an unterschiedliche Anforderungen an5. Sie diskutieren6 Vor- und Nachteile verschiedener Lösungen von algorithmischen Problemen.
Inhalte
Studierende erlernen die Grundlagen des Programmierens und grundlegende Programmierparadigmen wie Imperativ und Funktional. Sie erarbeiten sich Ausdrücke und Datentypen und grundlegende Aspekte Imperativer Programmierung (Zustand, Anweisungen Kontrollstrukturen, Ein-Ausgabe) und üben deren Anwendung. Die Studierenden erarbeiten sich grundlegende Aspekte der Funktionalen Programmierung (Funktionen, Rekursion, Funktionen höherer Ordnung, Currying), und Objektorientierte Konzepte wie Kapselung und Vererbung, Polymorphie, sowie Grundlegende Algorithmische Fragestellungen (z. B. Suchen, Sortieren, Auswählen und einfache Feld- und Zeigerbasierte Datenstrukturen) und üben deren Implementierung.