Teddy - SQL Trainer

Ziele/Motive/Ausgangslage

Relationale Datenbanken, insbesondere die standardisierte deklarative Datenbankzugriffssprache SQL (Structured Query Language), ist als Querschnittsthema IT-übergreifend und teilweise darüber hinaus von hoher Relevanz. Entsprechende Kompetenzen in diesem Bereich gelten als Grundvoraussetzung zur Berufsbefähigung und werden oft auch in Bewerbungsgesprächen abgefragt. Relationales Denken, wie es für SQL notwendig ist, kann nur durch Üben inklusive unmittelbarem Feedback verinnerlicht werden – ein einmaliges Feedback je Aufgabenstellungen unterstützt dies nicht in ausreichendem Maße. Auch ist ohne konkreten Erfahrungen mit einer Datenbank anhand eines eigenen Projekts, der praktische Nutzen der theoretischen Hintergründe aus Sicht der Studenten/innen oft schwer nachzuvollziehen. Die notwendigen Kompetenzen in diesem Bereich können am besten über erlebte Erfahrungen aus einem eigenen Projekt erworben werden. Ohne entsprechender auf die Lehre maßgeschneiderter Toolunterstützung und Infrastruktur kommt entweder das eine oder das andere Thema zu kurz.

Ziel war daher die Schaffung einer entsprechenden Infrastruktur und Toolunterstützung, um den Kompetenzerwerb nachhaltig auf Basis spielerischen, ergebnis- und erfahrungsbasierten Lernens mit niederschwelligen Einstiegsvoraussetzungen und unmittelbarem Feedback zu schaffen.

Kurzzusammenfassung des Projekts in deutscher Sprache

Teddy – der interaktive SQL-Trainer ist eine webbasierte Anwendung zum selbstständigen Kompetenzerwerb der standardisierten deklarativen Datenbankzugriffssprache SQL auf eine spielerische Art und Weise mit niederschwelligen Einstiegskriterien und unmittelbarem Feedback. Der Trainer kann sowohl im Labor sitzend, als auch von zuhause aus genutzt werden.

Der Kompetenzerwerb zur Formulierung korrekter Datenbankanfragen erfolgt auf Basis einer vorliegenden Aufgabenstellung durch die Studenten/innen großteils selbstständig, iterativ und auf spielerische Weise. Dies wird durch ein unmittelbares und optisch aufbereitetes Detail-Feedback zur erarbeiteten Lösung ermöglicht. Die je Aufgabenstellung zur Verfügung stehenden Hinweise unterstützen dabei die Studenten/innen bei der selbstständigen Lösungsfindung.

Über unterschiedliche Fragekategorien können sich die Studenten/-innen auf jene Gebiete konzentrieren, in denen sie sich noch unsicher fühlen.

Erfahrungsbasiertes Lernen über SQL hinaus erfolgt auf Basis eines durch die Studenten/innen eigenständig durchgeführten Projekts. Hierfür können in Teddy projektspezifische Aufgabenstellungen formuliert werden, damit Erfahrungen über unterschiedliche Modellierungsansätze und alternative Lösungen gewonnen werden können.

Für einen niederschwelligen Einstieg wird für den freien Trainingsbereich lediglich ein Web-Browser benötigt und für die Projektarbeit wird jedem Studenten/innen eine eigene Datenbankinstanz über eine VPN-Lösung angeboten.

Kurzzusammenfassung des Projekts in englischer Sprache

Teddy is a web-based SQL trainer to support an autonomous acquisition of SQL competences through play with low-threshold entry criteria and immediate feedback. SQL is a standardized and declarative query language used to formulate relational database queries.

Teddy can be used from everywhere, either sitting in the laboratory or even from the couch at home.

The acquisition of skills to formulate correct database queries is based on several tasks to be fulfilled in an autonomous, iterative and playful manner. This is accomplished by providing immediate and visually prepared detail feedback to the developed queries. Additional hints which are available and related to each individual task support the students in finding a solution by themselves.

The different tasks are organized in categories to enable students to focus on areas where more training is needed.

