共通テスト「情報関係基礎」の問題を見る
センター試験から共通テストになって,何が変わるか。国語,英語,数学など,問題の形式が変わっている。記述式は見送られたが,思考力を見たい,ということで出題の傾向が変わっているのだ。では,情報関係基礎はどうか。
試験時間は60分で,問題量(ページ数)も変わっていない。内容はどうか。
第1問はあまり変わらない。
第2問は同じような傾向と言えようか。難易度は別として,多種多様なアルゴリズムの問題といえる。年によって全く違う内容なので比較はしにくい。
第3問が変わった。
今までは,コーディングがゴールだった。アルゴリズムを説明し,それにあわせてコーディングしていく。問題の空欄はその中に設けられている。アルゴリズムがしっかりわかっていないと空欄を埋めることができない。本文中の空欄は,そのアルゴリズムを確認するための空欄といってよい。
ところが,今回は,プログラムコードの穴埋めは4箇所だけ。使われている配列 Koma,Masu,Saikoro の値と,スゴロクの作り方がちゃんとマッチングしているかどうかか正解につながる。これが前半。
後半は,プログラムコードを「読む」という問題だ。
オバケの挙動はどうなるのかは説明があるが,オバケに捕まるとどうなるのかが本文中に書かれていないのだ。1回休みになるのか,振り出しに戻るのか。それが図3のプログラムの中に書かれている。捕まるとそのマスにとどまるというわけだ。
もうひとつ。スゴロクの進行は表2と表4にある。ここで,問題の空欄になっていなくても,順に経過を埋めていくことができるかどうか。ケ,コ などの空欄によらず,ルールに従って経過を埋めていく。それと本文を突き合わせればよい。このあたりもいままでと少し違う。つまり,「問題の空欄を考えていく」のではなく,「問題に示された条件から,自分で全体を作っていく」というようになっている。
今までは教材化できた。実際,いま授業が進行中だが,まず問題を解かせ,次に具体的なプログラミング言語(Cindyscript)で書く。このとき,少し変更することもある。たとえば,2007年のブロック落としの問題は,図5,図6などのコードを関数化すると,全体を記述しやすい。実際には,テキストには空欄はそのままにしたCindyscriptのコードを書き,空欄を補充して全体を完成しなさい,となる。
なんだ,テキストに書いてあるなら簡単じゃないか,と思うと,さにあらず。書法が違うのをちゃんと翻訳しなければならない。
そういう意味で,空欄が4つしかない今回の問題は教材化しにくいのだ。テキスト通りに打ち込んで終わり,となりかねない。もちろん,Cindyscriptなり,Python なりで書き換えたものを示さず,全部を翻訳して書く,ということも考えられるだろう。しかし,それは現状を考えるとかなり難しい。学習指導要領ではそこまで期待していないようだし,共通テストの問題もそうだ。
もし,実際に教材化するなら,次のようになるだろう。
まず,テキストにあるプログラムを,空所を正しく補充して書かせる。
出来上がったらどうするか。実際に動かすために,スゴロクの画面を作ってコマを動かす(Cindyscriptなら簡単だがPythonでは・・・・),あるいは,進行表を表示する。サイコロの出た目は入力する。はじめは問題の通りの目にして,答え合わせをする。次に,二人または3人でサイコロを振ってゲームをして遊ぶ。
問題は,中日進学ナビ で入手した。
三重大の奥村さんが Pythonで書いたものを公開されている。出た目のところは,問題の表2を再現するためにイテレータを使っている。
また,高校教員の maehara さんが,Ruby で書いたものを公開されている。
ともに参考になるだろう。