SQL Alchemist

SQL Alchemist - Moderne Didaktik zur Unterstützung der Grundlehre für Datenbanken

SQL Alchemist Logo

Ziel

Ziel dieses Projektes ist die Entwicklung einer interaktiven digitalen Spielesoftware, welche in den Übungsbetrieb der Vorlesung „Relationale Datenbanken 1“ (RDB1) im Bachelorstudium Informatik integriert werden soll. Diese Software soll gezielt die Einübung praktischer Kompetenzen im Bereich Datenbankanfragen unterstützen, da dies mit „traditionellen“ Übungsformen (z.B. wöchentliche Aufgabenzettel oder auch reguläre Rechnerübungen) nur eingeschränkt möglich ist. 

Ausgangssituation

Die Veranstaltung „Relationale Datenbanken 1“ ist eine Pflichtveranstaltung im Bachelorstudium Informatik und Wirtschaftsinformatik, in welcher sowohl theoretisches Verständnis als auch direkt im späteren Beruf einsetzbare praktische Kompetenzen im Umgang mit Datenbanken und den zugehörigen deklarativen Anfragesprachen vermittelt werden. Klassischerweise wird theoretisches Verständnis in den Vorlesungen durch den Dozenten vermittelt und die Vermittlung praktische Kompetenzen primär durch Hausübungen abgedeckt. In diesen werden wöchentlich Übungsaufgaben gestellt, welche von den Studierenden schriftlich bearbeitet und anschließend von Hiwis bewertet und in kleinen Übungsgruppen besprochen werden. Während sich dieses Konzept vor allem für die Klärung von Verständnisfragen, sowie für das Verständnis abstrakterer Aufgaben wie das Erstellen von Datenmodellen bewährt hat und auch beibehalten werden soll, so hat sich gezeigt, dass sich Kompetenzen im Bezug auf komplexere Datenbankanfragen nicht in vollem Umfang vermitteln lassen: diese sind einfach „Übungssache“. Dies gilt vor allem für die kompetente und zügige Analyse von gegebenen Datenmodellen, aber auch für die Beherrschung der Syntax der entsprechenden Anfragesprachen sowie deren korrekter und lösungsorientierter Einsatz. Das Problem hierbei ist, dass es zur Erlangung solcher Kompetenzen nötig ist, diese wiederholt und in ständig variierenden Problemstellungen einzuüben und auch direkt Feedback bezüglich der Sinnhaftigkeit und Korrektheit der erarbeiteten Lösung zu erhalten. Dies ist in der aktuellen Lehrform leider nicht optimal möglich, da nur eine kleinere Auswahl von Übungsaufgaben von Hand gestellt werden kann und die entsprechende Korrektur und Besprechung nur mit einem größeren Zeitversatz (in der Regel eine Woche) möglich ist. Aber selbst wenn es möglich wäre, deutlich mehr Übungsaufgaben zu erstellen und diese auch schneller zu korrigieren (z.B. durch den Einsatz eines computergestützten Übungssystems), so ist nicht zu erwarten, dass dieses Angebot von Studierenden stark oder gerne genutzt werden würde, da das Abarbeiten solcher Aufgaben nicht besonders viel Spaß bereitet (das Problem ist grob mit Vokabel- und Grammatiktraining beim Erlernen von Fremdsprachen vergleichbar: auch hier ist das Einüben von Vokabeln und Grammatik essentiell für weiterführende Betrachtungen, aber meist langweilig).    
Daher planen wir in diesem Projekt die Erstellung einer Spielesoftware, welche eben genau diesen genannten Missstand aufgreift und die bestehenden Übungen durch Gamification um ein spielerisches Werkzeug ergänzt. Das Spiel hat zum Ziel, die genannten Praxiskompetenzen unterhaltsam, individuell und mit direktem Feedback einzuüben.

Allgemeine Ziele

