Avatar vom Dozent:in

Web Development edit

Modulverantwortlich Prof. Dr. Hoai Viet Nguyen
Dozent:innen Prof. Dr. Hoai Viet Nguyen
Kürzel WD
Studiensemester 4
Sprache deutsch
Kreditpunkte 5
Voraussetzungen nach Prüfungsordnung keine
Empfohlene Voraussetzungen Einführung in die Medieninformatik, Algorithmen und Programmierung 1 und 2, Datenbankensysteme, Kommunikationstechnik und Netze
Prüfungsformen Mündliche Prüfung(Einzelleistung)
Level Vertiefung
Häufigkeit des Angebots jedes Sommersemester
Präsenzzeit in Stunden 72
Selbststudium in Stunden 78
Lehrformen Vorlesung 2 SWS, Praktikum 2 SWS
Lehrmethoden Folienpräsentation, Live-Coding und -Demonstration, Implementierung Webclients und serverseitgen Webanwendungen, Analyse von Webanwendungen durch Entwicklertools
Letzte Aktualisierung 22. März 2024

Learning Outcome

Veranstaltung führt in die Grundlagen der Entwicklung und Implementierungen von Webanwendungen und Webservices ein.

(WAS) Studierenden können eine vollständige Webanwendung entwickeln und implementieren,

(WOMIT) indem Sie

(WOZU) um später komplexere Webanwendungen selbständig entwickeln, implementieren, optimieren und betreiben zu können.

Inhalt

Im Grundlagenteil der Veranstaltung werden wesentliche Konzepte vermittelt, die zur Konzeption, Diskussion und Realisierung von Diensten im Web benötigt werden. Die Konzepte sind wichtig um als Medieninformatiker bzw. Medieninformatikerin kompetent Aufgaben des Berufsalltags lösen zu können und an Fachdiskussionen teilnehmen zu können. Themen sind u.a.:

Im Workshop soll die Studierenden durch Übungen die Lehrinhalte aus dem Grundlagenteil praktisch anwenden. Ziel des Workshop ist die Implementierung und das Deployment einer Webanwendung für ein selbstgewältes Problemszenario, der eine signifikante Abnwendungslogik realisiert und seinerseits anwendungsbezogen einen externen REST-basierten Web Service einbindet.

Literatur

Erläuterung zur Prüfungsvorleistung

Das Lernziel des Moduls Web Development besteht darin, dass Studierende in der Lage sein sollen, eine umfassende Webanwendung zu entwickeln und zu implementieren. Dafür ist nicht nur fundiertes theoretisches Wissen notwendig, sondern auch praktische Erfahrung in der Anwendung der vermittelten Lehrinhalte. Das Erlernen der Programmierung komplexer Softwaresysteme bedingt eine kontinuierliche Übungspraxis seitens der Studierenden. Im Rahmen des Praktikums soll dieses Ziel durch regelmäßige Entwicklungs- und Implementierungsaufgaben erreicht werden, welche die Inhalte der Vorlesungen vertiefen und schrittweise praktische Erfahrungen ermöglichen. Die Bearbeitung der Praktikumsaufgaben wird regelmäßig von den Lehrenden geprüft und bewertet, um den Studierenden konstruktive Rückmeldungen zu ihrem Lernfortschritt zu geben. Zudem fördert die kontinuierliche Auseinandersetzung mit den Aufgaben das Nach- und Vorbereiten der Studierenden und unterstützt das nachhaltige Verinnerlichen des Lehrstoffs. Weiter trägt die gleichbleibend hohe Frequenz der Aufgabenstellungen dazu bei, den Lernaufwand über das gesamte Semester hinweg konstant zu halten und somit die Vorbereitung auf die abschließende Prüfung zu erleichtern. Das erfolgreiche Absolvieren des Praktikums ist nicht an eine Anwesenheitspflicht gebunden, da die Einreichung und Bewertung der Aufgaben sowie die Rückmeldung zum Lernfortschritt auch online erfolgen können.

