Subato

Willkommen bei Subato

Was ist Subato?

Subato ist eine webbasierte Plattform für die Bereitstellung von Programmieraufgaben durch einen Dozenten. Dozenten können dabei zu Programmieraufgaben versteckte Unit Test hinterlegen. Studenten laden die Lösungen zu den Aufgaben auf den Server. Diese werden dann sofort kompiliert und die Unit-Tests gestartet. Die Testergebnisse werden den Studenten direkt angezeigt und in einer Datenbank persistiert. Dozenten können die Abgaben einsehen, und kommentieren.

Primär wurde Subato entwickelt, um Programmieraufgaben in Java bereitzustellen. Experimentelle Versionen können auch bereits Aufgaben in C, Haskell und Python bereitstellen. Bei Bedarf wird es sicherlich auch Scala und Kotlin Aufgaben geben.

Programmieraufgaben

Die Aufgaben in Subato werden nach Vorlesungsmodulen strukturiert. Jede Aufgabe, die hinterlegt wird, ist einem Vorlesungsmodul zugeordnet.
Die Vorlesungsmodule können in verschiedenen Semestern angeboten werden.
Für Vorlesungsmodule zu einem bestimmten Semester können Übungsblätter angelegt werden.
Übungsblätter können mehrere Übungsaufgaben bündeln.
Module mit öffentlichen Übungsblättern in einem Semester, tauchen in diesem Semester in der Liste der Vorlesungsmodule auf. Die Aufgaben können dann von jedem angemeldeten Anwender gelöst werden.
Abgegebene Lösungen werden persistiert und können von Dozenten zur Bewertung verwendet werden.

Lernkarteikarten

In Subatao integriert ist das Subato Learning System, ein Karteikarten basiertes Es ist möglich, Lernkarteikarten zu einem Themenkomplex bereitzustellen. Die Lernkarteilkarten können zur Übung durchgearbeitet werden. Bei jeder Karte wird direkt angegeben, ob der Anwender die richtige Antwort gewusst hat. Die gegebenen Antworten auf die Lernkarteikarten werden in keiner Weise persistiert. Der Lernfortschritt wird nicht gespeichert.

Es gibt folgende Karteikartentypen:

  • Programmieraufgaben mit Unit Tests
  • Auswahl einer Lösung aus Vorschlägen
  • Auswahl mehrerer Lösungen aus Vorschlägen
  • Feste Anzahl von Einwortantworten (auch Zahlen)
  • Lückentext
  • Freitextantwort (hier keine automatische Auswertung auf korrekte Antwort)
Um einen guten Lernerfolg zu erzielen, werden zu den Antworten auch Erklärungstexte hinterlegt.

Lernkarten können parametrisiert werden, so dass sie stets mit anderen werten vorgelegt werden.

Fragen-Duelle

Die Lernkarteikarten zu einem Fach können auch gegen einen anderen Anwender als Duell gespielt werden. Ein Duell besteht aus 15 Fragen, die in 5 Runden gespielt werden. Als Gegenspieler werden immer die zwei Anwender, die direkt hintereinander ein neues Duell geöffnet haben, ausgewählt.
Während eines Duells werden die Webseiten direkt vom Server mit den Ergebnissen des Gegners aktualisiert.

Das Duell Module von subato ist allerdings noch sehr experimentell.

Umfragen

Als eine weitere Funktionalität lassen sich Umfragen in Subato realisieren. Dieses kann zum Beispiel genutzt werden, um live innerhalb einer Vorlesung ein Meinungsbild zu erhalten, oder auch als Feedback zum aktuellen Lernerfolg. Für eine Umfrage kann eine Multiple-Choice Lernkarteikarte verwendet werden.

Entwicklung von Subato

Wie wurde es gemacht?

Subato wurde in der Programmiersprache Scala mit dem Framework Lift entwickelt.

Wer hat es gemacht?

Subato wurde von Sven Eric Panitz an der Hochschule Rhein-Main in Wiesbaden, das Subato Learning System wurde von Jessy Niada entwickelt. Die auf Docker basierende Testaufführung der Abgaben ist eine Entwicklung von Jan Niklas Faßbender. Der Quelltext ist auf Gitlab erhältlich.

