SWS |
4 |
ECTS |
5 |
Sprache(n) |
Deutsch
|
Lehrform |
SU mit Praktikum |
Angebot |
in jedem Wintersemester |
Aufwand |
60 Präsenzstunden, 90 Stunden Eigenarbeit zur Vor-/Nachbereitung und Prüfungsvorbereitung |
Voraussetzungen |
Computational Thinking, Funktionale Programmierung |
Ziele |
Die Studierenden ...
- erklären in eigenen Worten die Bedeutung der objektorientierten Programmierung und beschreiben den Unterschied zwischen einzelnen programmiersprachlichen Konstrukten.
- begründen, welches Sprachkonstrukt in welchem Kontext zu verwenden ist, und warum.
- wägen systematisch ab, welches Konzept der Programmiersprache am besten geeignet ist, um eine bestimmte Anforderung in einem Algorithmus umzusetzen.
- identifizieren Stärken und Verbesserungspotenzial in gegebenem Quelltext.
- bewerten eine von ihnen selbst erstellte Software kritisch hinsichtlich Stärken und Schwächen, die in Bezug zu grundlegenden Qualitätsanforderungen bestehen (Lesbarkeit, Testbarkeit, Korrektheit).
- entwickeln für ein einfaches Problem aus einer gegebenen Anforderungsspezifikation heraus eine objektorientierte Umsetzung. Diese erfüllt dabei grundlegende Qualitätsanforderungen. (Ein „einfaches Problem“ ist dabei eine Aufgabenstellung, die mit maximal zehn Klassen objektorientiert zu lösen ist.)
- erstellen schematisch grundlegende Testfälle.
- nutzen ein Werkzeug um Unit-Tests automatisiert auszuführen.
- setzen systematisch Werkzeuge ein, die den Grad der erreichten Testabdeckung ermitteln.
- nutzen Werkzeug zur Versionsverwaltung sowie eine moderne IDE und build-Werkzeuge.
- gleichen beim Verwenden des Debuggers das, was der Debugger anzeigt, ab mit der eigenen mentalen Erwartung, bis beides nicht mehr zueinander passt und zeigen so Soll-/Ist-Differenzen auf.
- bearbeiten Software in kleinen Teams und formulieren dabei als Feedback-Geber ihre Kritik gemäß Feedback-Regeln; bzw. halten als Feedback-Nehmer beim Empfangen von Kritik die formalen Feedback- Regeln ein.
|
Inhalt |
Grundlegende Konzepte der objektorientierten Programmierung auf der Basis einer aktuellen, allgemein verfügbaren Programmiersprache. Im Einzelnen werden behandelt:
- Klassen und Methoden
- Variablen, Ausdrücke, und Kontrollstrukturen
- Testen
- Objektorientierte Modellierung und Design
- Vererbung
- Grundlegende Algorithmen
- Exception Handling
- Systematische Fehlersuche und Debugging
|
Medien und Methoden |
Je nach Dozierendem: Beamer, Tafel, Videos, Lesetexte, Selbstlernmaterial |
Literatur |
R. Schiedermeier: Programmieren in Java, Pearson, ISBN 3-8273-7116-3
R. Schiedermeier, K. Köhler: Das Java-Praktikum, dpunkt, ISBN 978-3-89864-513-3 |
Zuordnungen Curricula |
SPO |
Fachgruppe |
Code |
ab Semester |
Prüfungsleistungen |
DC Version 2020 |
Pflicht |
DC-PF-02-004 |
3 |
Eine der Folgenden, Festlegung siehe Studienplan:
Schein
benotete schriftliche Prüfung 90 Minuten
praktische Prüfung
|
DC Version 2023 |
Pflicht |
DC-PF-02-004 |
3 |
Eine der Folgenden, Festlegung siehe Studienplan:
Schein
benotete schriftliche Prüfung 90 Minuten
praktische Prüfung
|
|