大学入試を中心とした情報分野の学力評価手法の検討シンポジウム2023

グループ3 CBTシステムの開発

大阪学院大学 西田知博先生

グループ3の目標:TAOをベースとするCBTシステムの開発と、CBTならではの問題形式の検討

先ほどの石岡先生のお話にかぶる部分もありますが、このプロジェクトとして我々が何をしていこうとしているのか、ということと、そもそもこのプロジェクトのベースにあった研究についてご紹介します。

 

グループ1とグループ2の目標が、「情報科の問題をどう作っていくか」ということだったのに対して、我々CBTのグループは、それを支える基盤の部分を作ることが第一のミッションとなってきます。

 

そして、既にキーワードとしては植原先生からも出てきましたが、「CBTならではの問題」というものができないかということも検討し、そのためのシステムを作っていくことも考えています。

 

具体的には、先ほどお話のあった、解答を実行して動作が確認できる環境が付いたプログラミングの問題が出題できるもの。また、解答によって状態が遷移していく「状態機械内包型」のもの、これは、以前から我々が「ゲームブック型」とか「ロールプレイング型」と呼んでいるもので、複数の設問を経て最終的な解答を行うような問題を扱えるようにするものです。さらに、大量のデータを使って実際に分析を行うようなタイプの問題を扱えるようにすることも考えています。

 

採点は、TAOの中で行う方法と、TAOからの出力を外部スクリプトで処理する方法があります。プロジェクトの進行状況によりますが、最終的にはTAOの中のカスタマイズ機能を使って実装する、という形で考えていきたいと思っています。

 

 

先行研究では、独自のCBTシステムを作って模擬試験を実施

 

この研究の下敷きになるのが、先ほどから何回も出てきていますが、2016~2018年度に行った「情報学的アプローチによる『情報科』大学入学者選抜における評価手法の研究開発」です。

 

文部科学省の大学入学者選抜改革推進委託事業で、大阪大学の萩原兼一先生がリーダーをされて、大阪大学・東京大学・情報処理学が受託して研究を進めました。我々はここにメンバーとして参加していましたが、この事業の中で2回、2年にわたってCBTシステム使った模擬試験を行いました。

 

当時、TAOを使うことも検討もしたのですが、時間が限られていたため、この時は独自システムを作って2年間、スライドに挙げられた内容で模擬試験を実施しました。

 

今回はTAO自体がかなり成熟していることと、標準的なプラットフォームを使った方がよいだろうということで、TAOを使うという方向で考えています。

 

このプロジェクトの中で作った手法が、今回我々が作りたいものの下敷きになってきています。

 

こちらが先ほどのスライドでV2とあった、2018年度試験の問題で、当時ゲームブック型問題と呼んでいたものです。中のコードがわからないレジのシステムの挙動だけを見て、どこがおかしいかを特定するという、ソフトウエアでいうところの「ブラックボックステスト」の問題です。

 

 

購入した品物の金額と個数を入力して、正しい消費税額と合計金額が表示されるかどうかを何回も試していって、最後に(つづきの)スライドにあるように「どこが間違っているか」に当てはまるものを選ぶ、という問題です。

 

ここでは、試していく過程で次にどこに進むか、といういわゆる状態遷移があって、どういったことを試したかが記録に残るようになっています。採点にあたっても、当て推量ではなくきちんと必要なテストをした上で解答しているかどうかを検証できるようにしました。

 

 

※クリックすると拡大します。

 

※クリックすると拡大します。

 

もう1つがブロックプログラミングの問題です。大学入試センターが作られたプログラミングの問題のモジュールと似た感じのものです。この問題の特徴は、データを扱ったりトレースをしたりする時に、ここにあるような2次元の表でデータの入出力を扱うことができ、その内容を問うことができます。また、プログラムの動作を確認することに加えて操作ログを取ることで、受験者がきちんとプログラムの中身を追って検証できているかということも解析できました。

 

※クリックすると拡大します。 

※クリックすると拡大します。 

 

前回のプロジェクトでこういった出題の仕組みを作っていたので、この内容に加えて、さらに新しいことができないか、ということを考えていくのが我々のグループの一つのミッションであり、それを他のグループと共有していくことになります。

 

 

TAOを使った問題のバリエーションの可能性

 

こちらも先ほど出て来た話と重なりますが、今回、使うTAOは、e-testingの国際標準規格QTI(Question and Test Interoperability)にのっとったもので、基盤としてはこれを使い、これに載せるモジュールを作ることになります。

 

TAOはLTI(Learning Tools Interoperability)にも準拠しており、1EdTech(旧IMS Global Learning Consortium)で策定の標準規格とデータのやりとりができるので、様々なLMS(Learning Management System)と組み合わせが可能です。また、コア機能はオープンソースになっています。

 

TAOのコア機能の部分では、短冊を並べ替えてプログラムを答えさせる程度のことはできます。

 このような標準機能でできるものに加えて、カスタマイズ機能のPCI(Portable Custom Interactions)のモジュールを実装することになります。

 

 スライドの下にあるのは大学入試センターが開発したPCIモジュールを使った、5の階乗を計算するプログラムです。ここではJavaScriptのコードで書かれていますが、ブロックに見える表記は自由にラベルを設定できるので、見た目としての言語はラベリングでできて、中の動作はJavaScriptで動かすことが可能です。

 

その意味でこのモジュールの柔軟性は高いのですが、ここから実行結果をどうするか、構造のバリエーションをもう少し増やせないか、また採点をどうするかといった部分はさらに考える余地があると思います。

 

※クリックすると拡大します。 

 

また、大学入試センターで開発された散布図やクロス集計の問題モジュールがありますので、プロジェクトが「データ分析」を扱うフェーズに進んだ場合は、この辺りも考えていくことになると思います。

 

※クリックすると拡大します。 

 

問題を搭載することに加えて、採点のサポートもできるシステム開発を目指す

 

今後、我々のグループ3で進めて行くこととしては、プログラミングも含め、グループ1・グループ2の作問をサポートできるインタラクション(PCI)を考えていきます。

 

また、それとは少し違う部分で、CBTの独自性を生かせる出題形式として、先ほどお話しした「状態機械内包型」のような連続的な出題形式の検討とインタラクションの開発を行っていきたいと思います。

実はこれは、前回のプロジェクトで、先ほどから話題に出ている医療系学部の臨床実習前試験(CATO)で臨床に関して「こういった診断をしたら、次にこの診断をして…」といった連続的な問題があったのをヘッドアイデアにして考えたものです。

 

このプロジェクトで扱うのは情報科の問題なので、その時ごとの状態で変数を持たせて、その変数によって、次の状態で設問が変わっていくような形の出題が可能になるようにしようと思っています。

 

さらに、採点のサポートについては、AI採点のようなものも考えたいと思いますが、前回のプロジェクトで作ったシステムで行った解答の道筋での思考の過程を追う仕組みも入れたいと考えています。

 

そのためにはログを取る際の粒度も関係してくることになりますので、そういった部分についても研究していきます。

 

TAOに関しては、現在オープンソースで出ているTAOに加えて、TAO Advanceいう次世代のものが動いています。これ自体はまだオープンソースではありませんが、こういったプラットフォームも検討に入れて、できれば試していきたいと考えています。