Projektvorschl├Ąge

Interessierte Studierende finden hier Themenvorschl├Ąge, an der FH Wedel k├Ânnen diese auch im Rahmen diverser Projekte, Seminare oder Abschlu├čarbeiten bearbeitet werden:

  • Anfertigung einer internen Bachelor- oder Master-Thesis. In diesem Fall erfolgt die Bearbeitung in Kooperation mit der CAU Kiel, die Erstbegutachtung wird durch Dr. Frank Huch vorgenommen.
  • In von mir angebotenen Seminaren werden immer wieder passende Themen vergeben. Sofern Sie mit einem f├╝r mich interessantes Thema aus dem Web-Umfeld auf mich zukommen nehme ich auch gerne Vorschl├Ąge entgegen.
  • F├╝r Bachelor Medieninformatiker ist es m├Âglich das Medien-Projekt zu absolvieren, Informatik-Master-Studierende k├Ânnen das Master-Projekt einbringen.

BlattWerkzeug ist mittlerweile ein komplexes Software-Produkt und eignet sich hervorragend um viele typische Verfahren moderner Softwareentwicklung kennenzulernen:

Test Driven Development
Wann immer m├Âglich beginnt die Entwicklung eines neuen Features mit der Formulierung von Testf├Ąllen. Lediglich komplexe grafische Oberfl├Ąchen sind davon aktuell leider ausgenommen.
Docker & Continuous Integration
Aufbauend auf Docker-Images wird BlattWerkzeug nach Commits regelm├Ą├čig automatisch ├╝bersetzt und getestet.
Single Page Applications & API-Server
Das BlattWerkzeug-Frontend ist eine Angular-Anwendung, der serverseitige Teil verwendet Ruby on Rails.
Benutzermanagement

Aktuell sieht die Webseite keinerlei Registrierung von Benutzern vor, stattdessen hat jedes erstellte Projekt gewisserma├čen eine eigene Benutzerdatenbank. Dieser Umstand soll sich im Rahmen dieses Projektes ├Ąndern. Dabei ist die eigentliche Registrierung und Verwaltung von Benutzern mehr eine technische Formalit├Ąt und nicht besonders herausfordernd. Viel interessanter sind die besonderen Anforderungen, die sich aus dem Einsatz an Schulen ergeben. Registrierte Benutzer fallen dabei typischerweise in eine von drei Rollen: Sch├╝ler, Lehrer oder Administrator.

Umgebung: Ruby on Rails f├╝r das serverseitige Datenmodell und Angular mit Typescript f├╝r die Verwaltung im Frontend.

Community-Funktionen f├╝r Sch├╝ler

BlattWerkzeug soll in einem ├╝berschaubarem Rahmen mit Community-Funktionen ausgestattet werden. Dazu geh├Âren Kommentare zu Projekten, eine Foren-artige Kommunikationsm├Âglichkeit und pers├Ânliche Direktnachrichten. Diese Funktionalit├Ąt soll allerdings nicht von Grund auf neu entwickelt werden: Der Nutzen steht dabei in keinem Verh├Ąltnis zum Aufwand, vor allem weil entsprechende Software schon existiert.

Stattdessen sollen bestehende Community-Platformen in Bezug auf ihre Eignung f├╝r die Integration evaluiert werden. Ein erster Ausgangspunkt f├╝r die Recherche sollten bestehende OpenSource Foren-Programme wie Discourse sein, eine Liste mit m├Âglichen Kandidaten findet sich bei Awesome Selfhosted. Die schlussendlich gew├Ąhlte Software soll dann in BlattWerkzeug integriert werden. Dazu geh├Ârt mindestens ein gemeinsamer Login und die Integration von Kommentaren zu Projekten. Weitere Aspekte sind abh├Ąngig von der ausgew├Ąhlten Software.

Umgebung: Eigene Konzeption und Recherche, Anbindung der gew├Ąhlten Software

Web-Umgebung

Ein Prototyp der Entwicklungsumgebung hat Anwender schon in die Lage versetzt, direkt aus dem Webbrowser heraus eigene Webseiten zu entwickeln.Mit der Umstellung auf eine neue Art und Weise die Blocksprachen zu definieren, ist dieser Funktionsumfang zun├Ąchst wieder entfallen.Im Rahmen dieser Aufgabe soll eine M├Âglichgeit zum Bearbeiten und anschauen von Webseiten re- implementiert werden. Von dem mittlerweile abgeschalteten Prototyp existiert neben dem rechtsstehenden Screenshot noch ein Video, welches gerne zur Inspiration genutzt werden kann.

