Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Testen der Lösungen von Lernenden

Wenn Sie Bewertungselemente in MATLAB® Grader™ erstellen, legen Sie Tests fest, die bewerten, ob die Lösung des Lösung des Lernenden Ihren Kriterien entspricht.

Festlegen von Tests

Um Tests festzulegen, können Sie die in der Liste Test Type vordefinierten Tests verwenden oder Ihren eigenen MATLAB Programmcode schreiben. Die vordefinierten Testoptionen umfassen:

  • Variable Equals Reference Solution — Überprüft das Vorliegen, den Datentyp, die Größe und den Wert einer Variable. Diese Option ist nur in der Test Type-Liste für Skript-Bewertungselemente verfügbar. Für Zahlenwerte gilt eine Standardtoleranz von 1e-4.

  • Function or Keyword is Present – Überprüft das Vorliegen bestimmter Funktionen oder Schlüsselwörter.

  • Function or Keyword is Absent — Überprüft, ob die Lösungen der Lernenden die angegebenen Funktionen oder Schlüsselwörter nicht enthalten.

Wenn Lernende beispielsweise die taylor-Funktion zur Berechnung der Taylorreihen-Approximation einer bestimmten Funktion verwenden sollen, legen Sie diese Optionen fest:

  • Wählen Sie aus der Liste Test Type die Option Function or Keyword is Present aus.

  • Legen Sie die taylor-Funktion als die Funktion fest, die der Lernende verwenden muss.

  • Optional können Sie weiteres Feedback festlegen, das der Lernende erhält, wenn die erwartete Funktion nicht verwendet wird.

Test options shows boxes for the title, test type, functions and keywords, and feedback. The test type option Function or Keyword Is Present is selected.

Bei einem Skript-Bewertungselement können Sie eine Variable mit dem vordefinierten Testtyp Variable Equals Reference Solution bewerten. Sie können beispielsweise bewerten, ob eine Variable die richtig Größe, die erwarteten Werte und den erwarteten Datentyp aufweist, indem Sie sie mit der Variable mit demselben Namen in Ihrer Referenzlösung vergleichen.

Test options shows boxes for the title, test type, variable name to compare, functions and keywords, and feedback. The test type option Variable Equals Reference Solution is selected and V is specified as the variable name to compare.

Sie können zudem MATLAB Programmcode schreiben, indem Sie in der Liste Test Type die Option MATLAB Code auswählen. Befolgen Sie diese Anleitung:

  • Bewerten der Korrektheit — Sie können Funktionen verwenden, die den vordefinierten Testtypen assessVariableEqual, assessFunctionPresence und assessFunctionAbsence entsprechen. Alternativ können Sie einen benutzerdefinierten Test schreiben, der bei falschen Ergebnissen einen Fehler ausgibt.

  • Variablennamen in Skript-Bewertungselementen — Um in Ihrer Referenzlösung Variablen zu referenzieren, fügen Sie das Präfix referenceVariables, wie referenceVariables.myvar, hinzu. Um Variablen von Lernenden zu referenzieren, verwenden Sie den Variablennamen.

  • Funktionsnamen in Funktions-Bewertungselementen — Um in Ihrer Referenzlösung die Funktion aufzurufen, fügen Sie das Präfix reference, wie reference.myfunction, hinzu. Um die Funktion von Lernenden aufzurufen, verwenden Sie den Funktionsnamen.

  • Scope der Variablen – Variablen, die Sie im Testcode erstellen, existieren nur im Bewertungstest.

Nehmen wir beispielsweise an, dass ein Lernender einen Wert für die Variable X berechnen muss, der um mehr als die Standardtoleranz variieren kann. Um den Wert der Lösung des Lernenden mit dem Wert in der Referenzlösung zu vergleichen, rufen Sie die Funktion assessVariableEqual auf, um die Variablen und die Toleranz festzulegen.

The MATLAB code defines X_expected as referenceVariables.X. The code then calls the assessVariableEqual function with arguments 'X', X_expected, and AbsoluteTolerance=1e-2.

Um die Funktions-Bewertungselemente zu testen, rufen Sie die Referenzfunktion und die Funktion des Lernenden mit einer Testeingabe auf und vergleichen Sie die Ausgaben. Dieser Code überprüft beispielsweise, ob die Funktion eines Lernenden namens tempF2C eine Temperatur korrekt von Fahrenheit nach Celsius umrechnen kann.

temp = 78;
tempC = tempF2C(temp);
expectedTemp = reference.tempF2C(temp); 
assessVariableEqual('tempC',expectedTemp);

Tipp

Die von der Funktion assessVariableEqual generierte Standardfehlermeldung enthält den Namen der getesteten Variable, im vorherigen Beispiel X und tempC. Bei Funktions-Bewertungselementen befindet sich diese Variable im Bewertungstest-Skript, nicht im Code des Lernenden. Verwenden Sie aussagekräftige Namen, die der Lernende erkennen kann, wie eine in der Funktionserklärung definierte Ausgabe.

