Upload
saburo-higuchi
View
150
Download
6
Embed Size (px)
Citation preview
数式自動採点 e ラーニングコンテンツの問題フォーマット変換ツールの開発
•樋口三郎 (龍谷大学理工学部) http://hig3.net
•背景1, 背景2, 背景3 •目標 •方針と実装 •予備評価
やったこと
• LMS+CAS 1 Maple T.A. + Maple• LMS+CAS 2 Moodle Quiz+ Maxima + STACKQuestion Type
• Quizの問題を• 1からエクスポート, 変換, 2にインポート
背景1: Maple T.A. とは?
• Webベースの•学習者が数式で解答可能な•数式の「構造」に基づいて自動採点可能な•数学のテスト・評価(アセスメント)システム
• Maplesoft社のプロダクト
採点・学生へのフィードバック
フィードバック文字列をカスタマイズ可能
2015-‐08-‐31数理解析研究所 Maple T.A. 理工系学部での基礎教育 6
正解判定基準をカスタマイズ可能(Maple の式で [0,1]値を返す)
CAS=Computer Algebra System Mapleが裏で動いてるCAS-‐type question
STACKとは
• Maple T.A. と類似の機能を持つオープンソースソフトウェア
• オープンソース CAS Maxima• オープンソース LMS Moodleと協調して動作する• Moodleの Quiz Activity の STACK question type
背景2:龍谷大学理工学部でのMaple T.A.利用
• 2015年4月に, 1年生1学年分のサイトライセンスを導入
•理工学部共通のオンラインリメディアル/入学前教育に使う
•組織的にコンテンツ作成を開始する予定
2015-‐08-‐31数理解析研究所 Maple T.A. 理工系学部での基礎教育 8
Maple T.A. → STACK
• Maple T.A. は有料• STACKはオープンソース, 無料
•世の中では, 共有された Maple T.A. の CAS-‐type question の一定のコンテンツ集積あり
•機関的, 個人的理由:• ロックインされたくない• 2年生以上にもSTACKで使いたい• コンテンツを公開したい
背景3: CAS-‐type question の コンテンツ共有
• 吉冨(2013): CAS独立な仕様書のレベルで共有しよう. 特定のCASでのimplementation は容易.• 中原, 中村, 谷口 (2013) : STACK形式で共有しよう
• 専用Moodleモジュール https://mathbank.jp• 北本(2013): 一般教員によるMaple T.A.のCAS-‐typequestion のオーサリングは困難. ベンダーがクラウドサービスすれば?• ベンダーの取組
• Maple T.A. Maple Content Center, Maple T.A. Cloud• (Mathematica: Wolfram Demonstration Project, Mathworld)
• IMS QTI はCASは想定していない
変換の3つの問題
• LMS, CAS の機能の差分, item bank meta data の差分
•特定の動作を表現する key-‐value list, XML の差
• CAS syntaxの差
評価, フィードバックの計算方法Maple T.A. STACK potential response tree
input i
f(i)
正解 不正解
input i
f(i)1 0
1
1
0
0
固定フィードバック
固定フィードバック
フィードバック フィードバック
1 0α α
αααα
カスタマイズ可能
部分的正解
固定フィードバック
α
α
Maple T.A..qu形式 key=value CAS変数x,$nqu.1.topic=Exported [email protected]=formula@ // Question タイプqu.1.1.name=Integral -‐ Maple Formula @ // 問題名qu.1.1.question=<p>What is the integral of $fdisp with respect to x?</p>@ // 問題文qu.1.1.maple=evalb(($ANSWER)-‐($RESPONSE)=0);@// 採点方法qu.1.1.maple_answer=$ans@ // 正解qu.1.1.mode=Maple@ // 解答方法qu.1.1.comment=<p>The correct answer is $ansdisp</p>@ // フィードバック文字列qu.1.1.hint.1=<p>hint1 test</p>@ // ヒントqu.1.1.hint.1.name=hint1@ [email protected]=$n = range(2,9);$ans = maple(“x^$n”);$f = maple(“diff($ans,x)”);$fdisp= maple(“printf( MathML[ExportPresentation]($f))”);$ansdisp= maple(“printf( MathML[ExportPresentation]($ans))”);@ // ランダム化qu.1.2.type=formula@…
MoodleMoodle XML 形式CAS文字列x,@x@
<quiz><question type="category"><category><text>Exported Questions</text></category></question><question type="stack"> // Question-‐Type<name><text>Integral -‐Maple Formula</text> // 問題名</name><questiontext format="html"><text><![CDATA[<p>What is the integral of @Sfdisp@ with
respect to x?</p><p>[[input:ans1]]</p><div>[[validation:ans1]]</div>]]></text></questiontext> // 問題文<generalfeedback format="html"><text><![CDATA[]]></text>
<prt> // Potential Response Tree <name>prt1</name><value<autosimplify<feedbackvariables<text</feedbackvariables<node<name<answertest<sans<tans<testoptions<quiet<truescoremode<truescore<truepenalty<truenextnode<trueanswernote
Maple T.A. とSTACKのCAS比較Maple T.A.
$m=range(1,6);$n=range(1,6);condition:ne($m,$n);
$f=maple(“int (1/($m*x-‐$n),x)”);
STACK
m:0n:0dummy:while(m=n) do (m:rand_with_step(1,6,1), n:rand_with_step(1,6,1))
f:integrate(1/(m*x-‐n), x)
2015-‐08-‐31数理解析研究所 Maple T.A. 理工系学部での基礎教育 17
開発したツールの仕様
• コマンドライン, 標準入出力• 入力Maple T.A. の .qu形式
• Question type を Maple-‐graded, Formula, Numeric に限定• (その他, アドホックな条件多数)
• 出力 STACK-‐type question のMoodle XML 形式• 不足する情報は決め打ちのデフォルト値で埋める• key-‐value list を, あらかじめ人間が与えた key 同士, value 同士の対応表に従って変換する• CAS文法の完全な変換はあきらめて, コメント化する. 一部のみ自動変換. 大部分は手動で変換.
Maple T.A.の構造
• Maple T.A. ßàQuiz Activity(+LMS)• Maple-‐graded Question Type ßà STACK Question Type• Question Type とは, 選択, 自由記述, 穴埋め, CAS
• Maple-‐Graded Question Type はMoodle でいうCalculation Quiz Type に STACKを継ぎ足したかのような形
変換ツールの対応するMaple T.A. Question TypeMaple T.A. Question Type 対応
Question Designer △原理的には可能だが, 実装は先頭の問題-‐解答のみ
Maple-‐graded ○
Formula ○
Numeric ○ Calculated, Calculated Simple question typeで対応可能な場合も
Multiple Choice ×原理的には可能だが未実装. Multichoice, Calculated Multichoice question type で可能な場合も
Multiple Selection ×原理的には可能だが未実装. Multichoice, Calculated Multichoice question type で可能な場合も
Essay × Essay question type または Assignment Activity で対応か
Clickable Image ×
予備評価
Mode 問題数 評価
非サポートのQuestion type 8 ー 変換しない仕様
Numeric 3 ◎ 手作業不要
Maple-‐graded 2 ◎ ランダム化がなかったため手作業不要
3 ○ ランダム化部分で機械的な手作業
1 △ 非自明な手作業
合計 17
• テストデータ: Maple Content Center より“DerivativesMattRichey” course module • (開発用テストデータとは別)
課題
•対応するQuestion typeを必要な範囲まで拡大• (アドホックな)条件を取り除く• CAS syntax の変換範囲を増やす
•逆方向の変換
• Moodle との統合 or Webサービス化
•大規模な評価