Vertiefung – Web Development

Prof. Dr. Kristian Fischer, Prof. Christian Noss

Kreditpunkte
20
Studiensemester
4
Sprache
deutsch
Kürzel
WD
Voraussetzungen nach Prüfungsordnung
keine
Weitere Informationen zum Modul
https://th-koeln.github.io/mi-bachelor-webdevelopment

Empfohlene Voraussetzungen

Einführung in die Medieninformatik, Grundlagen des Web, Algorithmen und Programmierung, Paradigmen der Programmierung, MCI, Screendesign, Betriebssysteme und verteilte Systeme

Kurzbeschreibung

Einführungen in Konzepte, Techniken und Arbeitsweisen der Web Entwicklung.

Lehrform/SWS

16 SWS: Vorlesung 6 SWS, Praktikum 6 SWS, Projekt 4 SWS

Lehrveranstaltungen

  • Web Frontend Entwicklung
  • Serverseitige Frameworks und Dienste
  • Internet of Things
  • Web Development Projekt

Arbeitsaufwand

600h Gesamtaufwand

Web-Frontend Entwicklung

50h Vorlesung, Seminar; 100h Selbstlernphase

Serverseitige Frameworks und Dienste

50h Vorlesung, Seminar; 100h Selbstlernphase

Internet of Things

50h Vorlesung, Seminar; 100h Selbstlernphase

Web Development Projekt

150h Projekt

Angestrebte Lernergebnisse

Die Studierenden - kennen ausgewählte Methoden und Frameworks für die Web Entwicklung im Front-End, im Back-End und in vernetzten Geräten (IoT), - können eine Methoden und Technologiewahl für einen Projektkontext fachlich begründen, - können Frameworks und Methoden zur Realisierung von Proof-of-Concepts in einem Projektkontext einsetzen und - können die erzielten Ergebnisse fachlich, kritisch einordnen und diskutieren, - um kompetent in Web Entwicklungs Teams mitwirken zu können.

Web Frontend Entwicklung

Die Studierenden kennen wesentliche Konzepte und Technologien des Web-Frontend Developments und können diese anwenden, um eigenständig im Team Web-Frontends zu konzipieren, realisieren und optimieren.

Die Studierenden sind in der Lage ein gegebenes Gestaltungskonzept zu verstehen und zu erweitern, um dies als Web-Frontend umzusetzen.

Die Studierenden kennen Web-Frontend Frameworks und sind in der Lage diese kritisch zu beurteilen und auf Basis der Anforderungen eines konkreten Projekts das optimale Framework Set zu konfektionieren und die Auswahl zu begründen.

Die Studierenden kennen das Zusammenspiel von server- und clientseitigen Komponenten im Bereich des Webs und können Web-Frontends konzipieren und realisieren, die mit serverseitigen Komponenten und Diensten möglichst optimal zusammen arbeiten. Sie können außerdem, bezogen auf eine konkrete Aufgabenstellung, abwägen, welche Funktionalitäten clientseitig und welche serverseitig gelöst werden sollten.

Serverseitige Frameworks und Dienste

Die Studentinnen und Studenten kennen - wesentliche Frameworks, Dienste und Werkzeuge für die serverseitige Entwicklung von Web Anwendungen - können ausgewählte Frameworks, Dienste und Tools in einem Projektkontext anwenden.

Die Kompetenz zur systematischen Entwicklung von Systemen in einem arbeitsteiligen Team wird eingeübt und vertieft. Kenntnisse aus den anderen Modulen der Vertiefung werden vertieft und verknüpft und im Rahmen eines konkreten Projektauftrags angewendet.

Die Studierenden sind in der Lage ein Projektbriefing zu durchdringen und daraus einen Projektauftrag abzuleiten und diesen im Team abzuarbeiten.

Den Teilnehmern steht eine Auswahl an Techniken und Frameworks zur Verfügung, aus dem sie die passenden Ansätze begründet auswählen und anwenden können.

Die StudentenInnen sind in der Lage eine komplexe Anwendung im Web über mehrere Endgeräte hinweg zu planen, zu realisieren und zu dokumentieren.

Internet of Things

In diesem Modul lernen die Teilnehmer das Gebiet Internet of Things kennen. Dabei liegt ein besonderer Fokus auf der Bedeutung des Web für Applikationen jenseits eines Browsers. Immer mehr Alltagsgegenstände werden mit Technologien angereichert, die eine Dienste-Bereitstellung oder Dienst-Nutzung über das Web ermöglichen (beispielsweise das Steuern von Gegenständen oder das Erfassen von Sensordaten). In diesem Modul werden relevante Konzepte und aktuelle Technologien für das Internet der Dinge diskutiert und in prototypischen Anwendungen erprobt.

Studierende können nach diesem Modul selbstständig Anwendungen für das Internet of Things konzipieren und realisieren, indem Sie - hardware-nahe Aspekte im Design der Applikation berücksichtigen, - eine System-Architektur entwerfen, - kriterien-basiert geeignete Technologien zur Realisierung auswählen, - eine prototypische Anwendung implementieren, - inkrementell-iterativ vorgehen und Projektentscheidungen auf der Grundlage vorliegender Zwischenstände treffen.

Inhalt

Web Frontend Entwicklung

  • Web Basics: HTML, CSS, Javascript
  • CSS: Komplexe Layouts & Responsivität
  • Javascript: Dynamische Anwendungen
  • Media Types
  • CSS Frameworks
  • CSS Preprozessoren
  • Javascript Frameworks
  • Performance
  • Microdata, Internationalisierung, SEO, Barrierefreiheit

Serverseitige Frameworks und Dienste

  • NodeJS
  • Services im Web: Amazon WS (AWS), Google Firebase
  • NoSQL Datenbanken
  • Web Analyse: Piwik,

Ausgewählte Tools sollen tiefgreifend erarbeitet werden und in einem Projektkontext angewendet werden. Dies erfolgt in der Regel in dem begleitenden Projekt

Internet of Things

  • Physical Computing
  • Prototyping und Retrofitting
  • Hardware (bspw. RaspberryPi und Arduino)
  • Sensoren und Aktoren
  • Frameworks (bspw. NodeRed und Johnny Five)
  • Architekturen und Protokolle (bspw. event-basierte Architekturen und MQTT)
  • Mobile Web- und Smartphone-Sensoren (bspw. GPS, Beacons)

Studien-/Prüfungsleistungen

Projektarbeit mit Projektpräsentationsprüfung und Fachgespräch.

Medienformen

Beamergestützte Vorträge, Rechnergestützte Workshops

Literatur

  • Randy Connolly, Ricardo Hoar: Fundamentals of Web Development
  • Andy Clark: Hardboiled Web-Design
  • Tilkov et al.: REST und HTTP- Entwicklung und Integration nach dem Architekturstil des Web, dpunkt.verlag 2015
  • Watkin: Practical XMPP, Packt Publishing 2016
  • Saint-Andre: XMPP: THe Definitive Guide, OReilly 2009
  • Roy: RabbitMQ in Depth, Manning 2016
  • Newman: Building Microservices: Designing fine-grained systems, OReilly 2015