Proseminar/Hauptseminar/Forschungsseminar Web Engineering (WS 2014/2015)
Im interdisziplinären Forschungsgebiet Web Engineering werden Ansätze für ein methodisches Konstruieren von Web-basierten Anwendungen und verteilten Systemen sowie für deren kontinuierliche Weiterentwicklung (Evolution) entwickelt. So beschäftigt man sich im Web Engineering beispielsweise mit der Entwicklung von interoperablen Web Services, der Implementierung von Web-Portalen mittels Service-orientierter Architekturen (SOA), barrierefreier Benutzerschnittstellen bis hin zu exotischen Web-basierten Anwendungen, die über das Telefon sprachgesteuert werden oder sich über Fernseher und Autoradio darstellen.
Folgende Leistungen sind von jedem Seminarteilnehmer zu erbringen:
- Es ist ein fünfminütiger einführender Kurzvotrag zu erarbeiten, welcher in das gewählte Thema einführt und die geplanten thematischen Schwerpunkte, Recherchequellen und Ideen zur Demonstration darstellt.
- Es ist ein Vortrag zu dem erhaltenen Thema auszuarbeiten. Die Vorträge werden im Block an einem "Seminar-Tag" gehalten; der Termin hierzu wird beim ersten Treffen vereinbart.
- Zusätzlich zum Vortrag wird eine schriftliche Zusammenfassung des Themas erwartet (Ausarbeitung).
- Jede Ausarbeitung wird von zwei bis drei Seminarteilnehmern begutachtet (Review). Die Zuweisung der Reviews erfolgt durch die Betreuer des Seminars.
Seminarleitung
Dr.-Ing. Sebastian Heil
senior researcher
Zielgruppe
- Diplom Informatik (Proseminar/Hauptseminar)
- Diplom Angewandte Informatik (Proseminar/Hauptseminar)
- Bachelor Informatik (Proseminar 500110/Hauptseminar 500070)
- Bachelor Angewandte Informatik (Proseminar/Hauptseminar 500270)
- Master Informatik für Geistes- und Sozialwissenschaftler (Proseminar/Forschungsseminar)
- Master Data & Web Engineering (Seminar 553170 / Forschnungsseminar 500090/M_01 / DWE-Seminar 553170)
- High Performance & Cloud Computing (Forschungsseminar)
- Master Informatik (Forschungsseminar)
Einschreibung
Themen (und VSR-Ansprechpartner)
Fragen:
- Welche Tools existieren und wie sind diese charakterisiert (Lizenz, Plattformunabhängigkeit, Reasoning Engines, Fehlerprüfung und -korrektur, Plugin-Architektur, ansprechende Ausgabe etc.)?
- Welche Eingabe- (OWL, RDFS etc.) / Ausgabeformate (dotty, png, rdf/* etc.) sind unterstützt?
- Wie flexibel sind diese (Zoom, Filtering, Annotationen, Clustering etc.)?
Literatur:
- Einstieg: Diverse Protege Plugins (http://protegewiki.stanford.edu/wiki/Visualization)
- Eigenständige Recherche erforderlich
Fragen:
- Was gibt es für Ansätze, um Daten in der Cloud zu verschlüsseln?
- Wie kann trotz Verschlüsselung eine effiziente Suche nach Schlüsselwörtern realisiert werden?
Literatur:
- Song, Dawn Xiaoding, David Wagner, and Adrian Perrig. "Practical techniques for searches on encrypted data." In Security and Privacy, 2000. S&P 2000. Proceedings. 2000 IEEE Symposium on, pp. 44-55. IEEE, 2000.
- Mai Dahshan and Sherif Elkassas "Framework for Securing Data in Cloud Storage Services" To be published 2014
Fragen:
- Was besagt der Six-Degree-Of-Separation-Ansatz?
- Wie lässt sich dieser auf soziale Netzwerke anwenden?
- Welche Schlüsse lassen sich daraus ziehen?
Literatur:
- http://en.wikipedia.org/wiki/Six_degrees_of_separation
- Travers, J., & Milgram, S. (1969). An experimental study of the small world problem.
Fragen:
- Wann und wie wird MOM eingesetzt?
- Was ist der Unterschied zu den anderen Techniken (z.B. RPC-Middleware)?
- Was sind die Beispiele von MOM und welche Funktionalitäten werden üblicherweise zur Verfügung gestellt?
Fragen:
- Was sind die Aufgaben eines VPNs?
- Welche Arten / Klassifizierungen von VPNs gibt es?
- Wie funktioniert IPSec?
Fragen:
- Wie ist die Terminologie von CORBA?
- Was war die Motivation für die Entwicklung von CORBA?
- Wie findet die Kommunikation zwischen CORBA-Clients und CORBA-Clients statt?
Fragen:
- Welche Konzepte bzw. Begriffe werden verwendet?
- Was war die Motivation für die Entwicklung von COM/DCOM?
- Wie findet die Kommunikation zwischen COM-Client und COM-Server statt?
Fragen:
- Was sind die Portlets und wo werden diese eingesetzt?
- Was beschreibt Java Portlet Specification v2 (JSR 286)?
- Wie entwickelt man Portlets?
Fragen:
- Auf welchen technologischen Grundlagen arbeiten cryptocurrencies?
- Wie unterscheiden sich Proof-of-Work bzw. Proof-of-Stake Systeme?
- Wo werden cryptocurrencies bereits eingesetzt?
Literatur:
- NXT
- Ripple
- Litecoin
- BlackCoin
Fragen:
- Welche grundsätzlichen Möglichkeiten gibt es, um Autocomplete zu implementieren?
- Wie kann man Autocompletion für eine gegebene Grammatik umsetzen?
- Implementieren Sie beispielhaft Autocompletion für eine einfache Grammatik.
Literatur:
- typeahead.js
- PEG.js
- complete.ly
- cloud9
- http://www.mdk-photo.com/editor/
- http://codemirror.net/demo/complete.html
- eigene Recherche notwendig
Fragen:
- Was ist elastic search?
- Für welche Anwendungsfälle lässt sich elastic search einsetzen?
- Implementieren Sie beispielhaft eine Anwendung zur Demonstration von elasticsearch.
Literatur:
- http://www.elasticsearch.org/
- eigene Recherche notwendig
Fragen:
- Welche Probleme ergeben sich aus der Notwendigkeit von Transaktionen im Zusammenspiel mit RESTful APIs?
- Welche Ansätze für RESTful APIs zur Unterstützung von Transaktionen gibt es?
- Wie funktionieren distributed transactions?
Literatur:
- Distributed Transactions
- http://ws-rest.org/2014/sites/default/files/wsrest2014_submission_7.pdf
- eigene Recherche notwendig
Fragen:
- Was ist asm.js?
- Wofür lässt es sich einsetzen?
- Warum ist asm.js performanter als reines JavaScript?
Literatur:
- asmjs working draft
- asmjs.org
Fragen:
- Warum sind was (keine) Zieldomänen von R?
- Wie hoch ist die Ausdrucksstärke/-kraft von R (inkl. Begründung)?
- Welche charakteristischen Unterschiede bestehen in der Vektor-, Martizen- (inkl. Data Frames) und Listenverarbeitung und -handhabung verglichen zu anderen Programmiersprachen?
Literatur:
Fragen:
- Was ist dn42, was sind die Ziele?
- Welche Infrastruktur, Protokolle und Technologien kommen bei dn42 zum Einsatz?
- Ist es möglich, dn42 gezielt zu stören/blockieren?
Literatur:
- https://dn42.net/
- http://nowhere.ws/guides/dn42/
- http://nixnodes.net/dn42/graph/
- eigene Recherche notwendig
Fragen:
- Wie funktioniert die agile Entwicklung mit Kanban?
- Für welche Einsatzszenarien eigenet sich Kanban, wann ist Scrum besser geeignet?
- Welche Tools zur Unterstützung der Entwicklung mit Kanban gibt es?
Literatur:
- https://katalog.bibliothek.tu-chemnitz.de/Search/Results?type=AllFields&lookfor=kanban+agil
- eigene Recherche notwendig
Fragen:
- Welche Möglichkeiten bietet das iCalendar Format, welche Alternativen existieren?
- Wozu gibt es CalDAV, welche Extensions gibt es und wozu dienen diese?
- Welche Möglichkeiten bieten moderne Web-Calendar Tools z.B. hinsichtlich Invites, Kalenderaggregation und (Email/Popup-)Reminders - wie funktioniert dies?
Fragen:
- Welche JavaScript Diagramm-Bibliotheken existieren und wie unterscheiden sie sich untereinander?
- Welche zugrundeliegenden Technologien werden wozu genutzt (e.g., SVG)?
- Welche Unterschiede bestehen zu klassischen Diagrammeditoren wie Dia, Visio, Omnigraffle?
Literatur:
- JointJs, jsPlumb etc.
Eröffnungstreffen
Soweit noch nicht geschehen werden alle Studenten gebeten, sich im Seminar-Workflow-System der VSR anzumelden
Die Folien des ersten Treffen sind hier verfügbar.
Zwischenvortrag
Der Zwischenvortrag dient dazu, dass die Studenten einen kleinen Überblick über das ausgewählte Thema geben.
Dazu zählen folgende Punkte:
- Was verbirgt sich hinter dem Thema?
- Welche Literaturquellen wurden bis jetzt recherchiert?
- Welche Idee für eine Demo gibt es?
Tipps für den Vortrag
- Als Daumenregel lassen sich pro Folie 2 Minuten ansetzen. Wesentlich mehr Folien pro Minute lassen sich vom Zuhörer nur schwer aufnehmen.
- Vor dem Vortrag sollte man sich überlegen: Was ich die Mainmessage meines Vortrages? Was sollen sich die Zuhörer merken?
Aufbauend auf diese Überlegungen sollte der Vortrag gestaltet sein. - Auf der Seite von Garr Reynolds gibt es sehr viele gute Hinweise: http://www.garrreynolds.com/Presentation/
Seminartage
Die Informationen zur Vortragsreihenfolge und den folgenden Terminen entnehmen Sie bitte den Folien
Ausarbeitung
- Termin: einzureichen bis spätestens Donnerstag, 15. Januar 2015 über das VSR Seminarsystem
- Format: HTML5, es ist folgende Vorlage zu verwenden: HTML5-Vorlage zur Anfertigung der Ausarbeitung
- Vorschläge zur Verbesserung unseres Templates können gern via Github als Pull-Request in folgendem Repository abgegeben werden: myVSR/seminar-template
- Umfang: 2500 Wörter
- wichtige Hinweise zur Zitierung:
- Prinzipiell muss jede Aussage, die nicht zum Allgemeinwissen zählt und nicht vom Autor selbst stammt, durch einen Literaturverweis belegt werden!
- "When to Cite Sources" - sehr gute Übersicht der Princeton University
- Beispiele für korrektes Zitieren finden Sie in der IEEE-Zitierungsreferenz
-
Auch Webressourcen sind mit Autor, Titel und Datum zzgl. URL und Abrufdatum zu zitieren, Beispiele:
- [...] M. Nottingham and R. Sayre. (2005). The Atom Syndication Format - Request for Comments: 4287 [Online]. Available: http://www.ietf.org/rfc/rfc4287.txt (18.02.2008).
- [...] Microsoft. (2007). Microsoft Office SharePoint Server 2007 Homepage [Online]. Available: http://office.microsoft.com/en-us/sharepointserver/ (01.02.2007).
- Die URL ist (falls wie hier technisch möglich) mit dem entsprechenden Hyperlink zu unterlegen ("Klickbarkeit").
- weitere wichtige Hinweise zum Abgabeformat:
- Verwenden Sie bis auf berechtigte Ausnahmen (zum Beispiel zum Hervorheben von Textstellen mit <strong>...</strong>) ausschließlich die in der Vorlage enthaltenen HTML-Elemente. Die vorgegebene CSS-Datei darf nicht abgeändert werden.
- Prüfen Sie vor dem Einreichen Ihrer Arbeit sorgfältig Rechtschreibung und Grammatik, am besten mit Softwareunterstützung, wie zum Beispiel mittels der in OpenOffice oder Microsoft Word eingebauten Rechtschreibprüfung.
- Achten Sie darauf, dass der HTML-Code fehlerfrei ist. Nutzen Sie zur Überprüfung einen Validator: http://validator.w3.org
- Zur Abgabe packen Sie alle benötigten Dateien (HTML, CSS, Bilder) in ein ZIP-Archiv.
Review
- Termin: einzureichen bis spätestens Donnerstag, 22. Januar 2015 über das VSR Seminarsystem
- Jeder Seminarteilnehmer begutachtet genau drei Ausarbeitungen. Die Begutachtung erfolgt nicht anonym.
- Für die Begutachtung ist jeweils ein Review-Formular im VSR Seminarsystem auszufüllen
-
Jeder Seminarteilnehmer erhält nach Abschluss der Begutachtungsphase
- Einsicht in alle drei Gutachten zur Ausarbeitung,
- ggf. ergänzt um weitere Hinweise der Seminarleitung zur Ausarbeitung und
- ggf. ergänzt um die Aufforderung die Ausarbeitung entsprechend der Hinweise zu überarbeiten (falls erforderlich).
- Endgültige Ausarbeitung einzureichen bis Donnerstag, 29. Januar 2015 über das VSR Seminarsystem
- In die Seminarnote geht die Ausarbeitung ggf. nur in der überarbeiteten Fassung ein.
Alle Hinweise in den Gutachten zur Verbesserung der Ausarbeitung sind also im Interesse des Autors der Ausarbeitung!