Skip to content
Snippets Groups Projects
Commit 3d89edf0 authored by nunupy345345's avatar nunupy345345
Browse files

fix Authoring_quick_start_8.md

parent 5649caf2
Branches
No related tags found
No related merge requests found
# 問題作成クイック・スタート・ガイド 3:フィードバックを改善する
[1 - 基本的な問題](Authoring_quick_start_1.md) | [2 - 問題変数](Authoring_quick_start_2.md) | 3 - フィードバックを改善する | [4 - ランダム化](Authoring_quick_start_4.md) | [5 - 問題のテスト](Authoring_quick_start_5.md) | [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/l6QAMmUA5Pk" frameborder="0" allowfullscreen></iframe>
## はじめに
直前のパートでは,問題変数を扱いました。具体的には,被積分関数を表す変数`exp`を定義し,正答を表す変数taを定義しました。そして,\(\int 3(x-1)^{-4}dx\)を求めさせました。
この問題のプレビューを表示し, `-1*(x-1)^(-3)+c`の解答を入力してください。システムはこの解答を正解と判定します。次に, `-1*(x-1)^(-3)+C``C`が大文字)の解答を入力してください。正答の`-1*(x-1)^(-3)+c`と比較し, ポテンシャル・レスポンス・ツリーの評価関数で「代数等価」を指定していたので,正答とはみなされません。理由は`c``C`は異なるからです。通常,定数の文字に何が用いられるかは問わないでしょう。この問題を解決します。
## 評価関数: 積分
より良い「評価関数」を用いるように,ポテンシャル・レスポンス・ツリーを修正する必要があります。問題の編集画面に戻り,ポテンシャル・レスポンス・ツリーの「評価関数」のプルダウンメニューで,「代数等価」から「積分」に変更してください。そして,オプション欄に`x`(変数)を入力してください。「変更を保存して編集を続ける」をクリックし,もう一度プレビューを実行してみましょう。
評価関数「積分」では,積分定数にどのような文字でも正答と判定します。例えば,`-(x-1)^(-3)+k` と入力してみてください。正答と判定されます。また,学生が積分の定数を忘れたり,誤って積分の代わりに微分した場合,標準的なフィードバックを与えます。これを試すには,`-12*(x-1)^(-5)`と入力してみてください。フィードバックを学生に見せたくない場合は,「抑制」オプションで「Yes」を選択してください。
`解答記録`は評価結果に対し付けられる名前です。STACKはこの名前を,ポテンシャル・レスポンス・ツリーの名前,ノード番号,ノードの結果にから自動的に生成されます。
## 考察
STACKで学生の解答をチェックするとき,教師は "学生の答えを正解/不正解にする数学的特性は何か"を問わなければいけません。今回の場合,この問は以下を含みます:
- 解答は被積分関数の不定積分か?
- 解答には積分定数が含まれているか?
評価関数`積分`がこれらの問に答え,教師この問に対応するためのコードを書く必要はありません。
次に,教師は "学生が何を間違う可能性があり,その結果どのような解答となるのか?"を問わなければいけません。この質問はより難しいです。それに対する回答は,経験を通じて,または前もって診断的な質問をすることによって得られるかもしれません。年度ごとにSTACKの問題での学生の解答を見直し,経験に照らしてより良いフィードバックを組み入れると良いでしょう。
## フィードバックをさらに改良する
学生が犯しそうなミスごとに,解答例を作成することができます。例えば,学生が解答の数式を展開したままにしておくとします。これはもちろん正しい答えかもしれませんが,不必要に答えを展開しないように学生を指導したいこともあります。学生が最終的な解答を因数分解した形で残したかどうかを判定する別のノードを作成し,ポテンシャル・レスポンス・ツリーの新たなノードとして追加します。
![Adding a new node](../../content/add_new_node.png)
ポテンシャル・レスポンス・ツリーに移動し,`[新しいノードを追加する]`をクリックします。次にノード 1 の `真の場合`のブランチで `次のノード``ノード2`に変更します。ノード2に入ったということは,学生の解答は正答であることはわかっているので,解答が因数分解されているかどうかを判定することにします。これを実現するために[評価関数](/Authoring/Answer_Tests/index.md)「因数分解」を使用する必要があります。これは評価対象と評価基準が等価であることと,評価対象が因数分解されていることの両方をテストします。この問題の場合,我々はすでに学生の解答が正答と等価であることを知っています(評価関数「積分」を使用)。したがって,学生の解答自身に対してテストするだけで良いのです。
ノード2のフォームを次のようにします。
```
評価関数 = 因数分解
評価対象 = strip_int_const(ans1,x)
評価基準 = strip_int_const(ans1,x)
オプション = x
```
STACKでは,学生が使用した積分定数を削除するstrip_int_const関数が提供されています。なお,オプションで変数を指定する必要があります。
`真``偽`の結果で点数を変えないようにしてください。デフォルトではそれぞれ+0と-0に設定されます。点数を変更しないことで,学生の解答が展開されていても,減点されないようにします。
評価関数「因数分解」は自動的にフィードバックを返しますが,自分で書きたい場合は,「抑制」をYesに設定し,ノード2の偽のフィードバックに次のように入力します:
```
あなたの解答は因数分解されていません。正解ですが,括弧を展開する必要はないことに注意してください。
```
多くの一般的な間違いに対して,いくらでもチェックしながら,ポテンシャル・レスポンス・ツリーを拡大することができます。その他の評価関数については[ドキュメント](/Authoring/Answer_Tests/index.md)を参照してください。
## 一般的なフィードバックを追加する
一般的なフィードバックは問題の正誤に関わらず,すべての学生に表示されます。ここは模範解答を追加するときに活用してください。
# 次のステップ
以上で,STACKで様々なフィードバックを作成できるはずです。
##### 問題作成クイック・スタート・ガイドの次のパートは[ランダム化](Authoring_quick_start_4.md)についてです。
\ No newline at end of file
# 問題作成クイック・スタート・ガイド 6: 複数解答欄問題
[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 - 問題のテスト](Authoring_quick_start_5.md) | 6 - 複数解答欄問題 | [7 - 数式簡略の無効化](Authoring_quick_start_7.md) | [8 - 問題のインポートと小テスト](Authoring_quick_start_8.md)
問題作成クイック・スタート・ガイドのこのパートでは,複数解答欄問題について扱います。次のビデオでそのやり方を説明します:
<iframe width="560" height="315" src="https://www.youtube.com/embed/lQhDEnEYZQM" frameborder="0" allowfullscreen></iframe>
次の例を考えてみましょう:
### 例1
\(x=2\)\(x^3-2x^2+x\)に接する直線の方程式を求めよ。
1. \(x^3-2x^2+x\)\(x\)で微分せよ。
2. \(x=2\)での微分係数を計算せよ。
3. 接線の方程式を求めよ。\(y=...\)
上の3つの小問はすべて1つの多項式\(x^3-2x^2+x\)を参照するので,ランダムに生成された問題が使用される場合,それらの小問はそれぞれ1つのランダムに生成された数式を参照する必要があります。したがって,小問1-3の解答は実際には1つの数式に依存します。ここで,小問1は他から独立していることに注意してください。小問2の解答には小問1の解答に\(x=2\)を代入する必要があります。小問3は独立して採点することも,小問1と2を考慮することも簡単にできます。教師は「依存」採点を選択できることにも注意してください。
### 例2
比較的若い学生を対象にした次の問題を考えてみましょう。
\((x+1)(x+2)\)を展開せよ。
解答方法として,次の方程式の「空欄を埋める」方法が考えられます:
```
(x+1)(x+2) = [?] x2 + [?] x + [?].
```
私たちは,この問題を「3つの入力」を持つ「1つの質問」であると解釈します。さらに, それぞれの入力 (係数) に対して別々のフィードバックが生成されたとしても,教師はフィードバックが割り当てられる前に,学生にすべて穴埋めしてほしいでしょう。また, このフィードバックはすべて画面上の1つの場所にグループ化されるべきです。そして,代数的ミスの可能性のある原因を特定するために, 自動採点のためにすべての係数が入力されている必要があります。3つの解答欄を独立に採点することはあまり意味がないでしょう。
この2つの例は,2つの対立的な評価方法を示しています。
1. 複数解答欄内のすべての入力は独立して評価できる。
2. 複数解答欄内のすべての入力は, その問題が採点される前に完了しなければならない。
この2つの評価方法を満たす複数解答欄問題を考案することは比較的簡単ですし, これらのの複数解答欄問題はより一般的であるとも考えられます。
## 複数解答欄問題の質問を作成する
新しいSTACKの問題作成を開始し,「接線」などの名前をつけてください。この問題には3つの小問があります。次のように,問題変数と問題テキストをコピーすることから始めます。この問題はランダム化を含んでいませんが,後の段階の簡単化のために,最初に変数名を使用していることに注意してください。
__問題変数:__
```
exp:x^3-2*x^2+x;
pt:2;
ta1:diff(exp,x);
ta2:subst(x=pt,ta1);
ta3:remainder(exp,(x-pt)^2);
```
__問題テキスト__
以下のテキストをエディターにコピーしてください。
点\(x={@pt@}\)で{@exp@}に接する直線の方程式を求めよ。
1. {@exp@}を\(x\)で微分せよ。[[input:ans1]] [[validation:ans1]] [[feedback:prt1]]
2. 1の結果を用いて、\(x={@pt@}\)での微分係数を計算せよ。[[input:ans2]] [[validation:ans2]] [[feedback:prt2]]
3. 接線の方程式を求めよ。\(y=\)[[input:ans3]] [[validation:ans3]] [[feedback:prt3]]
「個別フィードバック」セクションからフィードバックタグを削除し、「問題テキストのチェックと入力フォームの更新」をクリックしてください。STACKは,解答欄,フィードバックタグを自動的に検出して,3つの解答欄とポテンシャル・レスポンス・ツリーが作成されます。問題テキストでは、フィードバックが関連する部分の下に直接表示されるように,フィードバックタグを埋め込んでいます。それぞれの小問に対して,1つのポテンシャル・レスポンス・ツリーがあることに注意してください。
解答欄:`ans1`から解答欄:`ans3`の「正解」に,それぞれ`ta1`から`ta3`を入力してください。
次にポテンシャル・レスポンス・ツリーを編集する必要があります。これらは学生の解答の評価を設定します。
### ステージ1: ポテンシャル・レスポンス・ツリー
最初の段階は,最も単純なポテンシャル・レスポンス・ツリーを作成することです。これらは単純に答えが「正しい」かどうかを評価します。各ポテンシャル・レスポンス・ツリー:`prti`のそれぞれで,`ansi``tai`と代数的に等価であるかどうかを評価します(ただし、`i``1`から`3`としてください)。この段階で,実用的な問題ができたでしょう。「変更を保存して編集を続ける」をクリックして、問題をプレビューしてください。参考までに,正解は以下の通りです。
```
ta1 = 3*x^2-4*x+1
ta2 = 5
ta3 = 5*x-8
```
### ステージ2: 依存採点
次に,シンプルな依存採点を実装します。
小問2を注意深く見てください。これは「正解」を求めていると同時に,学生が小問1の結果を用いて,与えられた点で正しく微分係数を計算できたかどうかも評価しています。したがって最初の課題は,小問1で与えられた数式を与えられた点で評価し,`ans2`と比較することです。`prt2`のノード1を以下のように更新します:
```
評価関数: 代数等価
評価対象: ans2
評価基準: subst(x=pt,ans1)
```
次に,`prt2`で,「新しいノードを追加する」をクリックして,に以下のノード(ノード2)を1つ追加します:
```
評価関数: 代数等価
評価対象: ans1
評価基準: ta1
```
そして,ノード1の真の分岐を(`prt2`の)ノード2につなぎます。これで3つの結果が得られます。
ノード1:小問1の結果を,与えられた点で正しく評価したか?もし "真"ならノード2に進み,"偽"なら0点で終了する。
ノード2:小問1の結果は正解か?もし"真"なら,これが理想的な状況であり,満点である。もし"偽"なら,好みに応じて点数を選び,例えば、次のようなフィードバックを加える:
小問1の結果に基づき,与えられた点での微分係数は正しく計算されています。しかし,小問1は不正解です。小問1,2をやり直しましょう。
# 次のステップ #
これでSTACKで複数解答欄問題を作成できるようになりました。これまで,このクイックスタートガイドに従ってきていれば,すでにこの問題を改善することができるでしょう。例えば, [フィードバックを改善する](Authoring_quick_start_3.md), [ランダム化](Authoring_quick_start_4.md), [問題のテスト](Authoring_quick_start_5.md)
##### **問題作成クイック・スタート・ガイドの次のパートは[数式簡略の無効化](Authoring_quick_start_7.md)についてです。**
\ No newline at end of file
......@@ -16,54 +16,54 @@
### 問題の選択
小テストに使う問題を選ぶことから始めましょう。すでに作られている問題を編集して,合うように修正することが一番簡単な方法です。
小テストに使う問題を選ぶことから始めましょう。すでに作られている問題を編集して,目的に合うように修正することが一番簡単な方法です。
これまでの問題作成クイックスタートガイドに従って,ゼロから独自の問題を作っても良いでしょう。
### 既存のサーバから問題をインポートする
既存のサーバから問題をインポートする。
既存のサーバから問題をインポートする方法を確認しましょう
まず,既存の問題をエクスポートする必要があります:
1. 問題をエクスポートしたいMoodleサーバのモジュールにログインし,管理ブロックの`問題バンク`をクリックしてください。次に`エクスポート`をクリックしてください。
1. エクスポートしたい問題があるMoodlにログインし,管理ブロックの`問題バンク`をクリックしてください。次に`エクスポート`をクリックしてください。
2. `Moodle XMLフォーマット`をクリックし,エクスポートしたいカテゴリを選択します。Moodleでは個々のカテゴリのみエクスポートすることができます。
3. `問題をファイルにエクスポートする`をクリックしてください。これにより,そのカテゴリのすべての問題を含むファイルがダウンロードされます。
これらの問題をあなたのサーバにインポートします:
1. Moodleサーバであなたのモジュールにログインし,管理ブロックの問題バンクをクリックします。
1. Moodleサーバであなたのコースにログインし,管理ブロックの問題バンクをクリックします。
2. `インポート`をクリックしてください。
3. `Moodle XMLフォーマット`をクリックし,あなたのデスクトップにあるダウンロードフォルダから?.xmlファイルをドラッグ&ドロップし,`インポート`および`続行`をクリックします。問題のコピーがあなたのモジュールの問題集に表示され,自由に問題を変更することができます。
3. `Moodle XMLフォーマット`をクリックし,あなたのインポートしたい?.xmlファイルをドラッグ&ドロップし,`インポート`および`続行`をクリックします。問題のコピーがあなたのコースの問題バンクに表示され,自由に問題を変更することができます。
### Moodle小テストを作成する
あなたが問題集を作成した場合 (問題集をインポートする,または自分で作成する),それらをMoodleクイズに追加することができます。
問題バンクをインポートしたり,自分で問題バンクを作成したら,そこから問題をMoodleクイズに追加することができます。
STACKサンプル教材には「構文クイズ」が含まれていますので,このコピーをあなたのページに設置することがおすすめです。これにより,学生があなたのモジュールの特定の小テストを試す前に,STACKクイズに答えを入力する構文を練習することができます
これにより,学生がSTACKの問題に解答を入力する構文を練習するためのクイズを含めると良いかもしれません
### 問題の動作
問題の動作は学生に与える受験回数および減点の分配方法を決定します。Moodle小テストでは多くの問題の動作を利用することができます。最も重要なものは次のとおりです。
問題の動作は学生に与える受験回数および減点の分配方法を決定します。Moodle小テストでは多くの問題の動作を利用することができます。最も重要なものは次のとおりです。
**即時フィードバック**
学生に各問題を1回だけ受験させますが,問題に解答した直後,またはすべての問題が解答され,提出された場合のみフィードバックを与えます。これは標準的な小テストに便利です。
**遅延フィードバック**
学生に各問題を1回だけ受験させ,与えられた日付が過ぎるまでフィードバックを与えない。これは学生に解答を共有させたくない試験やコースワーク小テストに便利です。
学生に各問題を1回だけ受験させ,与えられた日付が過ぎるまでフィードバックを与えません。これは学生に解答を共有させたくない試験やコースワーク小テストに便利です。
**複数回の受験が可能なインタラクティブ問題**
学生に問題を解く有限回の受験をさせることができ,それぞれの受験の後にヒントが表示されます。不正解の場合,ペナルティマークが減点されます。これはヒントを与えたい形成的小テストに便利です。受験回数は各問題に表示されるヒント回数より1回多く設定されていることに注意してください。ヒントは問題を編集する際,オプションセクションに表示されます。
学生に有限回の受験をさせることができ,それぞれの受験の後にヒントが表示されます。不正解の場合,ペナルティとしてが減点されます。受験回数は各問題に表示されるヒント回数より1回多く設定されていることに注意してください。ヒントは問題を編集する際,オプションセクションに表示されます。
**アダプティブ**
学生に好きなだけ受験させることができますが,学生が答えを間違えるたびに問題の合計得点から減点します。これはテスト問題や非公式の練習小テストに便利です。
学生に好きなだけ受験させることができますが,学生が答えを間違えるたびに問題の合計得点から減点します。これは問題を確認したり、ドリルなど練習問題としての実施に便利です。
### 小テストの設定
1. Moodleページに移動し,`編集を有効にする`をクリックします。
2. あなたが小テストを設置または追加したいブロックに移動し,`活動またはリソースを追加する`をクリックして,`小テスト`,`追加`の順にクリックします。
2. 小テストを設置または追加したいブロックに移動し,`活動またはリソースを追加する`をクリックして,`小テスト`,`追加`の順にクリックします。
3. クイズに名前を付け,説明ボックスに好きな説明を入力してください。必要であれば,ここでLaTeXを使用することもできます。
4. `タイミング`をクリックし,開閉時間を設定してください。
4. `タイミング`をクリックし,小テストの開始,終了時刻を設定してください。
5. `評点`をクリックし,受験可能回数を設定してください。例えば,練習問題には無制限,コースワークの小テストには1回を使用することができます。
6. `問題の動作`をクリックし,上述したように希望する問題の動作を選択してください。
7. レビューオプションでは小テスト中または終了後に学生に閲覧を許可する項目を選択することができます。これには彼らの答えが正しいかどうか,評点およびフィードバックなどのオプションを含みます。練習問題とコースワーク小テストの両方で`正解`をオフにし,練習問題では`一般的なフィードバック`をオンにし,コースワーク小テストではオフにすることをお勧めします。
......@@ -89,7 +89,7 @@ STACKサンプル教材には「構文クイズ」が含まれていますので
1. `コース管理``ユーザ`,`グループ`,`グループの作成`の順にクリックします。
2. グループ名を「25%追加グループ」などとしてください。グループの説明欄に,誰のためのグループなのか詳細を記入することができます。`変更を保存`をクリックします。
3. `ユーザーを追加/削除し,このグループの特定の生徒のIDをクリックし,追加をクリックしてグループに入れます。このグループに入れる必要のある学生全員に対してこの操作繰り返します。
3. `ユーザーを追加/削除`し,このグループの特定の生徒のIDをクリックし,追加をクリックしてグループに入れます。このグループに入れる必要のある学生全員に対してこの操作繰り返します。
4. 戻って`Moodle小テスト`をクリックしてください。小テスト管理で`グループオーバーライド`をクリックし,`グループオーバーライドを追加する`をクリックして,関連するグループを選択し,そのグループの小テストに適切な制限時間を設定し,保存をクリックしてください。
### 結果を見る
......@@ -108,4 +108,4 @@ STACKサンプル教材には「構文クイズ」が含まれていますので
- [複数言語のサポートを追加する](/Authoring/Languages.md),
- [等価推論の使用について学ぶ](/Authoring/Equivalence_reasoning.md),
- [曲線スケッチについて読む](/Topics/Curve_sketching.md).
- Maxima の構文や関数名にあまり詳しくない場合は,Maxima のドキュメントを参照してください。[Maxima](../CAS/index.md)wxMaxima のようなグラフィカルな Maxima インターフェースも,適切な Maxima コマンドを簡単に見つけるのに非常に役立ちます。[wxMaxima](http://andrejv.github.com/wxmaxima/)
\ No newline at end of file
- Maxima の構文や関数名にあまり詳しくない場合は,Maxima のドキュメントを参照してください。[wxMaxima](http://andrejv.github.com/wxmaxima/) のようなグラフィカルな Maxima インターフェースも,適切な Maxima コマンドを簡単に見つけるのに非常に役立ちます。
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment