MLTutor: Unterschied zwischen den Versionen

Aus Physik
Zur Navigation springen Zur Suche springen
Zeile 74: Zeile 74:
 
===Netzwerkstruktur===
 
===Netzwerkstruktur===
 
[[Image:Mltutor_netz.jpeg|thumb|400px|ITP Netzwerkstruktur]]
 
[[Image:Mltutor_netz.jpeg|thumb|400px|ITP Netzwerkstruktur]]
  +
* Durch die Firewall, die die TU-Graz nach außen hin abschottet, wurde das Schreiben eines "normalen" Servers für die Abgabe und die Überprüfung der Beispiele unmöglich gemacht.
  +
* Überprüfung des Zugangs soll jedoch mit den üblichen Zugangsdaten vonstatten gehen
  +
==== Lösung: Webservices===
  +
* Vorteile:
  +
** Kommen durch jede Firewall
  +
** Sind aus fast jeder Programmiersprache verwendbar
  +
* Nachteile:
  +
** Sicherheit ist relativ schwer zu implementieren (v.a. durch die Kerberos-Authentifizierung hier am Institut)
  +
  +
  +
 
===Viewer===
 
===Viewer===
 
[https://itp.tugraz.at/test/david/top.jsp Viewer für Beispiele]
 
[https://itp.tugraz.at/test/david/top.jsp Viewer für Beispiele]

Version vom 17. Oktober 2005, 00:12 Uhr

Ziele des Projekts

Automatisierte Überprüfung von Matlab Übungsbeispielen

Selbstüberprüfung der StudentInnen beim Erlernen des Stoffes

Unmittelbares Feedback über den Lernerfolg

Unterstüzung der StudentInnen bei der Lösung der Beispiele (elektronischer Tutor)

Plattformübergreifend (Linux, Windows, MacOSX)

Graphische Oberfläche (IDE)

Benutzung freier Software

Keine private Matlab Lizenz erforderlich

So wenig Einschränkungen wie möglich bei der Erstellung der Beispiele

Erweiterbarkeit auf beliebige interpretierte (z.B. Python, Ruby, Javascript, C-Interpreter) und vielleicht auch kompilierte Sprachen.

Automatisierte Überprüfung

Erstellen der Angabe

  • Angabe muss Formeln und Graphiken beinhalten können.
  • "Leichte" Erstellung der Angabe (LaTeX, Musterdokumente, Templates)
  • Angabe muss in verschiedenen Sprachen vorliegen können.

Erstellen der Musterlösung

  • Bereitstellung einer Musterlösung, deren Ergebnisse mit der Lösung der StudentIn

verglichen werden. (Variablenvergleich)

  • Musterlösung kann aus mehreren Funktionen und Skripten bestehen
  • Lösung des Beispiels kann externe Dateien erfordern (Graphiken, Datensätze)
  • Musterlösung kann aus Teilaufgaben bestehen, die voneinander abhängig sind

Überprüfung

  • Bereitstellung von Testszenarien (Funktionstests, Scripttests)
  • Testszenarien sollen auf Anfordernisse flexibel reagieren können (Anzahl an zu überprüfenden Variablen, Anzahl der Parameter von Funktionen)
  • Beliebig viele Tests pro Beispiel (z.B. Funktionen, die mit Skalaren, Matrizen und komplexen Zahlen umgehen können müssen)
  • Testszenarien können auch Zufallszahlen beinhalten
  • Anpassungen an Matlab (Funktionen befinden sich in einer eigenen Datei, Datentypen, implizit definierte Funktionen)
  • Erforderte Genauigkeit der Ergebnisse muss regulierbar sein.
  • Ergebnis kann graphisch sein. Vergleich?
  • Verbotene Funktionen um verschiedene Lösungswege vorgeben zu können und auf Matlab-spezifische Einschränkungen aufmerksam zu machen

Ergebnisse

  • Ergebnisse müssen vom Lehrbeauftragten eingesehen werden können
  • Ergebnisse müssen detailliert vorliegen (Welche Tests wurden bestanden und welche nicht, welche Variablen wurden falsch gesetzt)
  • Lösung der StudentIn muss zusammen mit dem Ergebnis abgelegt werden (Nachvollziehbarkeit, Softwarefehler)

Selbstüberprüfung der StudentIn

  • Musterlösung muss in bestimmten Fällen vom Studenten eingesehen werden können.
  • StudentIn muss privaten Zugang zur Software erhalten
  • Student muss Ergebnisse der Tests einsehen können (Was wurde getestet?, Welche Tests sind fehlgeschlagen?)
  • Student muss einen Überblick über alle verfügbaren Beispiele bekommen und welche Lernziele damit erreicht werden. (Aussagekräftige Namen, Einteilung in beliebig verschachtelbare Kategorien)

Unterstützung der StudentInnen bei der Lösung der Beispiele

Hilfestellungen in der Angabe:

  • Hyperlinks
  • Verweise ins Skriptum
  • Empfohlene Kapitel aus der Matlab Hilfe
  • Hilfestellung bei den Tests: Welcher Test ist fehlgeschlagen?
    • Aussagekräftige Namen der Tests
    • Warum könnte er fehlgeschlagen sein? -> Gleiche Hilfestellungen wie in der Angabe
  • Möglichkeit den Autor des Beispiels direkt per mail zu kontaktieren

Erstellung der Beispiele

Verschiedene Arten von Beispielen

  • Klassische Programmieraufgaben (Variable x soll den Wert y beinhalten, Datei x soll nach Ausführung des Programmes einen bestimmten Inhalt haben)
  • Einfache Anleitungen zum Selberprobieren
  • Multiple Choice Fragen (basierend auf selbem Prinzip)
  • Symbolische Aufgaben ?

Beispiele sollen beliebig verschachtelbar sein (Punkt (b) abhängig von der Lösung von (a)

Überprüfbare Variablen sollen beliebigen Typs sein (Matrizen, Strukturen, Grafiken?)

Voraussetzungen

Netzwerkstruktur

ITP Netzwerkstruktur
  • Durch die Firewall, die die TU-Graz nach außen hin abschottet, wurde das Schreiben eines "normalen" Servers für die Abgabe und die Überprüfung der Beispiele unmöglich gemacht.
  • Überprüfung des Zugangs soll jedoch mit den üblichen Zugangsdaten vonstatten gehen

= Lösung: Webservices

  • Vorteile:
    • Kommen durch jede Firewall
    • Sind aus fast jeder Programmiersprache verwendbar
  • Nachteile:
    • Sicherheit ist relativ schwer zu implementieren (v.a. durch die Kerberos-Authentifizierung hier am Institut)


Viewer

Viewer für Beispiele