Die erstellten Webseiten sollen auf den SQL - Datenbestand eines Projekts zugreifen k├Ânnen und m├╝ssen dementsprechend dynamisch ├╝ber eine Templatingsprache erzeugt werden.Inhaltlich ergeben sich bei dieser Aufgabe unter anderem die folgenden Fragestellungen:

  • Welche HTML - Elemente sind f├╝r Sch├╝ler relevant?
  • Welche Templatingsprache sollte verwendet werden?
  • Wie kann eine Seite die Datenquellen angeben, die zur Darstellung ben├Âtigt werden?
  • Wie k├Ânnen Formulardaten verarbeitet werden?

Umgebung: Typescript (client- und serverseitig), Grammatik-Editor von BlattWerkzeug

Visueller Drag & Drop Editor f├╝r Datenbanken

Aufbauend auf der Bachelor - Thesis von Marco Pawloski soll ein Datenbank - Editor mit Drag & Drop - Funktionalit├Ąt entwickelt werden. Die visuelle Gestaltung und die Benutzerf├╝hrung kann sich dabei gerne an etablierten Tools wie der MySQL - Workbench oder pgModeler orientieren. Allerdings m├╝ssen die speziellen Anforderungen der Zielgruppe (Sch├╝ler und deren Lehrer) explizit ber├╝cksichtigt werden.

Umgebung: TypeScript mit Angular

Umgebung zur Ausf├╝hrung von nicht vertrauensw├╝rdigen Programmen

Es liegt in der Natur von BlattWerkzeug, dass prinzipiell beliebigen Personen die Ausf├╝hrungen ihrer Programme auf dem BlattWerkzeug-Server gestattet werden muss. Und weil nicht jede beliebige Person vertrauensw├╝rdig ist, m├╝ssen diese Programme vom restlichen System isoliert werden. M├Âgliche Mechanismen existieren daf├╝r in gro├čer Zahl, anders w├Ąren Webhosting-Dienste oder Online-Compiler wie ideone.com schlie├člich ├╝berhaupt nicht denkbar.

Im Rahmen dieses Projektvorschlags soll untersucht werden:

  • Welche Isolationsmechaniken lassen sich f├╝r den BlattWerkzeug-Server sinnvoll anwenden? Angedacht sind klassische Linux-Benutzerrechte, AppArmor oder m├Âglicherweise auch Docker.
  • Welche L├╝cken nutzen b├Âsartige Programme klassischerweise aus?

Dazu sollen eigens geschriebene, b├Âsartige Programme in einer Testsuite zusammengefasst und (m├Âglichst) mit den gew├Ąhlten Isolationsverfahren korrekt eingeschr├Ąnkt werden. Die Bandbreite umfasst dabei schlicht sch├Ądliche Skripten (rm -rf /), triviale Versuche Passw├Ârter auszulesen (cat /etc/shadow), ├╝ber (BitCoin-)Miner (oder profane Endlosschleifen) bis hin zu Versuchen, einen Command and Control-Server aufzusetzen.

Umgebung: Mandatory Access Control Features des Linux Kernels (AppArmor, SE Linux), Docker

2D Welt-Editor f├╝r Trucklino

Bisher m├╝ssen Welten f├╝r Trucklino sehr umst├Ąndlich als JSON-Dokument beschrieben werden. Der eingebaute block-basierte Editor wird f├╝r die textuelle Visualisierung von Syntaxb├Ąumen entwickelt und eignet sich demenentsprechend nicht f├╝r die besser geeignete 2D-Kacheldarstellung.

Im Rahmen dieses Projektes soll daher ein browserbasierter 2D-Editor entwickelt werden, mit dem sich die Tiles und die verschiedenen Objekte in der Welt platzieren lassen.

Umgebung: Typescript mit Angular und canvas-Rendering

Wissenschaftliche Arbeiten

Diese Seite b├╝ndelt die wissenschaftlichen Arbeiten, die im Rahmen dieses Projektes entstanden sind. Am Anfang stand dabei die Master-Thesis von Marcus Riemer (Fachhochschule Wedel) unter der Betreuung von Dr. Frank Huch (CAU Kiel). Dar├╝ber hinaus haben Studierende beider Hochschulen ihre Abschlussarbeiten im Kontext dieses Projektes entwickelt.

Konzeption und Implementierung einer visuellen Lernumgebungzur spielerischen Einf├╝hrung in die Programmierung

