Objektorientierte Programmierung (Studienleistung), Datenstrukturen und effiziente Algorithmen I (Studienleistung)
Kompetenzziele
Die Studierenden erwerben praktische Erfahrungen in der Umsetzung von praxisnahen Softwareprojekten mit vorgegebener Zielstellung.
Die Studierenden erwerben praktische Programmiererfahrung, die über den Umfang einer üblichen Übungsserie hinausgeht. Dies schließt die (unter Anleitung) selbständige Lösung auftretender Probleme und die Optimierung des eigenen Codes bezüglich Laufzeit und Speicheranforderungen ein.
Die Studierenden erwerben Kompetenzen bezüglich der Zusammenarbeit in (kleineren) Gruppen bei der Erstellung von Software. Dies umfasst die Aufteilung des Aufgabenstellung, die Definition von Schnittstellen zwischen diesen Teilen und die Koordination der gemeinsamen Arbeit.
Die Studierenden erwerben Erfahrungen in der Kommunikation von eigenen Ergebnissen, Problemen und deren Lösung. Sie sind in der Lage, ihren eigenen Code vorzustellen und kritisch zu diskutieren.
Modulinhalte
In einem ersten Teil werden bisherige praktische Programmiererfahrungen anhand vorgegebener Übungsaufgaben vertieft. In den Seminarveranstaltungen wird erstellter Code vorgestellt, gemeinsam diskutiert und bezüglich Laufzeit und Speicherverbrauch (sowohl asymptotisch als auch empirisch) untersucht.
In einem zweiten Teil werden konkrete Aufgabenstellungen von größerem Umfang an die jeweiligen Studierendengruppen vergeben. Die Aufgabenstellungen sind so gestaltet, dass die Lösung für einen Basisfall (der ggf. vereinfachende Annahmen macht) planmäßig in ca. der Hälfte der verbleibenden Zeit möglich ist. Die Aufgabenstellung enthalten außerdem Vorschläge für Erweiterungen der erstellten Software für den Basisfall, die diese näher an eine reale Praxistauglichkeit heranführen (und z.B. vorherige Vereinfachungen aufheben).
In den wöchentlichen Seminarveranstaltungen stellen die Gruppen regelmäßig auftretendende Probleme, Lösungsansätze und eigenen Code zur Diskussion und berichten über den Fortgang ihres Projektes.
Die finale Stand jedes Projektes wird in einem Bericht dargestellt, der den erstellten Code einschließt, wobei die Anteile der Einzelpersonen deutlich gemacht werden.
Lehrveranstaltungsformen
Seminar (2 SWS)
Kursus
Kursus
Kursus (2 SWS)
Unterrichtsprachen
Deutsch, Englisch
Dauer in Semestern
1 Semester Semester
Angebotsrhythmus Modul
jedes Wintersemester
Aufnahmekapazität Modul
unbegrenzt
Prüfungsebene
Credit-Points
5 CP
Modulabschlussnote
LV1: %; LV2: %; LV3: %; LV4: %.
Faktor der Modulnote für die Endnote des Studiengangs
1
Modulveranstaltung
Lehrveranstaltungsform
Veranstaltungstitel
SWS
Workload Präsenz
Workload Vor- / Nachbereitung
Workload selbstgestaltete Arbeit
Workload Prüfung incl. Vorbereitung
Workload Summe
LV 1
Seminar
Seminar
2
0
LV 2
Kursus
Bearbeiten der Übungsaufgaben
0
LV 3
Kursus
Bearbeitung der Übungsaufgaben
0
LV 4
Kursus
Bericht
2
0
Workload modulbezogen
150
150
Workload Modul insgesamt
150
Prüfung
Prüfungsvorleistung
Prüfungsform
LV 1
LV 2
LV 3
LV 4
Gesamtmodul
Erfolgreiche Bearbeitung von Übungsaufgaben, Erfolgreiches Vorrechnen von Übungsaufgaben, Erstellung von Software- und Hardware-Systemen