Name |
Softwareentwicklung I |
Verantwortlich |
Prof. Dr. Axel Böttcher |
SWS |
6 |
ECTS |
8 |
Sprache(n) |
Deutsch (Standard)
Englisch
|
Lehrform |
SU mit Praktikum |
Angebot |
in jedem Wintersemester |
Aufwand |
60 Präsenzstunden Vorlesung, 30 Präsenzstunden Übung,
75 Stunden Vor-/Nachbereitung der Übungen,
75 Stunden Nachbereitung der Vorlesung und Prüfungsvorbereitung |
Voraussetzungen |
Keine |
Ziele |
Die Studierenden ...
- erklären in eigenen Worten die Bedeutung der Softwareentwicklung für ihren fachlichen Kontext.
- 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 Umsetzung in Software. Diese erfüllt dabei grundlegende Qualitätsanforderungen.
- erstellen schematisch grundlegende Testfälle.
- nutzen ein Werkzeug, um Testfälle automatisiert auszuführen.
- setzen systematisch Werkzeuge ein, die den Grad der erreichten Testabdeckung ermitteln.
- nutzen Werkzeug zur Versionsverwaltung sowie eine moderne IDE.
- 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.
|
Inhalt |
Konzepte und Prinzipien der Objektorientierung auf der Basis einer aktuellen, allgemein verfügbaren Programmiersprache. Im Einzelnen werden behandelt:
- Grundkonzepte der Objektorientierung
- Datentypen, Variablen und Ausdrücke
- Kontrollstrukturen
- Einfache Datenstrukturen wie Arrays und Listen
- Strings und Textzeichen
- Grundlegende Algorithmen
- Testen
- Systematische Fehlersuche und Debugging
|
Medien und Methoden |
Tafel, Folien, Beamer, Selbstlernmaterial, Lehr-/Lernvideos, Lesetexte |
Literatur |
-
Ullenbloom, Christian: Java ist auch eine Insel, Rheinwerk Computing, 2022/16, ISBN 978-3-8362-8745-6
-
R. Schiedermeier, K. Köhler: Das Java-Praktikum, dpunkt, ISBN 978-3-89864-513-3
-
Harrer, Simon; Lenhard, Jörg; Dietz, Linus: Java by Comparison, Pragmatic
Programmers, 2018
-
Java API Dokumentation der jeweils in der Veranstaltung verwendeten Version: https://docs.oracle.com/en/java/javase/
|
Zuordnungen Curricula |
SPO |
Fachgruppe |
Code |
ab Semester |
Prüfungsleistungen |
IF Version 2019 |
Pflicht |
IF-I-B-104 |
1 |
Eine der Folgenden, Festlegung siehe Studienplan:
unbenotete praktische Prüfung
unbenotete schriftliche Prüfung
|
IC Version 2019 |
Pflicht |
|
1 |
benotete schriftliche Prüfung 90 Minuten
unbenoteter Leistungsnachweis
|
GN Version 2017 |
Pflicht |
08-GN-201 |
1 |
benotete schriftliche Prüfung 90 Minuten
unbenoteter Leistungsnachweis
|
IF Version 2023 |
Pflicht |
IF-I-B-104 |
1 |
Eine der Folgenden, Festlegung siehe Studienplan:
unbenotete praktische Prüfung
unbenotete schriftliche Prüfung
|
|