Geförderter Kompetenzerwerb

Das Modul zahlt auf folgende Handlungsfelder und Kompetenzbereiche ein. Eine ausführliche Beschreibung der konkreten Komptenzen finden Sie weiter unten.

Designing for User Experiences

Developing Interactive and Distributed Systems

Exploring Advanced Interactive Media

Driving Creation Process

Designing for User Experiences

  • Anforderungen und Bedarfe

    • Verstehen, wie menschliche Wahrnehmung, Denken und Handeln, Kommunikation und Interaktion funktioniert.

    • Kennen Methoden und Techniken, mit deren Hilfe das Verhalten, die Bedürfnisse und die Erwartungen der Benutzer verstanden, erfasst und nutzbar gemacht werden können und können diese anwenden.

    • Können Nutzungs- und Unternehmenskontexte analysieren und deren Auswirkungen auf Medienwahl und -ausgestaltung erörtern.

  • Konzepte

    • Haben ein ausgeprägtes konzeptionelles Denkvermögen entwickelt, um komplexe Probleme zu analysieren, innovative Lösungsansätze zu konzipieren und diese in verständliche und erfahrbare Konzepte zu überführen.

    • Können multimodale/ multicodale Interaktionskonzepte unter Berücksichtigung von Benutzercharakteristika, avisierten Nutzungskontexten, ggf. regulatorischer Rahmenbedingungen (z.B. Accessibility), Designzielsetzungen etc. erarbeiten.

    • Kennen Grundlagen des Interaktionsdesigns wie Modellierung von Benutzerflüssen, Erstellung von Wireframes und Prototypen, etc. und können diese in konkreten Projekten anwenden.

    • Können angemessene Informationsarchitekturen entwicklen, evaluieren, iterieren und optimieren.

Developing Interactive and Distributed Systems

  • Technologie

    • Können hardware-basierte Technologien zur Interaktion mit Computern in verschiedenen Modalitäten einsetzen (bspw. sprachbasierte Interaktion, Tangible Computing, Physical Computing, Sensoren und Aktoren).

    • Kennen State-of-the-art Technologie zur Umsetzung von software-basierten Anwendungen (insb. in den Bereichen Web, Mobile, IoT, AR/VR, AI), können konkurrierende alternative Technologien auswählen und evaluieren, sich neue technologische Möglichkeiten erschließen, diese bewerten, nutzen, und integrieren sowie zukunftsorientiert neue Möglichkeiten screenen.

    • Wissen wie Kommunikation zwischen Computern realisiert wird (bspw. req/res, pub/sub und Protokolle wie HTTP, MQTT).

    • Wissen was ein Computer ist und wie Software darauf ausgeführt wird.

  • Entwurf

    • Verstehen formale Strukturen.

    • Können abstrahieren, logisch denken und komplexe Zusammenhänge verstehen.

    • Können Aspekte realweltlicher Probleme zu identifizieren, die für eine informatische Modellierung geeignet sind, algorithmische Lösungen für diese (Teil-)Probleme bewerten und selbst so zu entwickeln, dass diese Lösungen mit einem Computer operationalisiert werden können.

    • Konzepte (bspw. Paradigmen, Architekturen, Pattern) für die web-basierte Verteilung von Komponenten (bspw. Frontend/Clients/Apps, Backend/Server/Cloud) für verteilte interaktive Anwendungen kennen und umsetzen können.

  • Implementierung

    • Kennen Entwicklungsumgebungen, Tools und entwicklungsnahe Prozesse und diese praktisch nutzen (insb. IDE, Compiler, Linker, Libraries, Debugging, Unit-Testing, Repositories für eigenen Code / git, Build Tools, Paketmanager).

    • Können (komplexe) Softwaresysteme im Team entwickeln.

    • Kennen Grundkonzepte agiler Entwicklung und agilen Arbeitens wie iterative und inkrementelle Entwicklung, selbstorganisierte Teams, Transparente Kommunikation, etc. und können diese in Projekten anwenden.

    • Können digitale Produkte und verschiedene Software-Artefakte zur Evaluation und zur Nutzung auf typischen Distributionswegen (bspw. Clickdummy, Web-Deployment, App Store) für verschiedene Zielgruppen bereit stellen (lauffähig, sicher und gebrauchstauglich).

