オピニオン/研究

複雑・多様化する社会の構造的な課題を提起し、これからの高等教育のあるべき姿などを問い、課題解決の方法を提言していく。

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

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

大阪学院大学情報学部 西田 知博教授

講演中の西田 知博教授
西田 知博教授

「CBTならでは」の出題形式の検討とシステムの開発を目指す

グループ3のミッションは、CBTシステムの開発です。と言っても、ベースのシステムは一から実装するのではなく、世界標準のオープンソースCBTプラットフォームである、OAP(Open Assessment Technology)社のTAOを利用します。G1・G2で作成した問題に必要な機能の仕様を策定し、TAOのカスタマイズ機能のPCI(ポータブル・カスタム・インタラクション)を実装していくのがG3の役割です。

一昨年は、「オートマトン型」という、状態が遷移する形式の設問に対するシステムを開発しました。これは、すべての受験者に同じ問題が出てくるのではなく、それぞれの解答の正解・不正解によって、以降の出題が枝分かれしていくという仕組みです。

昨年は、実行環境付きのプログラム問題の仕組みを作りました。これは先ほどG1の発表で谷先生が紹介されていたように、実際にコンピュータ上でプログラムを組み立てて、最後に実行して確認することができるものです。これを使って、現在実施中(※本記事掲載時点で終了済)の「EMIU情報模試2025秋」から出題しています。

この仕組みは、もともと大学入試センターが開発したブロックで作るプログラミング環境のPCIをベースにして作っています。大学入試センターのものは、短冊形のコードを組み合わせて、正解と完全に一致するかどうかを採点するものですが、正しいコードは1通りではないので、我々は、テストケース(「この入力に対しては、このように動くはず」というプログラムの動作確認リスト)を用意して、それに一致するかどうかで採点する、という機能を持たせました。

実際にプログラムを動かして動作を確認する

下のスライドが実際の問題例です。真ん中に設問として与えられるブロックのコードが並んでいて、そこに設けられた空欄やブロックの間に、左側の選択肢に用意されている短冊を置いて解答します。置ける短冊の種類を制限したり、空欄を増やしたりすることによって、解答の難度を調整することができます。

このサンプル問題は、バブルソート(隣接する要素を繰り返し比較・交換することでデータを並べ替える、基本的なソートアルゴリズム)のコードを完成させるものですが、このまま出題すると非常に難しいので、模試で出題する問題はもう少し易しいものになっています。

受験者は、このシステム上で作ったプログラムを実行して、動作の確認をした上で解答を提出します。プログラムはいろいろな書き方ができるので、複数のテストケースを用意し、それらすべてと適合しているかを検証して採点することになります。

オーサリング(情報や素材を構成・編集し、問題を作り上げること)については、もともとの大学入試センターのPCIと同様な形で、それぞれのブロックに対応するJavaScriptのコードを設定して作っていきます。ただし、ブロックの表示ラベルは、現在の共通テストで用いられている書式に変えています。また、ブロックで組み上げた問題のコードについては、対応するJavaScriptのコードがどうなるかを確認することができます。

テストケースについては、スライドに示すように、違った入力で結果を検証することができます。それぞれのテストケースで、上に書いた入力を実行した結果の出力がどうなるかを下に書きます。このように複数の入力によってそれらが全部正しい出力になっているかで採点できるようになっています。実際にこの仕組みを使った問題を、現在実施している「EMIU情報模試2025秋」(※本記事掲載時点で終了済)で出題しています。


正解/不正解によって次の問題が変わる出題形式も

選んだ選択肢によって次の問題が変化するオートマトン型問題の具体例は、現在模試を実施中なので公開できませんが、どのような流れになっているかを説明します。
今回出題しているのは、小さめのプログラムの誤りを指摘したり、修正したりするとどのような出力結果になるか、という問題で、それが3つの設問になっています。

3つのパターンを用意しており、問1は不正解の場合に「不正解だったから、もう一度考えて答えてください」ともう1問出題する形式になっています。問2は、正解の人だけにさらに追加の問題を用意し、さらに最初の問題の正解・不正解に関わりなく共通の問題を解く形式になっています。問3は最初の問題の正解・不正解、それぞれで別の問題を解くという形式になっています。

オートマトン型の問題は、選択肢を増やしたり、枝分かれの幅をどんどん広げたりすることでいろいろなシナリオを作ることできます。しかし、模試での作題を考えると、広がりすぎることによって採点をどうするかが難しくなるので、今回は比較的シンプルな構造の問題になっています。


「CBTならではの問題」の開発をめざして

プログラミングの出題では、「CBTならではの問題」の形式として、クエスト型(提示された課題や目標に対して、個人が自ら選択して解く形式)の問題を作ることができると面白いのですが、採点をどうするかを含めて作問が難しいので、これからの課題として挑戦していきたいと思います。


今後は、CBTならではの問題の検証として、まずは現在実施中の模擬試験の結果を分析して、そこからさらに必要な機能を抽出していきたいと思います。
さらに、PCIの充実を図っていきたいと考えています。現在、オートマトン型のPCIはまだ最小限の機能だけで、オーサリング機能もないため、問題はXMLを書いてアップロードする形です。また、採点も別のシステムで行っているので、これらの機能も充実させたいと考えます。そして、CBTでしかできないような大量のデータを使った分析問題なども出題できるよう、開発を進めていきたいと思っています。

関連記事一覧