Subato basiert auf SMLT, eine ursprüngliche Plattform entwickelt von Kim Stebel.

Subato hat zu SMLT erheblich erweiterte Funktionalität und verwendet eine wesentlich neuere Version des Lift Frameworks.

Anwendergruppen und Rechte

Subato hat fünf verschiedene Anwedergruppen mit unterschiedlichen Rechten. Es folgt eine Auflistung mit aufsteigenden Rechten.

Unangemeldeter Gast

Jeder unangemeldete Anwender kann in Subato öffentliche Lernkarteikarten zum Lernen nutzen. Hierzu werden öffentliche Karteikartenkästen, die für eine Vorlesungsmodul von einen Dozenten erstellt wurden, in einer Übersicht angezeigt.

Mit der direkten URL können aber auch Lernkarteikästen, die von Anwendern, die keine Dozenten sind, zum Lernen veröffentlicht werden.

Angemeldeter Anwender

Angemeldete Anwender haben folgende zwei zusätzlichen Möglichkeiten:
  • Es können Lösungen zu Programmieraufgaben auf das System geladen werden. Diese Lösungen sind dabei einer Übungsgruppe zu einer Vorlesung zuzuordnen. Die Lösungen werden auf dem Server kompiliert und mit Unit-Tests getestet. Die Testergebnisse werden in einer Datenbank persistiert und können von dem Anwender jederzeit wieder eingesehen werden.

    Dozenten und Tutoren der Vorlesung, der die Aufgabe zugeordnet ist, können die eingesandte Lösung einsehen und kommentieren. Diese Kommentare kann der Anwender dann selbst wieder einsehen.

  • Jeder angemeldete Nutzer kann auch eigene Lernkarteikartenkästen erstellen. Diese können auch öffentlich gemacht werden. Sie erscheinen dann aber nicht in der öffentlichen Auflisten von Karteikartenästen, sondern können nur über den direkten Link der URL auch nicht angemeldeten Anwendern zur Verfügung gestellt werden.

Anmeldedaten

Zur Anmeldung an Subato werden die Logindaten eines LDAP-Servers verwendet. Zusätzlich sind weitere Anwender manuell in einer eigenen Liste eingetragen.

Angemeldeter Tutor

Registrierte Anwender können für ein bestimmtes Semester in einem bestimmten Vorlesungsmodul als Tutoren eingetragen werden.
Dann können diese Anwender die Lösungen der Aufgaben im entsprechenden Modul für das entsprechende Semester einsehen. Sie können auch die Abgaben einsehen und kommentieren.

Angemeldeter Dozent

Registrierte Anwender können für ein bestimmtes Semester in einem bestimmten Vorlesungsmodul als Dozenten eingetragen werden.
Dann können diese Anwender Aufgaben im entsprechenden Modul erstellen.
Sie können in dem Modul Übungsblätter für das entsprechende Semester erstellen.
Sie können in dem Modul Übungsgruppen für das entsprechende Semester erstellen.
Sie können Anwender IDs für das entsprechende Semester als Tutoren ernennen.
Sie können öffentliche Lernkarteikästen für das Modul erstellen, die in der öffentlichen Liste aufgelistet werden.

Administrator

Der Administrator kann zusätzlich:
  • Vorlesungsmodule erstellen
  • Semester erstellen
  • Dozenten eintragen

Über den Namem von »Subato«

Subato sollte ursprünglich Subito heißen. Es sollte ausdrücken, dass man direktes Feedback bekommt. Auch sollte im Namen sub(m)it(t)o Web oder so mitklingen. Es gibt aber schon verschiedene Software, die subito heißt. Im Italienurlaub hörten wir gerne Radio Subasio und so wurde aus Subito einfach Subato. Auch die URL subato.org war noch frei.
Aber Subato ist nicht nur ein zufällig entstandenes Kunstwort sondern es hat auch eine Bedeutung im Lateinischen: Subato auf latein.me

Zukunftspläne

Natürlich soll alles noch schöner und besser werden. Langfristig streben wir die Herrschaft über das Universum an.