大学入試を中心とした情報分野の学力評価手法の検討シンポジウム2024
グループ3 CBTシステムの開発
大阪学院大学 西田知博先生
TAOをベースにカスタマイズした機能で、CBTならではの出題を検討する
グループ3の役割は、CBTのシステム開発です。
もちろん、システムを一から作るわけではなくて、先ほどからの話にあったように、TAOをベースとして、その上にカスタマイズした機能をどのように付けていくかということを考えるのが、我々のミッションです。
既に、グループ1とグループ2が作った問題で模試が行われましたが、その範囲内で言えば、例えばプログラミングを多肢選択ではなく短冊の並び替えとして問い、それを自動的に採点すると仕組みを作るなどがあります。
また、「CBTならではの問題」というのは、実際にその場で実行できる環境でのプログラミングの問題や、昨年のこのシンポジウムでもお話ししましたが、何か状態が設定されていて、ある選択肢を選んだら次はこういう問題が出てくる、別の選択肢を選べば、次は違う問題が出てくるという「オートマトン型」の問題も考えています(以前は「ゲームブック型」と呼んでいました)。
さらに、大量のデータセットを読み込んで分析するような、データ分析の問題を出題できるようにすることも考えたいですね。また、これらの問題を自動採点することも目標としています。
基本的に、ベースがTAOですから、そこの上で動く拡張機能としてPCIを作るのですが、昨年は手始めにこのオートマトン型の問題を出題する機能を開発しましたので、今日はそのお話をします。
状態遷移で設問を構成する「オートマトン型」の問題
こちらがオートマトン型の問題の状態遷移図の例です。初期ページの問題があって、選択肢で次の問題が分岐していて、異なる問題を出題しています。また、設定した選択肢とは違うものを選んだ場合、デフォルトの動作を設定することもできます。
※クリックすると拡大します。
これだけではわかりにくいので、問題のイメージをご紹介します。
※クリックすると拡大します。
これが最初の問題ですが、例えば選択肢2を選んで「NEXT」を押すと、次の画面で「選択肢2を選択した場合の問題文です」と表示されます。ページID「2-2」の問題で、前の画面でどのような解答を選んだかも渡されるので、それを表示しています。
※クリックすると拡大します。
次に選択肢3を選ぶと、同様にページIDに「3-3」に移ります。ここでは、そこまでの解答も並べて表示していますが、このように解答の履歴を記憶できます。
※クリックすると拡大します。
また、問題ごとにページを表示するだけではなく、1つの画面の中で、前に解答したものを見ることができるようにすることもできます。さらに、BACKのボタンで後戻りができないようにすることもできます。
問題は、開発予算の関係もあり、現状ではJSONで書かなければいけません。JSONは多少煩雑ですが、例の阪大プロジェクトではスクリプトでXMLを生成してで力任せに書いていましたので、それに比べると非常に分かりやすくなっています。問題をGUIで組み立てられるようにすることは、今後のミッションになります。
※クリックすると拡大します。
阪大プロジェクトで作った問題を、このシステムに当てはめていただいたものをご紹介します。
こちらは、消費税の計算がおかしいレジがあって、不具合はどこにあるのかを見つけるという問題です。
※クリックすると拡大します。
ここでは、いろいろな金額を入力して消費税を含めた金額を出してみて、どこに問題があるかを考えていきます。
例えば、スライドのように、10円のものと1円のものを買ったのに、金額は13円で、何かおかしいことはわかります。次に1000円のものを買うと、1095円で、これも明らかにおかしいですね。
選択肢は4つなので、2の4乗の16通りをすべて調べれば、どこに不具合があるのかがわかります。
※クリックすると拡大します。
※クリックすると拡大します。
そして、結果としてどうおかしいかを答えてもらう、という問題です。
※クリックすると拡大します。
今後は、この枠組みを使ってどんな問題を出していくのかを、グループ1・2の方々と話し合いながら進めていきます。この枠組みを、当初「ゲームブック」と呼んでいたのは、問題を解決するためにシナリオを書いて、そのシナリオに沿って問題が進んでいく、という構成になっているからです。トライアンドエラー的に進めて、もし失敗の選択肢を選んでいったとしても、どこかでもう1回戻って別の道に進めるような設問も作っていきたいと考えています。
これは、先ほどの消費税の問題のオーサリング画面ですが、簡単な設定で、前の解答を見られるようにすることができます。
また、JSONで解答を記録していますが、これを自動採点することも考えています。
※クリックすると拡大します。
このスライドの右の枠に、1円、10円、100円、1000円のものを買うというボタンをJSONでの記述を示しています。
変数の利用が可能で、数値に演算を加えることができ、その演算結果を使って後のページを生成することもできます。以上が今年度開発したCBTの概要です。
※クリックすると拡大します。
今年度は主にグループ1から要望があった、プログラミングのテストケースを用いた採点機能を作ることになっています。これもできましたら、ご紹介したいと思います。
大学入試を中心とした情報分野の学力評価手法の検討シンポジウム2024 講演