Achtung! Neues Curriculum!

Zum Wintersemester 2025/26 wird bei Code & Context ein neues Curriculum mit einer neuen Prüfungsordnung eingeführt:

Dies betrifft vor allem Personen, die ab diesem Semester das Studium aufnehmen: Für diese sind das neue Curriculum und die neue Prüfungsordnung verpflichtend. Alle anderen können sich beraten lassen, ob ein Wechsel für sie sinnvoll ist.

Kurs »Client Server Basics« (CS14)

Kursverantwortlich
Prof. Dr. René Wörzberger
Sprache
deutsch
Kreditpunkte
3 ECTS
Arbeitsaufwand
40h Kontaktzeit / 50h Selbstlernzeit
Kompetenzcluster
Software Development and Architecture
Gehört zum Modul
Coding Software 1
Teilmodulprüfung
Coding Session, am 2. Freitag im Block (benotet)

Angestrebte Lernergebnisse / Learning Outcomes

Die Studierenden können in Einzelarbeit auf Basis exakter und vollständiger Anforderungen eine webbasierte Client-Server-Applikation codieren, indem sie einen gegebenen Entwicklungs-Stack einsetzen, um später bei der Codierung großer derartiger Applikationen mitwirken zu können sowie alternative Frameworks und Libraries einordnen zu können.

Inhalt

  • Der Browser als Client
    • Grundlegende Protokolle und Standards wie z.B.
      • das Hypertext Transfer Protocol (HTTP)
      • der Domain Name Service (DNS)
      • Uniform Ressource Identifier (URI)
    • Auszeichnungen und Strukturierungen von Inhalten mit der Hypertext Markup Language (HTML)
    • Layoutdefinitionen mit Cascading Stylesheets (CSS)
    • Dynamisierung mit JavaScript (ECMAScript), Asynchronuous JavaScript and XML (Ajax) und dem JavaScript Object Notation (JSON)
  • Web-Server
    • Konfiguration von Web-Servern wie Nginx
    • Serving von statischen Inhalten
    • Caching als wichtiges Mittel des World-Wide-Web
  • Application-Server
    • Wichtige Spezifikationen wie z.B.
      • Servlets als Bindeglied zwischen Clients und Application-Servern
      • Java Persistence API (JPA) als Bindeglied zwischen Application-Servern und Datenbank-Servern
    • industriell relevante Implementierungen
      • Apache Tomcat
      • Spring (Boot)
  • Datenbanken
    • Relationale Datenbanken
      • Grundlegende Konzepte wie Attribute, Schlüssel, Tupel, Beziehungen und Transaktionen
      • Datenbankzugriffe mit der Structures Query Language (SQL)
      • Konfiguration einer MySQL-Datenbank
    • NoSQL-Datenbanken
      • Vor- und Nachteile von NoSQL-Datenbanken
      • Konfiguration z.B. einer MongoDB
    • Programmatischer Zugriff auf Datenbanken (mittel z.B. JPA)

Lehr- und Lernformen

  • Vorlesung
  • Übung
  • begleitende Projekt-Aufgabe:
    • Ausgangssituation: exakt ausformulierte, jedoch auf wesentliche Use-Cases beschränkte Anforderungen an ein webbasiertes System wie z.B. Vorlesungsverwaltung, Warenwirtschaftssystem oder Issue-Tracking
    • Zielsituation: abnahmefähiges webbasiertes System

Materialien/ Ressourcen

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