Mitarbeiter
Projekt: SQL & Web-IDE
Als "Nebenprodukt" meiner Promotion entwickle ich eine SQL- & Web-IDE für den Einsatz im Schulunterricht. Im Rahmen dieses Projekts vergebe ich an interessierte Studierende gerne Themen, die sich in den folgenden Modulen verwerten lassen würden. Beispiele für bereits angefertige Arbeiten finden sich auf der Seite des Projekts.
- 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.
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 eines 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 typischerweise in eine von drei Rollen: Schüler, Lehrer oder Administrator. Dabei ist ein Lehrer für mehrere Schüler zuständig und die Schüler organisieren sich ggfs. in Gruppen (gemäß dem Klassenverband).
- Lehrer und Administratoren müssen Batch-Operationen vornehmen können. Darunter fällt insbesondere das Anlegen von Projekten für ganze Klassenverbände.
Umgebung: Ruby on Rails für das serverseitige Datenmodell und Angular mit Typescript für die Verwaltung im Frontend.
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, möglicherweise SVG oder canvas
für die Konnektoren.
Kara-Umgebung
Web-Umgebung
Parser für Grammatiken und Blocksprachen
Programmiersprachen innerhalb der Entwicklungsumgebung werden als "Blocksprachen" bezeichnet und können von erfahrenen Anwendern neu angelegt oder modifiziert werden. Diese Flexibilität ermöglicht die Bereitstellung einer Programmiersprache auf unterschiedlichen Anforderungsniveaus: So können zum Beispiel Schüler zunächst die Grundzüge von SQL kennenlernen ohne sich mit komplexeren Details wie OUTER JOIN
oder GROUP BY
zu befassen.
Zum aktuellen Zeitpunkt existiert der Vorschlag eines Pretty-Printers um aus der internen JSON-Repräsentation eines Blocksprache eine einigermaßen lesbare Beschreibung zu erzeugen. Die bisherige Darstellung ist "nebenher" im Laufe eines Nachmittages entstanden und sicherlich nicht optimal, kann aber als Orientierungshilfe dienen.
Umgebung: TypeScript, Haskell (vermutlich mit Parsec oder Aeson) kompiliert zu JavaScript
Für angehende Informatik-Lehrkräfte: Planung von Unterrichtseinheiten
Angehende Informatik-Lehrkräfte sind herzlich dazu eingeladen den aktuellen Stand der Entwicklungsumgebung aus didaktischer Sicht zu evaluieren, über jegliches Feedback bin ich dabei sehr dankbar.