文部科学省大学入学者選抜改革推進委託事業「情報学的アプローチによる「情報科」大学入学者選抜における評価手法の研究開発」
第3回シンポジウム「2025年度 高校教科「情報」入試を考える -思考力・判断力・表現力を評価する試験問題の作問方法- 」講演
コンピュータの仕組み
島根大学 鈴木貢先生
情報Iではアーキテクチャに特化した内容は扱われていない
我々のプロジェクトでは、「コンピュータの仕組み」と呼んでいますが、内容はハードウェアの仕組みと活用ということになります。情報Iの学習指導要領では、「コンピュータとプログラミング」ということになっていて、プログラミングとくっつけられていますが、ここではコンピュータや外部装置の仕組みや特徴、コンピュータでの情報の内部表現などに絞ってお話しします。
まず情報Iの学習指導要領でこの項目に関するところを抜き出したのがこちらです。「(3)コンピュータとプログラミング」の知識・技能について、学習指導要領の解説書には、コンピュータや外部装置の仕組みや構造を取り上げ、ハードウェアとソフトウェアの関係、オペレーティングシステムが入力装置・出力装置などのハードウェアを抽象化して扱うことやメモリンなどの資源や実行するプロセスを管理すること、CPUが機械語のプログラムをデータとして読みながら実行することなどを扱う等など、すごいことが書かれています。しかしよく見れば、実は、アーキテクチャのようなハードウェアに特化した話は詳しく扱っていないのです。
「コンピュータの仕組み」のルーブリック
こちらが、我々が作ったルーブリックです。レベル1-1が「コンピュータのハードウェア(本体及び周辺機器:以下省略)・ソフトウェアの機能に関する質問に答えられる」、レベル1-2が「コンピュータのハードウェア・ソフトウェアが動作する仕組みを説明できる」となっています。レベル2-1は「コンピュータのハードウェア・ソフトウェアの性質・特徴を説明できる」で、レベル2-2が「指示に従ってコンピュータのハードウェア・ソフトウェアを構成できる」としました。
さらにレベル3が「与えられた目的に従ってコンピュータのハードウェア・ソフトウェアを構成できる」、レベル4では「与えられた目的をより良く満たすコンピュータのハードウェア・ソフトウェアを構成できる」となっています。
ルーブリックは、レベル2とレベル3の間に境目があると言われますが、ここではレベル2-1と2-2の間に大きなギャップがあるように感じます。
<レベル1-1>コンピュータのハードウェア・ソフトウェアの機能に関する質問に答えられる
ここからは、ルーブリックの各レベルの詳しい説明と、作題例をお見せします。
まず、この中には教科書制作に関わっておられる方がいらっしゃると思いますが、お願いがあります。コンピュータのハードウェアを教えるためには、コンピュータの三大要素(CPU、メモリ、入出力)とか、五大要素(制御装置、演算装置、メモリ、入力、出力)ということが絶対に必要になってきます。高校の教科書では五大要素で教えられているようですが、大学の情報系で使うアーキテクチャの教科書は三大要素で抽象化しています。というのも、制御装置や演算装置は、いろいろなバリエーションが考えられるので、CPUという箱で抽象化するのが一番適切なのです。ですから、教科書を書かれる方は、ぜひこの辺りに注意していただきたいと思います。
もう一つ、先ほど学習指導要領の解説にも「オペレーティングシステム」とありましたが、現行の教科書には、これを「基本ソフトウェア」と書いているものがあります。これも、ちょっと勘弁していただきたいです。試験問題を出す時に、「オペレーティングシステム(基本ソフトウェア)」とは書きたくありません。学習指導要領でもオペレーティングシステムっていう用語を使っているのですから、ぜひそれに従っていただきたい。
こちらが具体的な問題になります。コンピュータの三大要素のうち、プログラムを格納しているのはどれかというもので、Cが入出力だということを図から読み取れれば、間に挟まっているのがCPUで、Aはメモリだということがわかります。そこにバイナリデータでプログラムも入っている、という問題です。さらにそこからプログラムを呼び出して実行するものは?といえば答えはBでプロセッサ/CPU。これらは明らかに知識問題で、思考力・判断力・表現力の問題ではないですね。
<レベル1-2>コンピュータのハードウェア・ソフトウェアが動作する仕組みを説明できる
しかし一方で、大学に入るまでにこのくらいは知っておいてもらいたいということがあります。つまりCPUの基本動作やメモリの動き、入出力の基本動作、あるいはコンピュータの中で演算がどういうふうに行われるかということがわかっていないと、大学の情報学の話ができないわけです。
こちらの問題は2進数の表現範囲を例から推論できるか、あるいは、符号付の2進数というのはどんなものかを考える、というものです。教科書で教えられていないものを、ここにあるような説明を読んで、それを使って具体的に値を求められるかということで、思考力・判断力・表現力の問題になります。
Q6は、浮動小数点を簡略化したものです。Q7はアーキテクチャの問題ですが、いわゆるフェッチ、デコード、エグゼキュートというものを知っていなくても、ここに書かれたア~ウの問題文を読めば、そのつながりから推察することができますが国語の問題だと一蹴しないでください。
<レベル2-1>コンピュータのハードウェア・ソフトウェアの性質・特徴を説明できる
Q8は、ある温度センサーの機能を読んで、どのような範囲の計測が可能か、ということを問う問題です。これは使っている用語が難しいですが、Q5で2の補数表示の値の最大値と最小値を求められれば解ける問題です。Q9はそれぞれのビット数での最大値を求められれば解けます。
<レベル2-2>指示に従ってコンピュータのハードウェア・ソフトウェアを構成できる
<レベル3>与えられた目的に従ってコンピュータのハードウェア・ソフトウェアを構成できる
レベル2-2のQ10はメモリの容量と速度と値段があって、あって、性能を決める条件が示されていたら、最も安価に構成するためには何をどのように使えばよいか、ということを考える問題です。
そして、レベル3のQ11や12になると「与えられた目的に従って」ですから、条件付きの中で性能の向上を目指すことになります。
<レベル4>与えられた目的をより良く満たすコンピュータのハードウェア・ソフトウェアを構成できる
レベル4になると、先ほどのフェッチ、デコード、エグゼキュートを踏まえた上で、複数の処理を同時に実施する処理列を図示する、というものです。これは、いわゆるパイプライン構成の処理プロセスを構成すれば3倍速くなるというのを思い付けるかがポイントになります。これは大学入試のレベルを超えて、大学院クラスの問題です。
ただ、今まで提示してきた問題は、知識があれば、つまり知っていれば解けてしまうもので、よく勉強している学生は、「これはパイプラインだ!」と気付けるはずなのですね。大学レベルの数学を高校生時代に勉強してきた学生が、その知識を基に入試問題を解いてしまうというのと同じではないかと思います。ハードウェアのところで入試問題として出題できるものというのはなかなか難しいものがありますが、こんなものもあるというアイデアをいただけると幸いです。