Competences beyond SQL are acquired based on experiences gathered during carrying out a discrete project. For this purpose project specific tasks are formulated within Teddy in order to uncover real life knowledge about different modelling approaches and alternative solutions.

In order to achieve low-threshold entry criteria only a web browser is needed to use the training section. For the project specific tasks a separate database instance is provided per student and accessible through a VPN solution.

Nähere Beschreibung des Projekts

Teddy – der interaktive SQL (Structured Query Language)-Trainer ist eine webbasierte Anwendung zur Unterstützung des selbstständigen Kompetenzerwerb der standardisierten deklarativen Datenbankzugriffssprache SQL auf eine spielerische Art und Weise. Die Studenten/innen benötigen über einen Web-Browser hinaus keine weiteren Programme oder Tools. Die Aufgaben können somit an jedem Ort, ob im Labor sitzend oder auch von zuhause aus, ohne weiterer technischer Hilfsmittel gelöst werden – sogar über das Smartphone.

Bereits die erste erfolgreiche Iteration zeigt neben einem höheren Kompetenzerwerb im Formulieren von Datenbankanfragen eine deutliche Zeitersparnis seitens der Studenten/innen und dem Lehrpersonal wodurch stärker auf den Aufbau weiterer, über SQL hinausgehende, Kompetenzen eingegangen werden kann - von der Datenbankmodellierung über das Transaktionshandling bis hin zur Anwendungsintegration.

 

Der Name „Teddy“ ist angelehnt an den Spitznamen „Ted“ des Erfinders der relationalen Datenbanken Edgar Frank Codd. Das zugehörige Maskottchen – Teddy das Ziesel – geht mit im Bereich der Datenbanken meist gewählten Anlehnung an Nagetiere einher und schafft somit ein rundes Bild.

 

Die Anwendung ist neben dem 1) Herzstück des unmittelbaren Feedback- und Hilfesystems in weitere Bereiche/Modi unterteilt: 2) freier Trainings-Bereich, 3) Projektbereich, 4) Hausübungsmodus, 5) Testmodus und 6) Administrationsbereich.

 

1) Relationales Denken, wie es für SQL notwendig ist, kann nur durch Üben inklusive unmittelbarem Feedback verinnerlicht werden. Da ein einmaliges Feedback je Aufgabenstellungen dies nicht in ausreichendem Maße unterstützt, wurde vor allem auf das Feedback- und Hilfesystem großer Wert gelegt. Somit können sich die Studenten/innen iterativ die korrekte Lösung selbstständig erarbeiten. Teddy das Ziesel unterstützt dabei mit aufgabenbezogenen Hinweisen bei der Lösungsfindung. Die Aufgabenstellungen zielen auf unterschiedliche Bereiche aus den Teilsprachen DQL (Data Query Language), DML (Data Manipulation Language) und DDL (Data Definition Language) ab. Nach der Formulierung der „noch vermeintlich“ richtigen Lösung in Form einer oder mehrerer Datenbankanfrage betätigt der/die Student/in den Prüfen-Button. Das Ergebnis ihrer Lösung wird unmittelbar ausgewertet und sie erhalten ein detailliertes Feedback zu ihrer Lösung:

a) Syntax: syntaktische Prüfung der entwickelten Datenbankanfrage inklusive genauer Fehlermeldung.

b) Ergebnis: neben der Prüfung, ob die korrekten Datenbankspalten gewählt wurden, werden auch die Ergebniszeilen der Datenbankanfrage mit einer hinterlegten Musterlösung verglichen. Bei Abweichungen bekommen die Studenten/innen diese visuell in rot markiert in den Ergebnissen dargestellt. Dies erfolgt durch eine parallele Darstellung der Ergebnisse der durch den/die Studenten/in entwickelten und der hinterlegten Musterlösung. Fehlende Ergebniszeilen werden in der Musterlösung und falsche Ergebniszeilen werden in der studentischen Lösung visuell hervorgehoben. Dies ermöglicht es Abweichungen rasch zu analysieren, um sich spielerisch und schrittweise der korrekten Lösung anzunähern.