Driving Creation Process

  • Innovation

    • Können Prozesse zur Herstellung digitaler Produkte und Services managen und diese als Artefakte zur Nutzung durch Dritte in ein Ökosystem bereitstellen.

  • Management

    • Können ein Team zusammenstellen und dieses lauf- und lebensfähig halten.

    • Können kreative und agile Prozesse hinsichtlich Zeit- und Ressourcenmanagement effizient durchführen und verwalten.

  • Kommunikation

    • Können Ideen vermitteln, sich über Anforderungen verständigen, Feedback einholen und mit verschiedenen Interessengruppen zu interagieren und verhandeln.

    • Können effektive und transparente Kommunikation und Zusammenarbeit fördern, Konflikte erkennen, analysieren und lösen.

    • Sind in der Lage Arbeits- und Forschungsergebnisse klar und verständlich in aussagekräftigen, zielgruppengerechten Berichten, Präsentationen o.Ä. zu kommunizieren.

    • Haben die Fähigkeit effektiv in multidisziplinären Teams zu arbeiten und die verschiedenen Fachperspektiven und -sprachen zu verstehen.

Exploring Advanced Interactive Media

  • Exploration & Kreativität

    • Können Ansätze, Denk- und Vorgehensweisen aus verschiedenen Fachrichtungen nutzen, kombinieren und einsetzen um neue Ideen und Lösungen zu erzeugen.

    • Haben eine offene Fehlerkultur in der Fehler nicht als Endpunkt betrachtet, sondern als Teil des Lernprozesses verstanden und genutzt werden, um Prozesse zu verbessern, zukünftige Fehler zu vermeiden und exploratives Handeln zu fördern.

    • Haben die Fähigkeit zur Selbstreflexion um Handlungen und Entscheidungen evaluieren und iterieren zu können.

    • Sind neugierig, offen und in der Lage Fragen zu stellen, Unbekanntes zu erkunden und verschiedene Perspektiven zu berücksichtigen.

  • Prototyping

    • Beherrschen verschiedene Formen von Prototyping zum frühzeitigen Einholen von Feedback und zum Erklären, Erkunden und erlebbar machen von Ideen und Ansätzen.

    • Können angemessene Prototypen für die jeweilige Fragestellung und Entwicklungsphase entwickeln und effizient einsetzen.

Enhancing Interactions on Different Scales

  • Situated Interaction

    • Können Sensoren und anderen Technologien integrieren, um den aktuellen Kontext, wie den physischen Standort oder die Umweltbedingungen, zu erfassen, um damit umgehen zu können.

  • Ethik und Gesellschaft

    • Haben ein Verständnis von ethischen Richtlinien, Standards sowie dem Schutz der Privatsphäre zum Wohlergehen der Nutzer:innen und können dieses in eigenes Handeln integrieren.

  • Selbstlernen

    • Können sich selbstständig neue Wissens- und Kompetenzbereiche zu Methoden, Technologien oder Domänen erschließen.

In der linken Spalte sehen Sie, welche Kompetenzen für das Modul vorausgesetzt werden (hellgrauer Balken). In der rechten Spalte sehen Sie, welche Kompetenzen Sie mit dem Modul erwerben können (farbiger Balken). Die Kompetenzen sind in Handlungsfelder und Bereiche gegliedert.

Wenn Sie auf den grauen oder farbigen Balken klicken, gelangen Sie zu einer Liste von Modulen, die auf diese Kompetenz einzahlen. Hier finden die eine Übersicht über alle Kompetenzen und die Module, die auf diese einzahlen.

arrow_upward