TU Wien:Web Application Engineering & Content Management VU (Mairhofer, Mayerhofer)

From VoWi
Jump to navigation Jump to search
Similarly named LVAs (Resources):

Daten[edit | edit source]

Lecturers Franz Mairhofer, Christoph Mayerhofer
ECTS 3
Department Forschungsbereich Automation Systems
When summer semester
Language Deutsch
Links tiss:183223
Zuordnungen
Master Software Engineering & Internet Computing Wahlmodul Distributed Systems and Networking

Mattermost: Channel "web-application-engineering-content-management"RegisterMattermost-Infos

Inhalt[edit | edit source]

2018S:

  • Backend: wie werden Backends heute entwickelt, wie bis noch vor einigen Jahren, was ist der Unterschied (server vs. client side rendering, wo ist die business Logik, pwa's)
  • Usability: Inhalt zum Teil aus Bachelor Kursen bekannt (usability engineering, interface + interaction design), allgemeine prototyping ansätze
  • Frontend: Web Framework und single page anwendungen mit Fokus auf JS
  • Cloud Computing: die üblichen XX as a service Konzepte, Skalierbarkeit, Replikation, Load Balancing
  • Security
  • Qualitätssicherung: Scrum, XP, agile, TDD, CI, CD, Testen, infrastruktur und deployment

Drei Übungen, unter dem Semester und die wöchentliche Vorlesungsblöcke

2022S:

  • Software Container
  • Backend-Technologien
  • Usability, CSS
  • Frontend: JavaScript allgemein, Web Frameworks, Angular und React im Detail
  • Authentifizierung, SSO
  • Security (Gastvortrag von ESSE)
  • Qualitätssicherung

Drei Übungen und wöchentliche Online-Vorlesung.

Ablauf[edit | edit source]

Drei Übungen und sechs Vorträge zum Inhalt. Ein Abgabegespräch und eine Endpräsentation.

Benötigte/Empfehlenswerte Vorkenntnisse[edit | edit source]

Eigentlich keine, Interesse an neuen Technologien schadet nicht, wenn man schon mal was mit dem Technologiestack gemacht hat erspart man Zeit wie überall aber alles in allem auch ohne schaffbar.

Vortrag[edit | edit source]

2022S: Klassisch wöchentlicher Vortrag über Jitsi. Aufzeichnungen wurden allerdings nur aus dem Vorjahr angeboten.

Übungen[edit | edit source]

2018S(?):

Erste Übung dient lediglich als Einstieg und man setzt den Stack auf mit einem kleinen Counter Example als Durchstich. auf

Zweite Übung. Implementieren von ein paar Usecases und die dann beim Abgabegespräch erklären. Kleiner Theorieteil. Man sollte doch ein paar Stunden je anch TDritte Übung: Erweitern der Usecases (bei uns Web Push zu implementieren) und Schwerpunkt auswählen. Entweder Mobile App (Flutter oder pwa ähnlich), CI mit Travis CI oder was eigenem, Backend Erweiterungen im Sinne von Cloud Functions.echnologie einplanen weil nicht immer alles so schnell umsetzbar ist wie man sich evtl. erhofft.

2022S:

Teams zu 4 Personen. Für die Übungen bestand freie Technologiewahl. Im Readme sollte die Wahl in 1-2 Sätzen begründet sein. Dabei wurden wir dazu ermutigt, auch uns bisher unbekannte Technologien auszuprobieren. Alle Deploy-Artefakte waren auch als Docker-Container im Dockerhub öffentlich zu hinterlegen (für jede Aufgabe) und den Hash davon ins Readme zu geben.

  1. Web-Applikation aufsetzen (Frontend + Backend) und OIDC Login-Flow implementieren gegen das von ihnen zur Verfügung gestellte Keycloak, welches 2 vorgegebene Testuser hat.
  2. Die bestehende Web-Applikation soll zu einer Crypto-Zahlungsempfangsapp für Händler ausgebaut werden. Dabei soll die OpenNode-Test-API angebunden werden und Bezahlungen mittels QR-Code-Scan ermöglichen.
  3. DSGVO-Cookie-Dialog war als generische Komponente zu implementieren (Design und Funktionalität war genau vorgegeben). Weiters war GitLab CI aufsetzen, Linting und Testing in die CI Pipeline einbauen für Frontend und Backend, außerdem waren 2 Komponententests für das Frontend (keine Tests für das Backend) zu schreiben.

Es gab nach der zweiten Übung ein Online-Abgabegespräch über Jitsi, bei dem die Abgabe kurz besprochen wurde. Nach der dritten gab es kein Abgabegespräch mehr.

Prüfung, Benotung[edit | edit source]

Prüfung mit fast ausschließlich offenen Fragen, nur vereinzelt MC-Fragen. Grundsätzlich sind die Fragen sehr offen gestellt, z.B. Was ist der Unterschied zwischen Software Engineering (klassisch) und Web Application Engineering, die Benotung ist aber sehr fair. Ich hatte ein eher mittelmäßiges Gefühl nach der Prüfung und konnte trotzdem über 90% erreichen. Die Prüfung ist freiwillig, wenn man genug Punkte auf die Übung hat.

Dauer der Zeugnisausstellung[edit | edit source]

noch offen

Zeitaufwand[edit | edit source]

Kommt auf das Team und die eigenen Vorkenntnisse drauf an, aber man sollte früh genug anfangen, um eventuelle Technologieeinschränkungen zu überwinden und sich einlesen zu können. Man sollte wsl. für die zweite + dritte Aufgabe jeder ca. einen bis zwei Tage einplanen.

Unterlagen[edit | edit source]

Tipps[edit | edit source]

  • Code nicht ganz gegen die Wand fahren im zweiten Beispiel weil man den im dritten gut wiederverwenden und erweitern kann.
  • Wenn ihr eine neue Technologie unbedingt mal ausprobieren wolltet, ist das eventuell eine gute Gelegenheit. Solltet ihr allerdings eher "schnell durchkommen" wollen, empfiehlt es sich, auf euch bereits Vertrautes zu setzen.

Verbesserungsvorschläge / Kritik[edit | edit source]

noch offen