Die Veranstaltung richtet sich an Studierende mit wenigen oder keinen Vorkenntnissen in der Softwareentwicklung. Sie führt die Studierenden an diese Tätigkeit heran, indem sie auf systematische und wissenschaftlich fundierte Art und Weise die grundlegenden Bausteine der imperativen und objektorientierten Programmierung in Python vermittelt und deren Anwendung praktisch einübt.
Die Veranstaltung umfasst folgende Inhalte:
Grundlegende Programmierbausteine (Variablen, Operatoren und Ausdrücke, Zuweisungen, Verzweigungen, Schleifen, Ein- und Ausgabe)
Elementare Datentypen und Typverträglichkeit (Integer, String, Float, Boolean)
Rekursion (rekursive Problemreduktion, Abbruchbedingung, Zusammenhang zur Iteration)
Klassen (Klassen und Objekte, Attribute und Methoden, Überladung, Sichtbarkeit, Delegation, Gleichheit und Identität, statische und nicht-statische Attribute)
Ausnahmen (Definition, Behandlung)
Dateizugriff und Betriebssystemaufrufe (Lesen und Schreiben, sequentiell und Direktzugriff)
Lernergebnisse und Kompetenzen:
Nach Abschluss dieses Moduls können Studierende
Syntax und Semantik der wesentlichen Sprachkonstrukte einer objektorientierten Sprache erläutern
Grundkonzepte der imperativen und objektorientierten Programmierung erläutern, einfache algorithmische Lösungsmuster nachvollziehen und diese passend für gegebene Problemstellungen auswählen
einfache Algorithmen und Objektstrukturen zur Problemlösung entwerfen, implementieren und testen
für einfache Anwendungsprobleme eine geeignete programmtechnische Lösung auswählen
grundlegende Programmentwurfsprinzipien und -methoden anwenden
der Anwendungsdomäne entsprechende einfache Objektstrukturen entwerfen
die grundlegenden Werkzeuge der Softwareentwicklung effektiv einsetzen
Lösungsansätze für Programmierprobleme gemeinsam in Kleingruppen entwickeln
Lösungsansätze für Programmierprobleme bewerten
eigene analytische und konzeptionelle Fähigkeiten einschätzen