Ein einzelner Bewertungstest kann mehrere Tests umfassen. Dieser Code überprüft beispielsweise, ob ein Lernender eine Funktion namens normsinc implementiert hat, die Null- und Nicht-Null-Werte korrekt verarbeiten kann. Der Null-Fall umfasst weiteres Feedback für Lernende, das über das Namen-Wert-Argument Feedback in der Funktion assessVariableEqual bereitgestellt wird.

nonzero = 0.25*randi([1 3]);
y_nonzero = normsinc(nonzero);
expected_y_nonzero = reference.normsinc(nonzero); 
assessVariableEqual('y_nonzero',expected_y_nonzero);

y_zero = normsinc(0);
expected_y_zero = reference.normsinc(0); 
assessVariableEqual('y_zero',expected_y_zero, ...
   Feedback='Inputs of 0 should return 1. Consider an if-else statement or logical indexing.');

Vergeben von Teilnoten

Standardmäßig sieht die Software eine Lösung als richtig an, wenn alle Tests bestanden werden und als falsch, wenn mindestens ein Test nicht bestanden wird. Um Teilnoten zu vergeben, weisen Sie den Tests relative Gewichtungen zu, indem Sie Scoring Method auf Weighted ändern. MATLAB Grader berechnet den Prozentsatz für jeden Test auf Grundlage der Summe der relativen Gewichtungen; Sie können die Gewichtungen also als Punkte oder Prozentsätze definieren.

Wenn Sie beispielsweise die relative Gewichtung aller Tests auf 1 setzen, haben alle Tests dieselbe Gewichtung. Wenn Sie einige Gewichtungen auf 2 setzen, haben diese Tests eine doppelt so hohe Gewichtung wie Tests, deren Gewichtung auf 1 gesetzt ist.

Four sample tests, two with a relative weight of 1 and two with a relative weight of 2. The corresponding percentages are 17% and 33%, for a total of 100%.

Alternativ können Sie Prozentwerte für die Gewichtungen angeben.

The same four sample tests show relative weights of 10, 15, 15, and 60 for a total of 100%

Festlegen von Vorprüfungen

Vorprüfungen sind Bewertungstests, mit denen Lernende ermitteln können, ob ihre Lösung auf dem richtigen Weg ist, bevor sie die Lösung zur Bewertung einreichen. Mit Vorprüfungen können Sie Lernende bei Problemstellungen mit mehreren richtigen Ansätzen, bei denen jedoch ein bestimmter Ansatz benötigt wird, oder bei Aufgaben mit Einreichungsgrenzen unterstützen.

Vorprüfungen unterscheiden sich folgendermaßen von regulären Bewertungstests:

  • Die Ergebnisse von Vorprüfungen werden vor der Einreichung nicht im Notenbuch festgehalten.

  • Vorprüfungen auszuführen, trägt nicht zu einer etwaigen Einreichungsgrenze bei.

  • Lernende können den Vorprüfungs-Code und weitere Details betrachten, darunter Ausgaben von MATLAB Programmcode-Tests, unabhängig davon, ob der Test bestanden wird. Stellen Sie sicher, dass eine Vorprüfung die Lösung für das Bewertungselement nicht umfasst.

Wie reguläre Bewertungstests werden Vorprüfungen ausgeführt, wenn Lernende ihre Lösungen ausführen und tragen ebenfalls zur Endnote bei.

Gehen wir beispielsweise davon aus, dass Lernende ein System linearer Gleichungen aufstellen müssen, das sich auf verschiedene Weisen organisieren lässt. Erstellen Sie eine Vorprüfung, um sicherzustellen, dass die Lösung des Lernenden die erwartete Reihenfolge und die erwarteten Koeeffizienten aufweist.

The Pretest check box is selected at the bottom of the test details.

Lernenden wird bei einem nicht bestanden Test ein Fehler angezeigt und sie können ihre Lösung modifizieren.

Pretest assessment results show an error message "Variable V has an incorrect value."

Regeln der Fehleranzeige für ein Skript-Bewertungselement

Bei einem Skript-Bewertungselement kann ein anfänglicher Fehler weitere Fehler nach sich ziehen. Sie können den Lernenden ermutigen, sich zuerst auf diesen anfänglichen Fehler zu konzentrieren.

Bei Auswahl der Option Only Show Feedback for Initial Error wird zum anfänglichen Fehler ausführliches Feedback angezeigt, das Feedback zu Folgefehlern ist jedoch standardmäßig verborgen. Die Lernenden können dieses zusätzliche Feedback anzeigen, indem sie auf Show Feedback klicken.

Assessment test results show that 1 of 4 tests passed. An assessment test and error message are shown for the failed second test, and linked text "Show Feedback" appears above the hidden details of the failed third and fourth tests.

Siehe auch

Themen