Inhalte: Studierende erlernen die Grundlagen des Programmierens und grundlegende Programmierparadigmen wie Im-perativ und Funktional. Sie erarbeiten sich Ausdrücke und Datentypen und grundlegende Aspekte Imperativer Programmierung (Zustand, Anweisungen Kontrollstrukturen, Ein-Ausgabe) und üben deren Anwendung. Die Stu-dierenden erarbeiten sich grundlegende Aspekte der Funktionalen Programmierung (Funktionen, Rekursion, Funk-tionen 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.