MATLAB Grader での評価項目の作成
MATLAB® Grader™ は、コースに含めることができる対話型の MATLAB 評価項目を作成するための、ブラウザーベースの環境です。各評価項目について、コーディング タスクの説明を記述し、模範解答を提供し、受講者の解答を評価する方法を指定します。MATLAB Grader は、評価テストを自動的に実行して解答の正確性を判定し、フィードバックを提供します。
MATLAB Grader にアクセスするには、grader.mathworks.com で MathWorks® アカウントにログインします。
問題集の設定
まず、評価項目を保存して整理するための問題集を作成します。MATLAB Grader の [コンテンツ] タブで、[問題集の作成] をクリックします。MATLAB Grader によって、評価項目を保存するための問題集の名前と問題集内のグループを作成するように求められます。問題集またはグループの名前はいつでも変更できます。
評価項目の追加および説明の記述
[項目の追加] をクリックして評価項目を問題集に追加すると、[項目の追加] ページが開きます。このページから、新しい評価項目を作成したり、問題集の 1 つから既存の評価項目を選択したり、"Getting Started with MATLAB Grader" 問題集からサンプルの評価項目を選択したりできます。この問題集には、開始点として使用できるサンプル評価項目が含まれています。
[評価項目] ページで、受講者に表示する評価項目のタイトル、説明、および手順を指定します。説明と手順には、書式設定済みテキスト、イメージ、リンク、数式を含めることができます。手順では、受講者がコードで使用しなければならない入力と、コードが生成しなければならない出力を指定します。想定されるデータ型や測定単位など、評価に影響する具体的な詳細を指示に含めます。次の例では、受講者は円錐の体積を mm3 単位で計算し、その結果を vol という変数に割り当てるように手順で指示されています。

評価項目でデータまたはコード ファイルを使用する必要がある場合は、それらを添付します。[参照ファイル] で、[ファイルの追加] をクリックします。
解答の定義
MATLAB はスクリプトと関数を異なる方法で評価するため、各評価項目に対して受講者が作成すべきコードの種類を指定しなければなりません。スクリプトを評価するときは、すべての変数の値をチェックできます。関数を評価するときは、関数の出力値のみをチェックできます。
どちらの評価項目タイプの場合でも、MATLAB Grader が受講者の解答を評価する際に使用できる模範解答を作成してください。受講者が模範解答を表示することはできません。次のスクリプト評価項目の例における模範解答では、円錐の体積を計算し、その値を変数 vol に割り当てます。

必要に応じて、受講者用の初期コードを含むテンプレートを提供します。ロック アイコンをクリックすると、受講者が編集できないようにコード行をロックできます。次の受講者テンプレートの例では、コメント行と円錐パラメーターを設定するコード行がロックされています。

関数の評価項目を作成するときは、受講者テンプレートの関数定義行をロックすることを検討してください。この行をロックすると、評価テストが、想定される名前 (この例の tempF2C など) を使用する受講者の解答を呼び出すことができるようになります。

関数の評価項目では、関数を呼び出すためのコードを受講者向けに提供することもできます。このコードには代表的な入力と出力を含めることができます。受講者は、提供されたコードをそのまま実行することも、自身でテストするためにコードを変更することもできます。受講者は必要に応じて、変更したコードを元のバージョンのコードに戻すこともできます。このコードは、受講者が [関数の実行] をクリックしたときに実行されますが、[提出] をクリックしたときには実行されません。この例では、変数 tF に温度を割り当て、それを受講者の関数に渡します。

受講者が評価項目を表示するのと同じように評価項目を表示して操作するには、評価項目ページの下部にある [受講者の環境でのプレビュー] をクリックします。受講者は MATLAB Online™ で評価項目を開くことができますが、プレビュー ページでは、評価項目を最終版として保存した後にのみこのオプションを使用できます。
受講者の解答の評価
MATLAB Grader には、変数の値をチェックし、受講者が特定の関数またはキーワードを使用しているか使用していないかをチェックするための事前定義されたテスト タイプが含まれています。
たとえば、スクリプト評価項目内の変数の値を評価するには、次の手順に従います。
[テスト] で [テストを追加] をクリックします。
テスト詳細の上部にあるテキスト ボックスに、簡単な説明を入力します。受講者は解答をコーディングしながらこの説明を見ることができます。説明では、評価テストで期待されていることを設定しておきます。
[テスト タイプ] で
[変数が模範解答と等しい]を選択します。比較する変数の名前を指定します。必要に応じ、既定のフィードバックに加えて、不正解の結果に対して表示するフィードバックを追加します。既定のフィードバックを表示するには、このボックスの情報アイコン
をクリックします。フィードバックには、書式設定済みテキスト、イメージ、数式、リンクを含めることができます。

MATLAB コードを記述して解答をチェックすることもできます。このコードでは、事前定義されたテスト タイプに対応する関数 (assessVariableEqual、assessFunctionPresence、および assessFunctionAbsence) を使用できます。あるいは、不正解の結果に対してエラーを返すカスタム テストを作成することもできます。
コード内で次のようにします。
スクリプト評価項目の場合 — 模範解答内の変数を参照するには、
referenceVariables.のようにプレフィックスmyvarreferenceVariablesを追加します。受講者の変数を参照するには、変数名を使用します。関数評価項目の場合 — 評価テスト内の模範解答関数を呼び出すには、
reference.のようにプレフィックスmyfunctionreferenceを追加します。受講者の関数を呼び出すには、関数名を使用します。関数内の変数を評価することはできません。
たとえば、受講者の tempF2C 関数が温度を華氏から摂氏に正しく変換することをチェックするとします。まず、同じ入力で受講者の関数と模範関数を呼び出します。次に、assessVariableEqual を呼び出して結果を比較します。

評価テストには次の追加オプションを含めることができます。
Scoring method — 既定では、すべてのテストがエラーなしで実行された場合は解答が正解となり、いずれかのテストでエラーが発生した場合は不正解となります。部分点を許可するには、方法を
[重み付け]に設定します。次に、各評価テストの相対的な重みを指定します。最初のエラーのみフィードバックを表示 (スクリプト評価項目のみ) — このオプションを選択すると、最初のエラーの完全なメッセージを表示し、後続のエラーの情報を折りたたみます。受講者には、後続のすべてのフィードバックを表示するオプションがあります。
プレテスト — このオプションを選択すると、受講者は最終的な解答を提出する前にプレテストを実行できます。受講者はプレテストのコードを表示できるため、コードに評価項目の解答が含まれていないことを確認してください。
ページの下部にある [模範解答の検証] をクリックして、模範解答が実行され、評価テストに合格したことを確認します。
評価テストの作成の詳細については、受講者の解答のテストを参照してください。
評価項目の保存
評価項目には、下書き、最終の 2 つの状態があります。受講者は最終状態にある評価項目のみを表示できます。[最終版として保存] または [下書きに設定] をクリックすることで、いつでも評価項目の状態を変更できます。
参考
assessVariableEqual | assessFunctionPresence | assessFunctionAbsence