c) Lösungsweg: da manche Datenbankanfragen zwar die korrekte Lösung liefern, jedoch hinsichtlich Performance, Fehleranfälligkeit und/oder Erweiterbarkeit so nicht verwendet werden sollten, wird ebenfalls der Lösungsweg der durch die Studenten/innen entwickelten Datenbankanfrage geprüft und zurückgemeldet. Hierfür können je Aufgabe entsprechende reguläre Ausdrücke (Muster) für gute und schlechte Lösungen hinterlegt werden.

Sollte der/die Student/in bei einer Aufgabenstellung nicht mehr weiter wissen, hilft Teddy das Ziesel mit aufgabenspezifischen Hinweisen, die die notwendigen Informationen zur korrekten Lösungsfindung liefern, ohne die Lösung direkt vorzugeben. Die aufgabenspezifischen Hinweise sind insbesondere wichtig, damit bei einer Aufgabenstellung mangels Ideen zur Lösungsfindung nicht zu schnell aufgegeben wird und somit die Studenten/innen die Lösungsfindung motiviert fortsetzen können.

 

2) Der freie Trainings-Bereich kann von jedem Studenten/in auf Basis eines Web-Browsers zur Schärfung der SQL-Kompetenzen genutzt werden; ohne der Notwendigkeit eines Logins. Hier stehen eine Fülle von Aufgabenstellungen zum Üben unterschiedlicher SQL-Bereiche zur Verfügung. Die Aufgaben sind nach Kategorie, Schwierigkeit und zugrundeliegendem Datenbankschema organisiert. Die Studenten/innen können sich durch entsprechende Filterkriterien somit auf jene Gebiete konzentrieren, in denen sie sich noch unsicher fühlen. Zur allgemeinen Verwendung des SQL-Trainers steht auch ein Tutorial zur Verfügung, um den Ersteinstieg zur Verwendung zu erleichtern.

 

3) Um erfahrungsbasiertes Lernen zu ermöglichen, arbeiten die Studenten/innen im Zuge des Labors an einem eigenen Projekt, um die notwendigen Kompetenzen über SQL hinaus zu erwerben - von der Datenbankmodellierung über das Transaktionshandling bis hin zur Anwendungsintegration. Mit dem erstmaligen Login im SQL-Trainer wird dabei im Hintergrund automatisch für jeden/jede Studenten/in ein eigenes Oracle-Datenbankschema angelegt. Dieses Datenbankschema nutzen die Studenten/innen zur Umsetzung ihrer eigenen Projekte. Dies ermöglicht es dem Lehrpersonal projektspezifische Aufgabenstellungen, basierend auf dem aus dem Projekt heraus entwickelten Datenbankmodells, zu erstellen. Die Aufgabenstellungen werden dabei zielgerichtet auf die Stärken und Schwächen des entwickelten Datenbankmodells formuliert. Dies ermöglicht es den Studenten/innen auf Basis eigener Erfahrungen Erkenntnisse über gute und schlechte Modellierungsansätze zu gewinnen.

Die automatisierte Bereitstellung einer eigenen projektspezifischen Infrastruktur spart zudem wertvolle Zeit sowohl seitens der Studenten/innen als auch seitens dem Lehrpersonal, da die Notwendigkeit der Einrichtung einer eigenen Infrastruktur, mit dabei verbundenem verhältnismäßig geringen Kompetenzerwerb, entfällt.

 

4) Neben dem freien Trainings- und Projekt-Bereich können durch das Lehrpersonal mehrere Aufgabenstellungen als Hausübung oder als Prüfung zusammengefasst werden. Hier können auch Aufgabenstellungen gewählt werden, die im freien Trainings-Bereich nicht zur Verfügung stehen. In diesem Modus werden je Aufgabenstellung die durch die Studenten/innen entwickelten Datenbankanfragen serverseitig gespeichert und erlaubt somit sowohl einen Wechsel zwischen den Aufgabenstellungen als auch eine spätere Wiederaufnahme der Aufgabenstellungen, ohne die zuvor entwickelten Lösungsansätze zu verlieren. Durch das unmittelbare Feedbacksystem entfällt die Notwendigkeit einer manuellen Kontrolle der abgegebenen Hausübungen durch das Lehrpersonal und es kann in der Folgeeinheit direkt auf jene Aufgabenstellungen eingegangen werden, die durch mehrere Studenten/innen nicht gelöst werden konnten.

 