Ziel dieses Projektes ist es, den Studierenden begleitend zur Vorlesung RDB1 ein spielerisches Werkzeug an die Hand zu geben, welches es ihnen erlaubt, sowohl den praktischen Einsatz der Anfragesprache SQL als auch (optional falls die Zeit es zulässt) ihre abstrakten Formalismen wie die Relationale Algebra und die Relationalen Kalküle einzuüben. Der Fokus soll dabei vor allem auf den angewendeten Methoden- und Fachkompetenzen liegen: Konfrontiert mit einer Aufgabe und einem dazugehörigen Datenmodell sollen die Studierenden spielerisch erlernen, zügig eine Datenbankanfrage zu entwerfen, welche die Aufgabe löst. Dazu muss zuerst das gegebene Datenmodell analysiert werden, und dann aufgrund dieser Analyse eine entsprechende Anfrage problemorientiert entwickelt werden. Im Prinzip ist die Lösung dieser Aufgaben vergleichsweise einfach: Die dazugehörige Theorie lässt sich in lediglich 2-3 Vorlesungsstunden vermitteln, und in vielen Bereichen der Informatik gibt es deutlich komplexere Sprachen als SQL (z.B. Programmiersprachen wie Java oder Scala, die Inhalt anderer Vorlesungen des Informatik-Grundstudiums sind). Allerdings ist diese vermeintliche Einfachheit trügerisch: Wir beobachten leider häufig, dass Studierende zwar prinzipiell die Theorie hinter Datenbankanfragen verstanden haben, aber dennoch nicht in der Lage sind diese selber praktisch umzusetzen. Dies liegt unter anderem daran, dass selbst mit den eingeschränkten Möglichkeiten, welche Sprachen wie SQL bieten, sehr komplexe und schwer nachvollziehbare Anfragen gestaltet werden können. Der kompetente Umgang mit diesem Komplexitätsgrad benötigt viel Übung und praktische Erfahrung. Solche Kompetenzen lassen sich nur durch wiederholtes Einüben mit ständig wechselnden Problemstellungen und Datenmodellen erlangen. Das Problem beim Einüben von SQL ist nun, dass es kaum gute Übungswerkzeuge gibt welche sich schnell und ohne großen Aufwand einsetzten ließen. So ist es z.B. in anderen Lehrbereichen jedem Studierenden einfach möglich, eine Programmierumgebung einzurichten und damit direkt z.B. das Programmieren in Java zu üben. Für Datenbankanfragen allerdings muss aufwendig ein Datenbankserver installiert und konfiguriert werden, entsprechende Datenmodelle erstellt und dann diese auch mit Daten befüllt werden. Erst dann ist das Einüben von Anfragen sinnvoll möglich – und dann auch nur mit einem durch das Datenmodell gegeben Szenario. Das Resultat ist, dass trotz wieder-holter Empfehlung, diese Möglichkeit nur von wenigen Studierenden genutzt wird. Wir greifen dieses Problem bereits mit dem eigenständigen und nicht verpflichtenden Datenbankpraktikum auf, bei dem wir den Studierenden einen bereits vorkonfigurierten Datenbankserver mit einem gegebenen Datenmodell anbieten, aber auch hier fehlt die nötige Varianz in den Problemstellungen und Datenmodellen, da diese von uns aufwendig von Hand erstellt werden müssten. Auch hat die Erfahrung gezeigt, dass Studierende selten motiviert sind, mehr als die zum Bestehen des Praktikums nötigen Aufgaben zu lösen.

Integration ins Curriculum

Die entwickelte Lernsoftware wird, wie oben bereits erwähnt, in den Übungsbetrieb der Veranstaltung RDB1 integriert. Während zwei der oben genannten Spielmodi freiwillig sind (narrativer und freier Modus), so sollen die wöchentlichen Herausforderungen direkt mit den wöchentlichen Übungszetteln der Vorlesung verknüpft werden und eben genau die Aufgaben übernehmen, bei welchen praktische Kompetenzen eingeübt werden sollen. Daher ist eine Teilnahme an den wöchentlichen Herausforderungen zum Erhalten des Übungsscheines vonnöten. Da es sich um eine Veranstaltung in der Informatik handelt, ist davon auszugehen dass jedem Studierenden ein geeignetes Endgerät zur Verfügung zur Verfügung steht, und daher keine technischen Hürden bei der Teilnahme bestehen. Sollten gute Erfahrungen mit der Lernsoftware gemacht werden, spricht nichts dagegen diese auch dauerhaft in den Ablauf der Vorlesung RDB1 zu integrieren.

Zwischenergebnisse

  • Poster
  • Aktueller Prototyp (Der aktuelle Prototyp ist im Alpha-Stadium. Wir werden mit unserem Beta-Test im November beginnen, und rechnen mit der ersten Release-Version zum Sommer 2016)

Förderung

Dieses Projekt wurde teilweise gefördert durch das in media res Programm des Präsidiums der TU Braunschweig.

Kontakt

Dieses Projekt wird koordiniert von 
Dr. Christoph Lofi

Wissenschaftliche Mitarbeiter
- Philipp Wille
Jan-Christoph Kalo