Kurs »Coding Essentials 2« (CS13)

Kursverantwortlich
Prof. Dr. Frank Schimmel
Sprache
deutsch
Kreditpunkte
3 ECTS
Arbeitsaufwand
40h Kontaktzeit / 50h Selbstlernzeit
Kompetenzcluster
Software Development and Architecture
Gehört zum Modul
Coding Software 1
Teilmodulprüfung
Präsentation, Deadline (benotet)

Angestrebte Lernergebnisse / Learning Outcomes

Die Studierenden können in Einzelarbeit und auf Basis exakter jedoch veränderlicher Anforderungen größere Programme mit graphischen Benutzeroberflächen kodieren, indem Sie Programmiersprachenkonzepte für Objekt-Orientierte Programmierung sowie gängige Frameworks und Libraries verwenden, um später große und wartbare Systeme kodieren zu können.

Inhalt

  • Objekt-Orientierte Programmierung, insbesondere
    • Abstraktion
    • Klassen
    • Interfaces
    • Vererbung
    • Polymorphie
    • Visibilities
  • Basics UML zur Visualisierung
  • Grundlegende Muster wie z.B
    • Singletons
    • Callbacks
    • Observer
  • Weitere Essentials, wie
    • Packages
    • Generizität
    • Ausnahmebehandlung
    • ggfs. Lambdas
  • Frameworks und Libraries
    • zur Serialisierung / Deserialisierung (z.B. java.io)
    • zur Erzeugung von graphischen Benutzeroberflächen (z.B. Android, JavaFX)
    • zum Logging
  • Umgang mit Versionsverwaltungs-Tools wie Git bei Einzelarbeit
    • Git-Basics (Repositories, Commits etc.)
    • Repositories aufsetzen (git clone, git init)
    • Versionen erzeugen (git commit)
    • Versionen markieren (git tag)

Lehr- und Lernformen

  • Vorlesung
  • Übungen zu einzelnen Inhalten
  • begleitende Projektaufgabe:
    • Ausgangssituation: Exakt spezifizierte Anforderungen an ein kleines System (z.B. Adressverwaltung mit Android oder JavaFX-GUI)
    • Zielsituation: lauffähiges System

Materialien/ Ressourcen

  • Liste ausgewählter Literatur und Web-Ressourcen
  • Vorlesungsunterlagen
  • Übungsunterlagen inkl. Lösungen
  • Projekt-Meilensteinbeschreibungen
  • vorkonfigurierte Entwicklungsumgebungen
  • vorgefertigte Entwicklungsstände