5) Der Prüfungsmodus ist derart gestaltet, dass je Aufgabenstellung Punkte hinterlegt sind und die Konsumation von Hinweisen zu einem Punkteabzug führt. Ein Erschleichen der Prüfungsleistung ist insofern unterbunden, indem ein Mausklick in anderes Fenster als dem SQL-Trainer zu einer sofortigen Abmeldung führt und ein erneutes Anmelden nur durch das Einschreiten der Aufsichtsperson möglich ist. Die Aufsichtsperson hat ebenfalls die Möglichkeit live den Status der Aufgabenbearbeitung über einen Web-Browser zu verfolgen. Im Bedarfsfalls kann das Lehrpersonal im Nachgang je Prüfungsaufgabe die Punkte unter Angabe einer Begründung manuell anpassen. Dies ist vor allem notwendig, um auch für korrekte Teilergebnisse Punkte vergeben zu können.

 

6) Der Administrationsbereich ist ausschließlich dem Lehrpersonal vorbehalten und dient der Erfassung neuer Aufgaben inklusive Hinweisen und Musterlösungen, dem Zusammenstellen von Hausübungen und der Kontrolle und Korrektur von Prüfungen.

 

Den Studenten/innen wird mit dem SQL-Trainer eine gesamte Datenbankinfrastruktur, inklusive eigenem Oracle Datenbankschema, zur Verfügung gestellt. Teddy an sich wurde so konzipiert und eingerichtet, dass neben einem Web-Browser keinen weiteren Tools notwendig sind und auf unterschiedlichen Endgeräten, von Smartphones über Tablets bis zu Desktop-PCs responsive reagiert. Um eine direkte Verbindung auf das eigene Oracle-Datenbankschema durch andere Tools (wie Modellierungs-Tools, Universal-SQL-Clients, eigene entwickelten Applikationen, …) zu ermöglichen, wird den Studenten/innen eine für diese Zwecke eigens aufgesetzte VPN-Lösung auf Basis OpenVPN angeboten.

 

Technologisch wurden bewusst nur jene Mittel eingesetzt, die den Studenten/innen im Vorsemester in der Lehrveranstaltung „WebTechnologien“ vermittelt wurden, um ihnen auf Basis dieses Projekts ein konkretes Beispiel aufzuzeigen, wozu sie jetzt bereits in der Lage sind, um ihnen Lust auf „mehr“ zu machen. Weiters wird der SQL-Trainer über eine Container-Virtualisierung auf Basis docker:19.03.6 und docker-compose:1.17.1 betrieben, um einen weiteren Konnex zur Lehrveranstaltung „Spezielle Software Technologien“ herzustellen. Konkret kommen dabei folgende Container und Technologien zum Einsatz: 1) httpd:2.4.35-alpine als Webserver inklusive OpenSSL für eine gesicherte HTTPS-Verbindung; 2) php:7.3-rc-fmp inklusive den Modulen: mysqli, pdo_mysql, mbstring, zip, exif, pcntl und oci8 auf Basis des Oracle Instant-Clients 19.5 als Backend-Komponente; 3) mysql:8.9.13 zur Verwaltung der Benutzer, Aufgaben, Hinweise, Hausübungen und Prüfungen; 4) Oracle 19.3.0 EE inklusive der importierten Oracle Demo Datenbankschemata als Basis für die Aufgabenstellungen und der projekteigenen Datenbankschemata.

 

Das Konzept ist in der Vollausprägung auch auf andere deklarative Abfragesprachen wie Cypher Query Language oder Hibernate Query Language übertragbar. Teile des Konzepts können auf funktional-logische, funktionale, logische, synchrone, event-basierte, Datenfluss-, Transformations-, Auszeichnungs-, Automaten-basierte, sowie imperativ strukturierte, prozedurale oder objektorientierte Sprachen übertragen werden.

 

