Modulcode: | infProgOO-01a |
Englische Bezeichnung: | Objectoriented Programming |
Modulverantwortliche(r): | Prof. Dr. Thomas Slawig |
Turnus: | jedes Jahr (WS21/22 SS22 SS23 SS24) |
Präsenzzeiten: | 2V 2PÜ |
ECTS: | 6 |
Workload: | 30 Std. Vorlesung, 30 Std. Projektarbeit, 120 Std. Selbststudium |
Dauer: | ein Semester |
Modulkategorien: | BSc-Inf-G (BSc Inf (21)) 2F-BSc-Inf (2F-BSc Inf (21)) BSc-WInf-G (BSc WInf (21)) |
Lehrsprache: | Deutsch |
Voraussetzungen: | infEInf-01a |
Das Modul gibt einen Einblick in die Objektorientierte Modellierung und Programmierung am Beispiel einer statisch getypten Programmiersprache. Weitere Aspekte sind Abstrakte Datentypen, Vererbung, generische Programmierung, Abstraktion bei der Datenmodellierung, dynamische Datenstrukturen und Nebenläufigkeit. Die Inhalte werden in einem Abschlussprojekt angewendet und vertieft.
Die Studierenden können die Prinzipien der objektorientierten Programmierung zur Entwicklung strukturierter, wartbarer Software anwenden. Sie können einfache (auch dynamische) Datenstrukturen und zugehörige Algorithmen eigenständig implementieren. Sie kennen die Anforderungen der nebenläufigen Programmierung und können erlernte Techniken einsetzen, um diese zu vermeiden.
Aufbauend auf grundlegenden Programmierkenntnissen der imperativen, prozeduralen Programmierung erlernen die Studierenden die Grundprinzipien der Objektorientierung anhand einer statisch getypten, objektorientierten Programmiersprache. Die wichtigsten Inhalte sind hierbei:
Grundlegende Kenntnisse der imperativen, prozeduralen Programmierung in Python, wie sie beispielsweise in Einführung in die Informatik erworben werden.
Klausur Zulassungsvoraussetzung: Bearbeiten der Programmieraufgaben.
Folien- oder Tafelvorlesung und Programmentwicklung am Rechner.
In den Übungsstunden wird der Vorlesungsstoff wiederholt, durch die wöchentlich zu bearbeitenden Übungsaufgaben verfestigt und vertieft. Das Elernen des Programmierens ist nur durch aktives Erstellen eigener Programme möglich. Als Hilfestellung werden hierzu zusätzlich betreute Rechnerzeiten angeboten.
Wird in der Vorlesung bekannt gegeben.
Als praktische Anwendungen (insbesondere im abschließenden Projekt) kommen ggfs. Datenstrukturen und Algorithmen zum Einsatz, wie sie in parallel stattfindenden Modulen unterrichtet werden.