diff --git a/doc/ja/Ablnitio/Authoring_quick_start_5.md b/doc/ja/Ablnitio/Authoring_quick_start_5.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..bb478db053fa48dd471caf2cac29d34b2d77c569 100644 --- a/doc/ja/Ablnitio/Authoring_quick_start_5.md +++ b/doc/ja/Ablnitio/Authoring_quick_start_5.md @@ -0,0 +1,87 @@ +# 問題作成クイック・スタート・ガイド5:質問テスト + +[1 - 基本的な問題](Authoring_quick_start_1.md) | [2 - 問題変数](Authoring_quick_start_2.md) | [3 - フィードバックを改善する](Authoring_quick_start_3.md) | [4 - ランダム化](Authoring_quick_start_4.md) | 5 - 問題のテスト | [6 - 複数解答問題](Authoring_quick_start_6.md) | [7 - 数式簡略の無効化](Authoring_quick_start_7.md) | [8 - 問題のインポートと小テスト](Authoring_quick_start_8.md) + + +問題作成クイック・スタート・ガイドのこの部分では問題のテストについて扱います。次のビデオでそのプロセスを説明していますので,ご覧ください: + +<iframe width="560" height="315" src="https://www.youtube.com/embed/wnvsc-v9svE" frameborder="0" allowfullscreen></iframe> + +## はじめに + +ここ数回で,私たちはシンプルな統合問題を扱いました。クイックスタートを続ける前に,問題変数が次のように設定されていることを確認してください: + +``` +a1 : 1+rand(6); +a2 : 1+rand(6); +nn : 2+rand(4); +exp : a1*(x-a2)^(-nn); +ta: int(exp, x)+c; +``` + +問題のテストは時間がかかり面倒ですが,問題が確実に動作するためには重要です。このプロセスを支援するために,STACKでは教師が「問題テスト」を定義することができます。原理はソフトウェア工学における「ユニットテスト」と同じです。 + +## 問題テスト + +プレビューウインドウで問題の一番上までスクロールし,`問題のテストとデプロイ`をクリックしてください。前のパートでは,このウィンドウを使ってランダムバリアントをデプロイしました。 + +`テストケースを追加する` をクリックして,問題にテストを追加します。テストケースは学生の入力を受け取ります。そして,その入力に対して点数,減点,解答記録を指定できます。`解答記録` はポテンシャル・レスポンス・ツリー上で決めた特定の結果の名前を指定できます。 + +減点は学生が間違った解答をするたびに合計点から差し引かれる数値です。デフォルトでは0.1に設定されています。減点は`一般`の `減点` で変更することができます。この機能は問題ビヘイビア `Interactive with multiple tries` および `Adaptive mode` でのみ使用されることに注意してください。質問ビヘイビアについては後ほど説明します。 + +最初のテストケースに次の情報を入力してください: + +``` +ans1 = ta +score = 1 +penalty = 0 +answernote = prt1-2-T +``` + +つまり,学生が正しい解答を入れた場合,最初のノード (正しく積分されたかチェック) を通過し,2番目のノード (答えが因数分解されたかテスト) を通過し,点数 1,減点なしで終わるはずです。 + +テストが実施される前に入力が評価されることに注意してください.変数 `ta` は教師が定義した変数であるため,学生は入力することができません.`1*(x-1)^(-3)+c` は入力可能です。各テストケースについて,評価されていない入力は `Test input` の下に,実際にテストされた入力は `Value entered` の下に表示されます。 + +<!-- おそらく現在このボタンはないようです,消したほうが良いでしょうか --> +`Run all tests on all deployed variants` をクリックすると,デプロイされたすべてのバージョンでテストを実行することができます。 + + +必要だと思う数だけテストを追加することができます。通常は予想されるケースごとに一つずつ追加するのが賢明です。別のテストケースを追加します。 + +``` +ans1 = int(exp,x) +score = 0 +penalty = 0.1 +answernote = prt1-1-F +``` + +ここでは,積分定数のないテストケースを作成します。この場合,STACKは学生に点数を与えず,テストが通過したことを示します! + +また,すべての別解を解くことができれば,製作者の望む能力が手に入っているということを確認するために,問題テストを使用する必要があります。例えば,この問題では,(1) べき乗を1増加させ,(2) 新しいべき乗で割ることを学生に理解してほしいです。例えば,べき乗を増加させ,新しいべき乗で*乗算*することはできないはずです。これを確認するテストケースを追加しましょう。 + +``` +ans1 = (a1*(-nn+1))*(x-a2)^(-nn+1)+c +スコア = 0 +ペナルティ = 0.1 +アンサーノート = prt1-F +``` + +割り算ではなく, \(-nn+1\)をかけると0点になることをテストしています。生徒にこの知識をすべての別解で使用して欲しいのならば,すべての別解がこのテストに合格しなければなりません。これを確認するには,`Run all tests on all deployed variants` をクリックしてください。 + +すべての別解がすべてのテストに合格するわけではありません。テストに失敗した別解をクリックすると,その理由がわかります!本質的に,\(nn=2\), \(-nn+1=-1\)の掛け算と割り算は等価です。本質的に,これらのランダムバリアントは他のものより「簡単」です。これは,問題テストのもう1つの重要な使い方,つまり,すべての別解が同じ難易度であり,想定される知識をテストすることを保証することを示しています。これを踏まえて,`nn`を再び ` 3+rand(4)` に変更したくなるかもしれません。これですべての別解がすべての問題テストに合格するはずです。 + +品質管理は不可欠であり,より詳しい情報は [testing](/Authoring/Testing.md) のページにあります。 + +## 余談:禁止ワード + +STACKでは,`sin`,`cos`などの標準的な数学関数を使うことができます。さらに驚くべきことに,STACKは`int`も使うことができます。そのため,理論的には生徒が`int(...)+c`と入力すると,システムは正しいと判断します! + +これを止める場合には,`input:ans1`に行き,禁止ワードに`int`と入力します。禁止ワードは通常許可されている単語を禁止します。 + +この例は生徒を助けるために有効性がどのように使われるかをうまく示しています。`int(p,x)+c`は問題に対する正しい答えですが,無効です。この例では,CASに積分をさせるのではなく,生徒に積分をさせたいのです! + +# 次のステップ + +これでSTACKで質問テストを使用できるようになります。 + +#### 問題作成クイック・スタート・ガイドの次のパートでは,[複数解答問題](Authoring_quick_start_6.md)について説明します。