Die aus der ersten Iteration gewonnenen positiven Erfahrungen und Feedbacks sowohl seitens der Studenten/innen und dem Lehrpersonal bestätigen, dass die gesetzten Ziele des Projekts zum nachhaltigen Kompetenzerwerb auf Basis spielerischen, ergebnis- und erfahrungsbasierten Lernens mit niederschwelligen Einstiegsvoraussetzungen erreicht wurden. Teddy und die zugrundeliegende Infrastruktur tragen somit maßgeblich zur Berufsbefähigung der Studenten/innen bei.

Mehrwert

Die Berufsbefähigung der Studenten/innen wird durch die Manifestation des relationalen Denkens durch die vorhandenen Übungsmöglichkeiten mit unmittelbaren qualitativen Feedback sichergestellt.

Eine Lernerleichterung ist durch den spielerischen Ansatz und der optischen Aufbereitung durch das Feedbacksystem gegeben. Neben Rückmeldungen des Lehrpersonals bestätigen auch Rückmeldungen der Studenten/innen, dass sie SQL mit Teddy schneller und leichter erlernen konnten.

Eine erhebliche Zeitersparnis ergibt sich durch die vorbereitete Infrastruktur, da die Studenten/innen keine Zeit für das Aufsetzen einer eigenen Datenbank, mit damit verbundenem geringen Kompetenzerwerb, investieren müssen.

Seitens dem Lehrpersonal ergibt sich ebenfalls eine Zeitersparnis, da keine manuelle Kontrolle von SQL-Statements mehr notwendig ist und somit mehr Zeit in projektspezifische Problemstellungen investiert werden kann.

Dadurch können weitere wichtige Kompetenzen über SQL hinaus stärker adressiert werden - von der Datenbankmodellierung über das Transaktionshandling bis hin zur Anwendungsintegration.

Die Erfahrungen und Rückmeldungen der ersten Iteration bestätigen dies.

Übertragbarkeit/Nachhaltigkeit

Das Konzept ist in der Vollausprägung auch auf andere deklarative Abfragesprachen wie Cypher Query Language oder Hibernate Query Language übertragbar.

Teile des Konzepts können auf funktional-logische, funktionale, logische, synchrone, event-basierte, Datenfluss-, Transformations-, Auszeichnungs-, Automaten-basierte, sowie imperativ strukturierte, prozedurale oder objektorientierte Sprachen übertragen werden.

Das vorliegende Konzept und die entwickelten Tools und Infrastruktur werden auf Grund der bereits gewonnen positiven Erfahrungen längerfristig in den Datenbank-Lehrveranstaltung eingesetzt.

Weiters wird am Studiengang an einem Abgabesystem mit unmittelbarem Feedback auch für andere Lehrveranstaltungen, insbesondere für Programmieraufgaben, aktiv gearbeitet.

Aufwand

Etwa 150 Mehrstunden für die Entwicklung von Teddy, Einarbeit von Aufgabenstellungen und Hinweisen sowie dem Aufbau der Infrastruktur (Server und VPN-Lösung).

Etwa € 3.000,-- für die benötigte Hardware.

Positionierung des Lehrangebots

Bachelor 4tes Semester für die Studiengänge ITS, ITS-B und WIN an der Fachhochschule Salzburg GmbH

Links zu Social Media-Kanälen
Das Beispiel wurde für den Ars Docendi Staatspreis für exzellente Lehre 2021 nominiert.
Ars Docendi
2021
Kategorie: Digitale Transformation in der Lehre
Ansprechperson
Bernhard Danninger, DI(FH) DI
Informationstechnik & System-Management / Wirtschaftsinformatik & Digitale Transformation
+43-50-2211-1345
Nominierte Person(en)
Bernhard Danninger, DI(FH) DI
Informationstechnik & System-Management / Wirtschaftsinformatik & Digitale Transformation
Themenfelder
  • Neue Medien
  • Employability
  • Rund ums Prüfen
  • Erfahrungslernen
  • Infrastruktur
  • Berufsbegleitend Studieren
Fachbereiche
  • Mathematik, Informatik, Naturwissenschaften, Technik/Ingenieurwissenschaften