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.