Sebastian Popp am 13. February 2019

Klassische Universalsprachen wie Java oder Python haben einen sehr gro├čen Sprachumfang und sind daher nur bedingt zur Einf├╝hrung in die Konzepte der Programmierung geeignet. Diese Arbeit implementiert eine Minisprache ÔÇô eine im Sprachumfang reduzierte Programmiersprache ÔÇô welche es den Sch├╝lern erm├Âglichen soll, spielerisch Programmieren zu lernen, indem ihre Programme einen Lastwagen durch eine Welt steuern und dadurch Aufgaben l├Âsen.

Download
Generierung von syntaxfreien Entwicklungsumgebungenf├╝r beliebige Programmiersprachen

Marcus Riemer am 1. December 2018

Im Rahmen dieser Promotion soll erforscht und demonstriert werden, wie sich aus formalen Beschreibungen von Programmiersprachen benutzerfreundliche syntaxfreie Entwicklungsumgebungen erzeugen lassen. Letztendlich soll Lehrkr├Ąften ein Werkzeug an die Hand gegeben werden, welches die Einstiegsh├╝rde in die Programmierung mit konventionellen Programmiersprachen wie SQL, HTML, CSS oder JavaScript senkt.

Download
Verwaltung und Integration von BildernImplementierung und rechtliche Aspekte

Ole Just am 31. October 2017

SQLino ist eine webbasierte IDE f├╝r HTML und SQL auf Einsteigerniveau. Diese Arbeit beschreibt die Entwicklung einer prototypischen Bildverwaltung f├╝r SQLino, die neben der blo├čen Speicherung und Einbettung der Bilder in die erstellen Webseiten auch rechtliche Aspekte im Umgang mit der Ver├Âffentlichung von Bildern beachtet.

Download
BlattWerkzeugEine datenzentrierte Entwicklungsumgebung f├╝r den Schulunterricht

Marcus Riemer am 31. October 2016

Konventionelle Entwicklungsumgebungen sind speziell auf die Bed├╝rfnisse von professionellen Anwendern zugeschnittene Programme. Aufgrund der damit verbundenen Komplexit├Ąt sind sie aus didaktischer Sicht nicht f├╝r die Einf├╝hrung in die Programmierung geeignet. Diese Thesis beschreibt daher ein Konzept und die prototypische Implementierung einer Lehr-Entwicklungsumgebung f├╝r Datenbanken und Webseiten namens BlattWerkzeug.

Um syntaktische Fehler w├Ąhrend der Programmierung systematisch auszuschlie├čen, werden die Bestandteile der daf├╝r ben├Âtigten Programmier- oder Textauszeichnungssprachen ├Ąhnlich wie in der Lehrsoftware ÔÇ×ScratchÔÇť grafisch durch Blockstrukturen repr├Ąsentiert. Diese Bl├Âcke lassen sich ├╝ber Drag & Drop-Operationen miteinander kombinieren, die syntaktischen Strukturen von SQL und HTML sind f├╝r Lernende dabei stets sichtbar, m├╝ssen aber noch nicht verinnerlicht werden. So lassen sich auch ohne die manuelle Eingabe von Codezeilen eigene Webseiten programmieren, welche dann im Freundes- und Bekanntenkreis weitergegeben werden k├Ânnen. F├╝r den Unterrichtseinsatz ist der aktuelle Entwicklungsstand von BlattWerkzeug allerdings noch nicht geeignet, er dient vornehmlich der Erprobung und Demonstration der erdachten Konzepte.

Download
Einf├╝hrung von Datenbanken in der Mittelstufeunter Verwendung von esqulino

Stefan G├Ârgen am 14. October 2016

Erarbeitung einer Unterrichtseinheit zu Datenbanken in der Mittelstufe.

Download
Entwicklung eines Datenbankschemaeditorsf├╝r den Einsatz im Schulunterricht

Marco Pawlowski am 2. May 2016

Mit dieser Arbeit wird eine Lernsoftware entwickelt, die an Anf├Ąnger gerichtet ist. Es werden die elementaren Funktionen zur Erstellung von Datenbanken zur Verf├╝gung gestellt werden. Dabei sollen Fehler nicht von der Software automatisch gel├Âst werden, sondern an den Benutzer kommuniziert werden. Dadurch soll der Benutzer ein Verst├Ąndnis daf├╝r entwickeln, welche Bedingungen vorher erf├╝llt sein m├╝ssen, um bestimmte Aktionen durchzuf├╝hren zu k├Ânnen.

Download