Softwareentwicklung I
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