7

クラス用に子供向けの数学教育ソフトウェアを作成しています。

さまざまなスキル レベルの生徒に、ランダムに生成されたさまざまな種類の数学の問題を楽しく提示してみます。

コンピュータベースの数学ソフトウェアを使用する際のフラストレーションの 1 つは、その硬直性です。誰かがオンラインの数学クラスを受講したことがあるなら、オンラインのクイズを受けて、問題がフォームに正確にフォーマットされていなかったり、奇妙なスペースの問題があったりして、正しい答えが捨てられてしまうことのフラストレーションをすべて知っているでしょう。

だから、最初は「わかった!回答ボックスに式パーサーを使用して、入力されたものを評価できるようにし、同じ形式でなくても確認できるようにする」と考えていました。同じ答えなら。」そこで、IDE を起動して、Shunting Yard Algorithm の実装を開始します。

これにより、最小の形で分数をとらないという問題やその他の問題が解決されます。

しかし、トリッキーな学生がほとんどの問題を回答ボックスに入力するだけで、式パーサーがそれを忠実に解析して正しい回答に評価することに気づきました。

では、この場合、式パーサーを使用すべきではありませんか? 単一の形式の回答を生成し、文字列の比較を行う必要がありますか?

4

5 に答える 5

5

考えられる解決策の 1 つは、式評価器が問題の元の式を評価するために必要なステップ数を記録し、これを最適な答えと比較することです。差が大きすぎる場合は、問題が十分に軽減されていないため、生徒に続行するよう提案できます。

ただし、学生が自分の「最適」の定義よりも優れた答えを出しても驚かないでください。私はいくつかのクラスの TA/採点者でしたが、最も優秀な学生は、教授が提供する問題セットよりも優れた問題セットを定期的に持っていました。

于 2009-04-30T15:44:09.103 に答える
2

正確な答えを探している単純な問題の場合、空白を削除して文字列を比較するのが合理的です。

より高度な問題については、Shunting Yard Algorithm (または同様のもの) を実行することもできますが、おそらくそれをパラメーター化して、トリッキーな学生から保護するために削減をオン/オフできるようにすることもできます。「単純な」回答でもパーサーを使用できますが、すべての削減を無効にすることに気付くでしょう。

たとえば、割り算の質問では、「/」削減を無効にします。

于 2009-04-30T15:44:16.607 に答える
1

これは素晴らしい質問です。

式システムと評価/変換/等価エンジンを作成している場合 (どこかで利用できるものはありませんか? どこかにオープンソースのものがあるとほぼ 100% 確信しています)、それは教育/代数の問題です:元の式または期待される式に代数的に近い学生の答えです。

答え方はわかりませんが、アイデア (必ずしも実用的であるとは限りません) です。おそらく、評価エンジンは変換ステップを同等に数えることができます。答えが元のものよりも期待されるステップの方が少ない場合は、問題ない可能性があります。オリジナルに近すぎる場合は、そうではありません。

于 2009-04-30T15:44:19.773 に答える
0

式パーサーを使用できますが、回答で許可される式の複雑さに制限を適用します。

たとえば、目標が (4/5)*(1/2) を削減することであり、(2/5) または (4/10) のいずれかを許可する場合、許可される答えのセットを次の式に制限できます。ツリーは (x/y) の形式を取り、これも正しい数に評価されます。おそらく、「0.4」、つまり正しい数値に評価される形式 (x) の式も許可するでしょう。

これは、問題を手動で採点した場合に (暗黙のうちに) 行うこととまったく同じです。正しいが許容可能なクラスに分類される回答を探していることになります。

于 2009-04-30T15:45:12.500 に答える
0

数学評価ソフトウェアでこれを行う通常の方法は、問題設定者が正解で許可されていない式/文字列を指定できるようにすることです。

既存のソフトウェアに興味がある場合は、オープン ソースの Stack http://www.stack.bham.ac.uk/ (または MapleTA などのさまざまな商用オプション) があります。あなたが遭遇する問題のほとんどは、Stack でも発生していると思われるので、スタックを使用したくない場合でも、それがどのように物事にアプローチするかを見ることは教育的かもしれません。

于 2009-05-12T21:45:19.993 に答える